From 5f7a88bf737a812405e20c60941e3e851d7fdd9c Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Mon, 31 Aug 2026 16:32:39 +0100 Subject: [PATCH 1/7] chore(ui): delete 11 unreferenced generated UI modules --- BlocksScreen/lib/ui/connectionWindow.ui | 1037 ------- BlocksScreen/lib/ui/customKeyboard.ui | 1683 ----------- BlocksScreen/lib/ui/customKeyboard_ui.py | 816 ----- BlocksScreen/lib/ui/customNumpad.ui | 793 ----- BlocksScreen/lib/ui/customNumpad_ui.py | 472 --- BlocksScreen/lib/ui/fansPage.ui | 204 -- BlocksScreen/lib/ui/fansPage_ui.py | 87 - BlocksScreen/lib/ui/filamentSensorsPage.ui | 177 -- BlocksScreen/lib/ui/filamentSensorsPage_ui.py | 89 - BlocksScreen/lib/ui/filamentStackedWidget.ui | 1591 ---------- .../lib/ui/filamentStackedWidget_ui.py | 638 ---- BlocksScreen/lib/ui/mainWindow_v2.ui | 981 ------ BlocksScreen/lib/ui/mainWindow_v2_ui.py | 360 --- BlocksScreen/lib/ui/option_card.ui | 126 - BlocksScreen/lib/ui/option_card_ui.py | 62 - BlocksScreen/lib/ui/printStackedWidget.ui | 2671 ----------------- BlocksScreen/lib/ui/printStackedWidget_ui.py | 1074 ------- BlocksScreen/lib/ui/probeHelperPage.ui | 811 ----- BlocksScreen/lib/ui/probeHelperPage_ui.py | 290 -- BlocksScreen/lib/ui/systemUpdate.ui | 105 - BlocksScreen/lib/ui/systemUpdate_ui.py | 49 - BlocksScreen/lib/ui/waitConfirmWindow.ui | 629 ---- BlocksScreen/lib/ui/waitConfirmWindow_ui.py | 257 -- 23 files changed, 15002 deletions(-) delete mode 100644 BlocksScreen/lib/ui/connectionWindow.ui delete mode 100644 BlocksScreen/lib/ui/customKeyboard.ui delete mode 100644 BlocksScreen/lib/ui/customKeyboard_ui.py delete mode 100644 BlocksScreen/lib/ui/customNumpad.ui delete mode 100644 BlocksScreen/lib/ui/customNumpad_ui.py delete mode 100644 BlocksScreen/lib/ui/fansPage.ui delete mode 100644 BlocksScreen/lib/ui/fansPage_ui.py delete mode 100644 BlocksScreen/lib/ui/filamentSensorsPage.ui delete mode 100644 BlocksScreen/lib/ui/filamentSensorsPage_ui.py delete mode 100644 BlocksScreen/lib/ui/filamentStackedWidget.ui delete mode 100644 BlocksScreen/lib/ui/filamentStackedWidget_ui.py delete mode 100644 BlocksScreen/lib/ui/mainWindow_v2.ui delete mode 100644 BlocksScreen/lib/ui/mainWindow_v2_ui.py delete mode 100644 BlocksScreen/lib/ui/option_card.ui delete mode 100644 BlocksScreen/lib/ui/option_card_ui.py delete mode 100644 BlocksScreen/lib/ui/printStackedWidget.ui delete mode 100644 BlocksScreen/lib/ui/printStackedWidget_ui.py delete mode 100644 BlocksScreen/lib/ui/probeHelperPage.ui delete mode 100644 BlocksScreen/lib/ui/probeHelperPage_ui.py delete mode 100644 BlocksScreen/lib/ui/systemUpdate.ui delete mode 100644 BlocksScreen/lib/ui/systemUpdate_ui.py delete mode 100644 BlocksScreen/lib/ui/waitConfirmWindow.ui delete mode 100644 BlocksScreen/lib/ui/waitConfirmWindow_ui.py diff --git a/BlocksScreen/lib/ui/connectionWindow.ui b/BlocksScreen/lib/ui/connectionWindow.ui deleted file mode 100644 index e495a380..00000000 --- a/BlocksScreen/lib/ui/connectionWindow.ui +++ /dev/null @@ -1,1037 +0,0 @@ - - - ConnectivityForm - - - Qt::WindowModal - - - - 0 - 0 - 800 - 480 - - - - - 0 - 0 - - - - - 800 - 480 - - - - - 800 - 480 - - - - Form - - - 1.000000000000000 - - - false - - - #ConnectivityForm{ -background-image: url(:/background/media/1st_background.png); -} - - - - - - - - 10 - 380 - 780 - 124 - - - - - 0 - 0 - - - - - 780 - 124 - - - - - 780 - 150 - - - - - 800 - 80 - - - - - - - - - - - - PreferAntialias - - - - true - - - false - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - 0 - - - - 0 - - - 0 - - - 5 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 160 - 80 - - - - - - - - - 66 - 66 - 66 - - - - - - - 66 - 66 - 66 - - - - - - - 66 - 66 - 66 - - - - - - - - - 66 - 66 - 66 - - - - - - - 66 - 66 - 66 - - - - - - - 66 - 66 - 66 - - - - - - - - - 66 - 66 - 66 - - - - - - - 66 - 66 - 66 - - - - - - - 66 - 66 - 66 - - - - - - - - - false - PreferAntialias - false - - - - BlankCursor - - - true - - - Qt::NoFocus - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - false - - - - - - Restart Klipper - - - - :/system_icons/media/btn_icons/restart_klipper.svg - - - - - 46 - 42 - - - - false - - - false - - - false - - - 0 - - - 0 - - - false - - - true - - - :/system/media/btn_icons/restart_klipper.svg - - - true - - - bottom - - - - 255 - 255 - 255 - - - - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 80 - 80 - - - - BlankCursor - - - true - - - Qt::NoFocus - - - Qt::NoContextMenu - - - false - - - Reboot - - - - :/system_icons/media/btn_icons/firmware_restart.svg:/system_icons/media/btn_icons/firmware_restart.svg - - - false - - - false - - - true - - - :/system/media/btn_icons/reboot.svg - - - bottom - - - - 255 - 255 - 255 - - - - true - - - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 160 - 80 - - - - BlankCursor - - - true - - - Qt::NoFocus - - - Qt::NoContextMenu - - - false - - - Firmware Restart - - - - :/system_icons/media/btn_icons/firmware_restart.svg:/system_icons/media/btn_icons/firmware_restart.svg - - - false - - - false - - - true - - - :/system/media/btn_icons/restart_firmware.svg - - - true - - - bottom - - - - 255 - 255 - 255 - - - - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 80 - 80 - - - - - - - - - - - - 13 - - - - true - - - Qt::ClickFocus - - - false - - - - - - Retry - - - - :/system_icons/media/btn_icons/retry_connection.svg:/system_icons/media/btn_icons/retry_connection.svg - - - - 16 - 16 - - - - false - - - 0 - - - 0 - - - false - - - false - - - true - - - bottom - - - :/system/media/btn_icons/restart_printer.svg - - - - 255 - 255 - 255 - - - - true - - - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 80 - 80 - - - - - - - - - - - - 8 - - - - true - - - Qt::ClickFocus - - - false - - - - - - Notifications - - - - :/system_icons/media/btn_icons/retry_connection.svg:/system_icons/media/btn_icons/retry_connection.svg - - - - 16 - 16 - - - - false - - - 0 - - - 0 - - - false - - - false - - - true - - - bottom - - - :/ui/media/btn_icons/notification.svg - - - - 255 - 255 - 255 - - - - true - - - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 80 - 80 - - - - BlankCursor - - - true - - - Qt::NoFocus - - - Qt::NoContextMenu - - - false - - - Update page - - - - :/system_icons/media/btn_icons/firmware_restart.svg:/system_icons/media/btn_icons/firmware_restart.svg - - - false - - - false - - - true - - - :/system/media/btn_icons/update-software-icon.svg - - - bottom - - - - 255 - 255 - 255 - - - - true - - - - - - - - 0 - 0 - - - - - 100 - 80 - - - - - 100 - 80 - - - - - 80 - 80 - - - - true - - - Qt::NoFocus - - - Qt::NoContextMenu - - - false - - - Wifi Settings - - - - :/system_icons/media/btn_icons/retry_connection.svg:/system_icons/media/btn_icons/retry_connection.svg - - - false - - - false - - - true - - - system_control_btn - - - :/network/media/btn_icons/wifi_config.svg - - - true - - - bottom - - - - - - - - - 0 - 0 - 800 - 380 - - - - - 0 - 0 - - - - - 800 - 380 - - - - - 800 - 380 - - - - false - - - - - - QFrame::NoFrame - - - QFrame::Raised - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 775 - 70 - - - - - - - - - 0 - 0 - - - - - 800 - 380 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - Momcake - 17 - 75 - false - true - - - - color:white - - - - - - Qt::AutoText - - - false - - - Qt::AlignCenter - - - true - - - Qt::NoTextInteraction - - - - - - - - - IconButton - QPushButton -
lib.utils.icon_button
-
- - BlocksCustomFrame - QFrame -
lib.utils.blocks_frame
- 1 -
-
- - - - - - - -
diff --git a/BlocksScreen/lib/ui/customKeyboard.ui b/BlocksScreen/lib/ui/customKeyboard.ui deleted file mode 100644 index b75a0a92..00000000 --- a/BlocksScreen/lib/ui/customKeyboard.ui +++ /dev/null @@ -1,1683 +0,0 @@ - - - customNumpad - - - true - - - - 0 - 0 - 800 - 480 - - - - - 0 - 0 - - - - - 800 - 480 - - - - ArrowCursor - - - Form - - - Qt::LeftToRight - - - - - 10 - 150 - 781 - 52 - - - - - QLayout::SetMinimumSize - - - 2 - - - 5 - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - P - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - I - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - Y - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - T - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - R - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - O - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - U - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - W - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - E - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - Q - - - true - - - left - - - - - - - - - 50 - 220 - 701 - 52 - - - - - 64 - 0 - - - - - 2 - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - A - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - S - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - D - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - F - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - G - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - H - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - J - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - K - - - true - - - left - - - - - - - - 0 - 0 - - - - - 64 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - L - - - true - - - left - - - - - - - - - 100 - 290 - 591 - 52 - - - - - 2 - - - QLayout::SetMinimumSize - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 60 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - Z - - - true - - - left - - - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - X - - - true - - - left - - - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - C - - - true - - - left - - - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - V - - - true - - - left - - - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - B - - - true - - - left - - - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - N - - - true - - - left - - - - - - - - 0 - 0 - - - - - 55 - 50 - - - - - 16777215 - 50 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - M - - - true - - - left - - - - - - - - - 120 - 362 - 551 - 60 - - - - - 0 - 0 - - - - - 0 - 60 - - - - - 16777215 - 60 - - - - Spacing - - - - - - 680 - 350 - 93 - 60 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - ⏎ - - - false - - - - - - 700 - 280 - 81 - 51 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - ⌫ - - - - - - 20 - 350 - 93 - 60 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - 123 - - - true - - - - - - 10 - 280 - 81 - 51 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - ⇧ - - - true - - - - - true - - - - 720 - 20 - 60 - 60 - - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - - - - 16 - 16 - - - - false - - - false - - - true - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - 10 - 90 - 781 - 48 - - - - - - - - 500 - 0 - - - - - 16777215 - 50 - - - - - Modern - 18 - - - - false - - - color: white; - - - - QFrame::NoFrame - - - QFrame::Sunken - - - 0 - - - - - - false - - - Qt::AlignBottom|Qt::AlignHCenter - - - 0 - - - Qt::LinksAccessibleByMouse - - - - - - - Qt::Horizontal - - - - - - - - - IconButton - QPushButton -
lib.utils.icon_button
-
- - NumpadButton - QPushButton -
lib.utils.numpad_button
-
-
- - - - - -
diff --git a/BlocksScreen/lib/ui/customKeyboard_ui.py b/BlocksScreen/lib/ui/customKeyboard_ui.py deleted file mode 100644 index 55db21ee..00000000 --- a/BlocksScreen/lib/ui/customKeyboard_ui.py +++ /dev/null @@ -1,816 +0,0 @@ -# Form implementation generated from reading ui file '/home/levi/main/Blocks_Screen/BlocksScreen/lib/ui/customKeyboard.ui' -# -# Created by: PyQt6 UI code generator 6.7.1 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_customNumpad(object): - def setupUi(self, customNumpad): - customNumpad.setObjectName("customNumpad") - customNumpad.setEnabled(True) - customNumpad.resize(800, 480) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(customNumpad.sizePolicy().hasHeightForWidth()) - customNumpad.setSizePolicy(sizePolicy) - customNumpad.setMaximumSize(QtCore.QSize(800, 480)) - customNumpad.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.ArrowCursor)) - customNumpad.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.layoutWidget_2 = QtWidgets.QWidget(parent=customNumpad) - self.layoutWidget_2.setGeometry(QtCore.QRect(10, 150, 781, 52)) - self.layoutWidget_2.setObjectName("layoutWidget_2") - self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget_2) - self.gridLayout_2.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetMinimumSize) - self.gridLayout_2.setContentsMargins(0, 0, 0, 0) - self.gridLayout_2.setHorizontalSpacing(2) - self.gridLayout_2.setVerticalSpacing(5) - self.gridLayout_2.setObjectName("gridLayout_2") - self.K_p = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_p.sizePolicy().hasHeightForWidth()) - self.K_p.setSizePolicy(sizePolicy) - self.K_p.setMinimumSize(QtCore.QSize(64, 50)) - self.K_p.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_p.setFont(font) - self.K_p.setTabletTracking(False) - self.K_p.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_p.setFlat(True) - self.K_p.setObjectName("K_p") - self.gridLayout_2.addWidget(self.K_p, 0, 9, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_i = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_i.sizePolicy().hasHeightForWidth()) - self.K_i.setSizePolicy(sizePolicy) - self.K_i.setMinimumSize(QtCore.QSize(64, 50)) - self.K_i.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_i.setFont(font) - self.K_i.setTabletTracking(False) - self.K_i.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_i.setFlat(True) - self.K_i.setObjectName("K_i") - self.gridLayout_2.addWidget(self.K_i, 0, 7, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_y = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_y.sizePolicy().hasHeightForWidth()) - self.K_y.setSizePolicy(sizePolicy) - self.K_y.setMinimumSize(QtCore.QSize(64, 50)) - self.K_y.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_y.setFont(font) - self.K_y.setTabletTracking(False) - self.K_y.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_y.setFlat(True) - self.K_y.setObjectName("K_y") - self.gridLayout_2.addWidget(self.K_y, 0, 5, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_t = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_t.sizePolicy().hasHeightForWidth()) - self.K_t.setSizePolicy(sizePolicy) - self.K_t.setMinimumSize(QtCore.QSize(64, 50)) - self.K_t.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_t.setFont(font) - self.K_t.setTabletTracking(False) - self.K_t.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_t.setFlat(True) - self.K_t.setObjectName("K_t") - self.gridLayout_2.addWidget(self.K_t, 0, 4, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_r = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_r.sizePolicy().hasHeightForWidth()) - self.K_r.setSizePolicy(sizePolicy) - self.K_r.setMinimumSize(QtCore.QSize(64, 50)) - self.K_r.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_r.setFont(font) - self.K_r.setTabletTracking(False) - self.K_r.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_r.setFlat(True) - self.K_r.setObjectName("K_r") - self.gridLayout_2.addWidget(self.K_r, 0, 3, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_o = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_o.sizePolicy().hasHeightForWidth()) - self.K_o.setSizePolicy(sizePolicy) - self.K_o.setMinimumSize(QtCore.QSize(64, 50)) - self.K_o.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_o.setFont(font) - self.K_o.setTabletTracking(False) - self.K_o.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_o.setFlat(True) - self.K_o.setObjectName("K_o") - self.gridLayout_2.addWidget(self.K_o, 0, 8, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_u = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_u.sizePolicy().hasHeightForWidth()) - self.K_u.setSizePolicy(sizePolicy) - self.K_u.setMinimumSize(QtCore.QSize(64, 50)) - self.K_u.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_u.setFont(font) - self.K_u.setTabletTracking(False) - self.K_u.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_u.setFlat(True) - self.K_u.setObjectName("K_u") - self.gridLayout_2.addWidget(self.K_u, 0, 6, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_w = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_w.sizePolicy().hasHeightForWidth()) - self.K_w.setSizePolicy(sizePolicy) - self.K_w.setMinimumSize(QtCore.QSize(64, 50)) - self.K_w.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_w.setFont(font) - self.K_w.setTabletTracking(False) - self.K_w.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_w.setFlat(True) - self.K_w.setObjectName("K_w") - self.gridLayout_2.addWidget(self.K_w, 0, 1, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.K_e = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_e.sizePolicy().hasHeightForWidth()) - self.K_e.setSizePolicy(sizePolicy) - self.K_e.setMinimumSize(QtCore.QSize(64, 50)) - self.K_e.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_e.setFont(font) - self.K_e.setTabletTracking(False) - self.K_e.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_e.setFlat(True) - self.K_e.setObjectName("K_e") - self.gridLayout_2.addWidget(self.K_e, 0, 2, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.K_q = NumpadButton(parent=self.layoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_q.sizePolicy().hasHeightForWidth()) - self.K_q.setSizePolicy(sizePolicy) - self.K_q.setMinimumSize(QtCore.QSize(64, 50)) - self.K_q.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_q.setFont(font) - self.K_q.setTabletTracking(False) - self.K_q.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_q.setFlat(True) - self.K_q.setObjectName("K_q") - self.gridLayout_2.addWidget(self.K_q, 0, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.layoutWidget = QtWidgets.QWidget(parent=customNumpad) - self.layoutWidget.setGeometry(QtCore.QRect(50, 220, 701, 52)) - self.layoutWidget.setMinimumSize(QtCore.QSize(64, 0)) - self.layoutWidget.setObjectName("layoutWidget") - self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget) - self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout_2.setSpacing(2) - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.K_a = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_a.sizePolicy().hasHeightForWidth()) - self.K_a.setSizePolicy(sizePolicy) - self.K_a.setMinimumSize(QtCore.QSize(64, 50)) - self.K_a.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_a.setFont(font) - self.K_a.setTabletTracking(False) - self.K_a.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_a.setFlat(True) - self.K_a.setObjectName("K_a") - self.horizontalLayout_2.addWidget(self.K_a) - self.K_s = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_s.sizePolicy().hasHeightForWidth()) - self.K_s.setSizePolicy(sizePolicy) - self.K_s.setMinimumSize(QtCore.QSize(64, 50)) - self.K_s.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_s.setFont(font) - self.K_s.setTabletTracking(False) - self.K_s.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_s.setFlat(True) - self.K_s.setObjectName("K_s") - self.horizontalLayout_2.addWidget(self.K_s) - self.K_d = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_d.sizePolicy().hasHeightForWidth()) - self.K_d.setSizePolicy(sizePolicy) - self.K_d.setMinimumSize(QtCore.QSize(64, 50)) - self.K_d.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_d.setFont(font) - self.K_d.setTabletTracking(False) - self.K_d.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_d.setFlat(True) - self.K_d.setObjectName("K_d") - self.horizontalLayout_2.addWidget(self.K_d) - self.K_f = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_f.sizePolicy().hasHeightForWidth()) - self.K_f.setSizePolicy(sizePolicy) - self.K_f.setMinimumSize(QtCore.QSize(64, 50)) - self.K_f.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_f.setFont(font) - self.K_f.setTabletTracking(False) - self.K_f.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_f.setFlat(True) - self.K_f.setObjectName("K_f") - self.horizontalLayout_2.addWidget(self.K_f) - self.K_g = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_g.sizePolicy().hasHeightForWidth()) - self.K_g.setSizePolicy(sizePolicy) - self.K_g.setMinimumSize(QtCore.QSize(64, 50)) - self.K_g.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_g.setFont(font) - self.K_g.setTabletTracking(False) - self.K_g.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_g.setFlat(True) - self.K_g.setObjectName("K_g") - self.horizontalLayout_2.addWidget(self.K_g) - self.K_h = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_h.sizePolicy().hasHeightForWidth()) - self.K_h.setSizePolicy(sizePolicy) - self.K_h.setMinimumSize(QtCore.QSize(64, 50)) - self.K_h.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_h.setFont(font) - self.K_h.setTabletTracking(False) - self.K_h.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_h.setFlat(True) - self.K_h.setObjectName("K_h") - self.horizontalLayout_2.addWidget(self.K_h) - self.K_j = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_j.sizePolicy().hasHeightForWidth()) - self.K_j.setSizePolicy(sizePolicy) - self.K_j.setMinimumSize(QtCore.QSize(64, 50)) - self.K_j.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_j.setFont(font) - self.K_j.setTabletTracking(False) - self.K_j.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_j.setFlat(True) - self.K_j.setObjectName("K_j") - self.horizontalLayout_2.addWidget(self.K_j) - self.K_k = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_k.sizePolicy().hasHeightForWidth()) - self.K_k.setSizePolicy(sizePolicy) - self.K_k.setMinimumSize(QtCore.QSize(64, 50)) - self.K_k.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_k.setFont(font) - self.K_k.setTabletTracking(False) - self.K_k.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_k.setFlat(True) - self.K_k.setObjectName("K_k") - self.horizontalLayout_2.addWidget(self.K_k) - self.K_l = NumpadButton(parent=self.layoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_l.sizePolicy().hasHeightForWidth()) - self.K_l.setSizePolicy(sizePolicy) - self.K_l.setMinimumSize(QtCore.QSize(64, 50)) - self.K_l.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_l.setFont(font) - self.K_l.setTabletTracking(False) - self.K_l.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_l.setFlat(True) - self.K_l.setObjectName("K_l") - self.horizontalLayout_2.addWidget(self.K_l) - self.layoutWidget_3 = QtWidgets.QWidget(parent=customNumpad) - self.layoutWidget_3.setGeometry(QtCore.QRect(100, 290, 591, 52)) - self.layoutWidget_3.setObjectName("layoutWidget_3") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget_3) - self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetMinimumSize) - self.horizontalLayout.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout.setSpacing(2) - self.horizontalLayout.setObjectName("horizontalLayout") - self.K_z = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_z.sizePolicy().hasHeightForWidth()) - self.K_z.setSizePolicy(sizePolicy) - self.K_z.setMinimumSize(QtCore.QSize(55, 50)) - self.K_z.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_z.setFont(font) - self.K_z.setTabletTracking(False) - self.K_z.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_z.setFlat(True) - self.K_z.setObjectName("K_z") - self.horizontalLayout.addWidget(self.K_z) - self.K_x = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_x.sizePolicy().hasHeightForWidth()) - self.K_x.setSizePolicy(sizePolicy) - self.K_x.setMinimumSize(QtCore.QSize(55, 50)) - self.K_x.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_x.setFont(font) - self.K_x.setTabletTracking(False) - self.K_x.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_x.setFlat(True) - self.K_x.setObjectName("K_x") - self.horizontalLayout.addWidget(self.K_x) - self.K_c = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_c.sizePolicy().hasHeightForWidth()) - self.K_c.setSizePolicy(sizePolicy) - self.K_c.setMinimumSize(QtCore.QSize(55, 50)) - self.K_c.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_c.setFont(font) - self.K_c.setTabletTracking(False) - self.K_c.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_c.setFlat(True) - self.K_c.setObjectName("K_c") - self.horizontalLayout.addWidget(self.K_c) - self.K_v = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_v.sizePolicy().hasHeightForWidth()) - self.K_v.setSizePolicy(sizePolicy) - self.K_v.setMinimumSize(QtCore.QSize(55, 50)) - self.K_v.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_v.setFont(font) - self.K_v.setTabletTracking(False) - self.K_v.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_v.setFlat(True) - self.K_v.setObjectName("K_v") - self.horizontalLayout.addWidget(self.K_v) - self.K_b = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_b.sizePolicy().hasHeightForWidth()) - self.K_b.setSizePolicy(sizePolicy) - self.K_b.setMinimumSize(QtCore.QSize(55, 50)) - self.K_b.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_b.setFont(font) - self.K_b.setTabletTracking(False) - self.K_b.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_b.setFlat(True) - self.K_b.setObjectName("K_b") - self.horizontalLayout.addWidget(self.K_b) - self.K_n = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_n.sizePolicy().hasHeightForWidth()) - self.K_n.setSizePolicy(sizePolicy) - self.K_n.setMinimumSize(QtCore.QSize(55, 50)) - self.K_n.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_n.setFont(font) - self.K_n.setTabletTracking(False) - self.K_n.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_n.setFlat(True) - self.K_n.setObjectName("K_n") - self.horizontalLayout.addWidget(self.K_n) - self.K_m = NumpadButton(parent=self.layoutWidget_3) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_m.sizePolicy().hasHeightForWidth()) - self.K_m.setSizePolicy(sizePolicy) - self.K_m.setMinimumSize(QtCore.QSize(55, 50)) - self.K_m.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.K_m.setFont(font) - self.K_m.setTabletTracking(False) - self.K_m.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.K_m.setFlat(True) - self.K_m.setObjectName("K_m") - self.horizontalLayout.addWidget(self.K_m) - self.K_space = QtWidgets.QPushButton(parent=customNumpad) - self.K_space.setGeometry(QtCore.QRect(120, 362, 551, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_space.sizePolicy().hasHeightForWidth()) - self.K_space.setSizePolicy(sizePolicy) - self.K_space.setMinimumSize(QtCore.QSize(0, 60)) - self.K_space.setMaximumSize(QtCore.QSize(16777215, 60)) - self.K_space.setObjectName("K_space") - self.k_Enter = QtWidgets.QPushButton(parent=customNumpad) - self.k_Enter.setGeometry(QtCore.QRect(680, 350, 93, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.k_Enter.sizePolicy().hasHeightForWidth()) - self.k_Enter.setSizePolicy(sizePolicy) - self.k_Enter.setMinimumSize(QtCore.QSize(0, 0)) - self.k_Enter.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.k_Enter.setAutoRepeat(False) - self.k_Enter.setObjectName("k_Enter") - self.k_delete = QtWidgets.QPushButton(parent=customNumpad) - self.k_delete.setGeometry(QtCore.QRect(700, 280, 81, 51)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.k_delete.sizePolicy().hasHeightForWidth()) - self.k_delete.setSizePolicy(sizePolicy) - self.k_delete.setMinimumSize(QtCore.QSize(0, 0)) - self.k_delete.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.k_delete.setObjectName("k_delete") - self.K_keychange = QtWidgets.QPushButton(parent=customNumpad) - self.K_keychange.setGeometry(QtCore.QRect(20, 350, 93, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_keychange.sizePolicy().hasHeightForWidth()) - self.K_keychange.setSizePolicy(sizePolicy) - self.K_keychange.setMinimumSize(QtCore.QSize(0, 0)) - self.K_keychange.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.K_keychange.setCheckable(True) - self.K_keychange.setObjectName("K_keychange") - self.K_shift = QtWidgets.QPushButton(parent=customNumpad) - self.K_shift.setGeometry(QtCore.QRect(10, 280, 81, 51)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.K_shift.sizePolicy().hasHeightForWidth()) - self.K_shift.setSizePolicy(sizePolicy) - self.K_shift.setMinimumSize(QtCore.QSize(0, 0)) - self.K_shift.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.K_shift.setCheckable(True) - self.K_shift.setObjectName("K_shift") - self.numpad_back_btn = IconButton(parent=customNumpad) - self.numpad_back_btn.setEnabled(True) - self.numpad_back_btn.setGeometry(QtCore.QRect(720, 20, 60, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.numpad_back_btn.sizePolicy().hasHeightForWidth()) - self.numpad_back_btn.setSizePolicy(sizePolicy) - self.numpad_back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.numpad_back_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.numpad_back_btn.setStyleSheet("") - self.numpad_back_btn.setText("") - self.numpad_back_btn.setIconSize(QtCore.QSize(16, 16)) - self.numpad_back_btn.setCheckable(False) - self.numpad_back_btn.setChecked(False) - self.numpad_back_btn.setFlat(True) - self.numpad_back_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.numpad_back_btn.setObjectName("numpad_back_btn") - self.layoutWidget1 = QtWidgets.QWidget(parent=customNumpad) - self.layoutWidget1.setGeometry(QtCore.QRect(10, 90, 781, 48)) - self.layoutWidget1.setObjectName("layoutWidget1") - self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget1) - self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.inserted_value = QtWidgets.QLabel(parent=self.layoutWidget1) - self.inserted_value.setMinimumSize(QtCore.QSize(500, 0)) - self.inserted_value.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(18) - self.inserted_value.setFont(font) - self.inserted_value.setAutoFillBackground(False) - self.inserted_value.setStyleSheet("color: white;\n" -" ") - self.inserted_value.setFrameShape(QtWidgets.QFrame.Shape.NoFrame) - self.inserted_value.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.inserted_value.setLineWidth(0) - self.inserted_value.setText("") - self.inserted_value.setScaledContents(False) - self.inserted_value.setAlignment(QtCore.Qt.AlignmentFlag.AlignBottom|QtCore.Qt.AlignmentFlag.AlignHCenter) - self.inserted_value.setIndent(0) - self.inserted_value.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse) - self.inserted_value.setObjectName("inserted_value") - self.verticalLayout_2.addWidget(self.inserted_value) - self.line = QtWidgets.QFrame(parent=self.layoutWidget1) - self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line.setObjectName("line") - self.verticalLayout_2.addWidget(self.line) - - self.retranslateUi(customNumpad) - QtCore.QMetaObject.connectSlotsByName(customNumpad) - - def retranslateUi(self, customNumpad): - _translate = QtCore.QCoreApplication.translate - customNumpad.setWindowTitle(_translate("customNumpad", "Form")) - self.K_p.setText(_translate("customNumpad", "P")) - self.K_p.setProperty("position", _translate("customNumpad", "left")) - self.K_i.setText(_translate("customNumpad", "I")) - self.K_i.setProperty("position", _translate("customNumpad", "left")) - self.K_y.setText(_translate("customNumpad", "Y")) - self.K_y.setProperty("position", _translate("customNumpad", "left")) - self.K_t.setText(_translate("customNumpad", "T")) - self.K_t.setProperty("position", _translate("customNumpad", "left")) - self.K_r.setText(_translate("customNumpad", "R")) - self.K_r.setProperty("position", _translate("customNumpad", "left")) - self.K_o.setText(_translate("customNumpad", "O")) - self.K_o.setProperty("position", _translate("customNumpad", "left")) - self.K_u.setText(_translate("customNumpad", "U")) - self.K_u.setProperty("position", _translate("customNumpad", "left")) - self.K_w.setText(_translate("customNumpad", "W")) - self.K_w.setProperty("position", _translate("customNumpad", "left")) - self.K_e.setText(_translate("customNumpad", "E")) - self.K_e.setProperty("position", _translate("customNumpad", "left")) - self.K_q.setText(_translate("customNumpad", "Q")) - self.K_q.setProperty("position", _translate("customNumpad", "left")) - self.K_a.setText(_translate("customNumpad", "A")) - self.K_a.setProperty("position", _translate("customNumpad", "left")) - self.K_s.setText(_translate("customNumpad", "S")) - self.K_s.setProperty("position", _translate("customNumpad", "left")) - self.K_d.setText(_translate("customNumpad", "D")) - self.K_d.setProperty("position", _translate("customNumpad", "left")) - self.K_f.setText(_translate("customNumpad", "F")) - self.K_f.setProperty("position", _translate("customNumpad", "left")) - self.K_g.setText(_translate("customNumpad", "G")) - self.K_g.setProperty("position", _translate("customNumpad", "left")) - self.K_h.setText(_translate("customNumpad", "H")) - self.K_h.setProperty("position", _translate("customNumpad", "left")) - self.K_j.setText(_translate("customNumpad", "J")) - self.K_j.setProperty("position", _translate("customNumpad", "left")) - self.K_k.setText(_translate("customNumpad", "K")) - self.K_k.setProperty("position", _translate("customNumpad", "left")) - self.K_l.setText(_translate("customNumpad", "L")) - self.K_l.setProperty("position", _translate("customNumpad", "left")) - self.K_z.setText(_translate("customNumpad", "Z")) - self.K_z.setProperty("position", _translate("customNumpad", "left")) - self.K_x.setText(_translate("customNumpad", "X")) - self.K_x.setProperty("position", _translate("customNumpad", "left")) - self.K_c.setText(_translate("customNumpad", "C")) - self.K_c.setProperty("position", _translate("customNumpad", "left")) - self.K_v.setText(_translate("customNumpad", "V")) - self.K_v.setProperty("position", _translate("customNumpad", "left")) - self.K_b.setText(_translate("customNumpad", "B")) - self.K_b.setProperty("position", _translate("customNumpad", "left")) - self.K_n.setText(_translate("customNumpad", "N")) - self.K_n.setProperty("position", _translate("customNumpad", "left")) - self.K_m.setText(_translate("customNumpad", "M")) - self.K_m.setProperty("position", _translate("customNumpad", "left")) - self.K_space.setText(_translate("customNumpad", "Spacing")) - self.k_Enter.setText(_translate("customNumpad", "⏎")) - self.k_delete.setText(_translate("customNumpad", "⌫")) - self.K_keychange.setText(_translate("customNumpad", "123")) - self.K_shift.setText(_translate("customNumpad", "⇧")) - self.numpad_back_btn.setProperty("button_type", _translate("customNumpad", "icon")) -from lib.utils.icon_button import IconButton -from lib.utils.numpad_button import NumpadButton diff --git a/BlocksScreen/lib/ui/customNumpad.ui b/BlocksScreen/lib/ui/customNumpad.ui deleted file mode 100644 index 3d4e48b9..00000000 --- a/BlocksScreen/lib/ui/customNumpad.ui +++ /dev/null @@ -1,793 +0,0 @@ - - - customNumpad - - - true - - - - 0 - 0 - 710 - 410 - - - - - 0 - 0 - - - - Form - - - - - 9 - 9 - 691 - 62 - - - - - QLayout::SetMaximumSize - - - - - - 25 - - - - background: transparent; - color: white; - - - Target Temperature - - - Qt::AlignCenter - - - - - - - true - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - - - - 16 - 16 - - - - false - - - false - - - true - - - icon - - - - :/ui/media/btn_icons/back.svg - - - - - - - - - 9 - 72 - 691 - 61 - - - - - - - - 500 - 0 - - - - - 16777215 - 50 - - - - - Modern - 18 - - - - false - - - color: white; - - - - QFrame::NoFrame - - - QFrame::Sunken - - - 0 - - - TextLabel - - - false - - - Qt::AlignBottom|Qt::AlignHCenter - - - 0 - - - Qt::LinksAccessibleByMouse - - - - - - - Qt::Horizontal - - - - - - - - - 120 - 141 - 464 - 261 - - - - - QLayout::SetMaximumSize - - - 6 - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 6 - - - true - - - right - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::LeftToRight - - - 9 - - - true - - - right - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - 150 - 16777215 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 8 - - - true - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - 150 - 16777215 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 2 - - - true - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - 150 - 16777215 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 0 - - - true - - - down - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 3 - - - true - - - right - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 4 - - - true - - - left - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - 150 - 16777215 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 5 - - - true - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 1 - - - true - - - left - - - - - - - true - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - - - - 16 - 16 - - - - false - - - false - - - true - - - icon - - - - :/dialog/media/btn_icons/yes.svg - - - - - - - - 0 - 0 - - - - - 150 - 63 - - - - - Modern - 29 - 50 - false - false - false - false - PreferDefault - - - - false - - - Qt::RightToLeft - - - 7 - - - true - - - left - - - - - - - true - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - - - - 16 - 16 - - - - false - - - false - - - true - - - icon - - - - :/dialog/media/btn_icons/no.svg - - - - - - - - - IconButton - QPushButton -
lib.utils.icon_button
-
- - NumpadButton - QPushButton -
lib.utils.numpad_button
-
-
- - - - - - - - -
\ No newline at end of file diff --git a/BlocksScreen/lib/ui/customNumpad_ui.py b/BlocksScreen/lib/ui/customNumpad_ui.py deleted file mode 100644 index fb64444e..00000000 --- a/BlocksScreen/lib/ui/customNumpad_ui.py +++ /dev/null @@ -1,472 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/BlocksScreen/BlocksScreen/lib/ui/customNumpad.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_customNumpad(object): - def setupUi(self, customNumpad): - customNumpad.setObjectName("customNumpad") - customNumpad.setEnabled(True) - customNumpad.resize(710, 410) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Preferred, - QtWidgets.QSizePolicy.Policy.Preferred, - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(customNumpad.sizePolicy().hasHeightForWidth()) - customNumpad.setSizePolicy(sizePolicy) - self.layoutWidget = QtWidgets.QWidget(parent=customNumpad) - self.layoutWidget.setGeometry(QtCore.QRect(9, 9, 691, 62)) - self.layoutWidget.setObjectName("layoutWidget") - self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget) - self.gridLayout.setSizeConstraint( - QtWidgets.QLayout.SizeConstraint.SetMaximumSize - ) - self.gridLayout.setContentsMargins(0, 0, 0, 0) - self.gridLayout.setObjectName("gridLayout") - self.numpad_title = QtWidgets.QLabel(parent=self.layoutWidget) - font = QtGui.QFont() - font.setPointSize(25) - self.numpad_title.setFont(font) - self.numpad_title.setStyleSheet( - "background: transparent;\n" - " color: white;" - ) - self.numpad_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.numpad_title.setObjectName("numpad_title") - self.gridLayout.addWidget(self.numpad_title, 0, 0, 1, 1) - self.numpad_back_btn = IconButton(parent=self.layoutWidget) - self.numpad_back_btn.setEnabled(True) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.MinimumExpanding, - QtWidgets.QSizePolicy.Policy.MinimumExpanding, - ) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth( - self.numpad_back_btn.sizePolicy().hasHeightForWidth() - ) - self.numpad_back_btn.setSizePolicy(sizePolicy) - self.numpad_back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.numpad_back_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.numpad_back_btn.setStyleSheet("") - self.numpad_back_btn.setText("") - self.numpad_back_btn.setIconSize(QtCore.QSize(16, 16)) - self.numpad_back_btn.setCheckable(False) - self.numpad_back_btn.setChecked(False) - self.numpad_back_btn.setFlat(True) - self.numpad_back_btn.setProperty( - "icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg") - ) - self.numpad_back_btn.setObjectName("numpad_back_btn") - self.gridLayout.addWidget(self.numpad_back_btn, 0, 1, 1, 1) - self.gridLayout.setColumnStretch(0, 2) - self.layoutWidget1 = QtWidgets.QWidget(parent=customNumpad) - self.layoutWidget1.setGeometry(QtCore.QRect(9, 72, 691, 61)) - self.layoutWidget1.setObjectName("layoutWidget1") - self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget1) - self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.inserted_value = QtWidgets.QLabel(parent=self.layoutWidget1) - self.inserted_value.setMinimumSize(QtCore.QSize(500, 0)) - self.inserted_value.setMaximumSize(QtCore.QSize(16777215, 50)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(18) - self.inserted_value.setFont(font) - self.inserted_value.setAutoFillBackground(False) - self.inserted_value.setStyleSheet( - "color: white;\n " - ) - self.inserted_value.setFrameShape(QtWidgets.QFrame.Shape.NoFrame) - self.inserted_value.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.inserted_value.setLineWidth(0) - self.inserted_value.setScaledContents(False) - self.inserted_value.setAlignment( - QtCore.Qt.AlignmentFlag.AlignBottom | QtCore.Qt.AlignmentFlag.AlignHCenter - ) - self.inserted_value.setIndent(0) - self.inserted_value.setTextInteractionFlags( - QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse - ) - self.inserted_value.setObjectName("inserted_value") - self.verticalLayout_2.addWidget( - self.inserted_value, - 0, - QtCore.Qt.AlignmentFlag.AlignHCenter | QtCore.Qt.AlignmentFlag.AlignBottom, - ) - self.line = QtWidgets.QFrame(parent=self.layoutWidget1) - self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line.setObjectName("line") - self.verticalLayout_2.addWidget(self.line) - self.gridLayoutWidget = QtWidgets.QWidget(parent=customNumpad) - self.gridLayoutWidget.setGeometry(QtCore.QRect(120, 141, 464, 261)) - self.gridLayoutWidget.setObjectName("gridLayoutWidget") - self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget) - self.gridLayout_2.setSizeConstraint( - QtWidgets.QLayout.SizeConstraint.SetMaximumSize - ) - self.gridLayout_2.setContentsMargins(0, 0, 0, 0) - self.gridLayout_2.setSpacing(6) - self.gridLayout_2.setObjectName("gridLayout_2") - self.numpad_6 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_6.sizePolicy().hasHeightForWidth()) - self.numpad_6.setSizePolicy(sizePolicy) - self.numpad_6.setMinimumSize(QtCore.QSize(150, 63)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_6.setFont(font) - self.numpad_6.setTabletTracking(False) - self.numpad_6.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_6.setFlat(True) - self.numpad_6.setObjectName("numpad_6") - self.gridLayout_2.addWidget( - self.numpad_6, 1, 2, 1, 1, QtCore.Qt.AlignmentFlag.AlignRight - ) - self.numpad_9 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_9.sizePolicy().hasHeightForWidth()) - self.numpad_9.setSizePolicy(sizePolicy) - self.numpad_9.setMinimumSize(QtCore.QSize(150, 63)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_9.setFont(font) - self.numpad_9.setTabletTracking(False) - self.numpad_9.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.numpad_9.setFlat(True) - self.numpad_9.setObjectName("numpad_9") - self.gridLayout_2.addWidget( - self.numpad_9, 0, 2, 1, 1, QtCore.Qt.AlignmentFlag.AlignLeft - ) - self.numpad_8 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_8.sizePolicy().hasHeightForWidth()) - self.numpad_8.setSizePolicy(sizePolicy) - self.numpad_8.setMinimumSize(QtCore.QSize(150, 63)) - self.numpad_8.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_8.setFont(font) - self.numpad_8.setTabletTracking(False) - self.numpad_8.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_8.setFlat(True) - self.numpad_8.setObjectName("numpad_8") - self.gridLayout_2.addWidget( - self.numpad_8, 0, 1, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter - ) - self.numpad_2 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_2.sizePolicy().hasHeightForWidth()) - self.numpad_2.setSizePolicy(sizePolicy) - self.numpad_2.setMinimumSize(QtCore.QSize(150, 63)) - self.numpad_2.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_2.setFont(font) - self.numpad_2.setTabletTracking(False) - self.numpad_2.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_2.setFlat(True) - self.numpad_2.setObjectName("numpad_2") - self.gridLayout_2.addWidget( - self.numpad_2, 2, 1, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter - ) - self.numpad_0 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_0.sizePolicy().hasHeightForWidth()) - self.numpad_0.setSizePolicy(sizePolicy) - self.numpad_0.setMinimumSize(QtCore.QSize(150, 63)) - self.numpad_0.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_0.setFont(font) - self.numpad_0.setTabletTracking(False) - self.numpad_0.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_0.setFlat(True) - self.numpad_0.setObjectName("numpad_0") - self.gridLayout_2.addWidget( - self.numpad_0, 3, 1, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter - ) - self.numpad_3 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_3.sizePolicy().hasHeightForWidth()) - self.numpad_3.setSizePolicy(sizePolicy) - self.numpad_3.setMinimumSize(QtCore.QSize(150, 63)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_3.setFont(font) - self.numpad_3.setTabletTracking(False) - self.numpad_3.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_3.setFlat(True) - self.numpad_3.setObjectName("numpad_3") - self.gridLayout_2.addWidget( - self.numpad_3, 2, 2, 1, 1, QtCore.Qt.AlignmentFlag.AlignRight - ) - self.numpad_4 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_4.sizePolicy().hasHeightForWidth()) - self.numpad_4.setSizePolicy(sizePolicy) - self.numpad_4.setMinimumSize(QtCore.QSize(150, 63)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_4.setFont(font) - self.numpad_4.setTabletTracking(False) - self.numpad_4.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_4.setFlat(True) - self.numpad_4.setObjectName("numpad_4") - self.gridLayout_2.addWidget( - self.numpad_4, 1, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignRight - ) - self.numpad_5 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_5.sizePolicy().hasHeightForWidth()) - self.numpad_5.setSizePolicy(sizePolicy) - self.numpad_5.setMinimumSize(QtCore.QSize(150, 63)) - self.numpad_5.setMaximumSize(QtCore.QSize(150, 16777215)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_5.setFont(font) - self.numpad_5.setTabletTracking(False) - self.numpad_5.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_5.setFlat(True) - self.numpad_5.setObjectName("numpad_5") - self.gridLayout_2.addWidget( - self.numpad_5, 1, 1, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter - ) - self.numpad_1 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_1.sizePolicy().hasHeightForWidth()) - self.numpad_1.setSizePolicy(sizePolicy) - self.numpad_1.setMinimumSize(QtCore.QSize(150, 63)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_1.setFont(font) - self.numpad_1.setTabletTracking(False) - self.numpad_1.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_1.setFlat(True) - self.numpad_1.setObjectName("numpad_1") - self.gridLayout_2.addWidget( - self.numpad_1, 2, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignRight - ) - self.numpad_enter = IconButton(parent=self.gridLayoutWidget) - self.numpad_enter.setEnabled(True) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.MinimumExpanding, - QtWidgets.QSizePolicy.Policy.MinimumExpanding, - ) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.numpad_enter.sizePolicy().hasHeightForWidth()) - self.numpad_enter.setSizePolicy(sizePolicy) - self.numpad_enter.setMinimumSize(QtCore.QSize(60, 60)) - self.numpad_enter.setMaximumSize(QtCore.QSize(60, 60)) - self.numpad_enter.setStyleSheet("") - self.numpad_enter.setText("") - self.numpad_enter.setIconSize(QtCore.QSize(16, 16)) - self.numpad_enter.setCheckable(False) - self.numpad_enter.setChecked(False) - self.numpad_enter.setFlat(True) - self.numpad_enter.setProperty( - "icon_pixmap", - QtGui.QPixmap( - ":/dialog/media/btn_icons/yes.svg" - ), - ) - self.numpad_enter.setObjectName("numpad_enter") - self.gridLayout_2.addWidget( - self.numpad_enter, 3, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter - ) - self.numpad_7 = NumpadButton(parent=self.gridLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed - ) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.numpad_7.sizePolicy().hasHeightForWidth()) - self.numpad_7.setSizePolicy(sizePolicy) - self.numpad_7.setMinimumSize(QtCore.QSize(150, 63)) - font = QtGui.QFont() - font.setFamily("Modern") - font.setPointSize(29) - font.setBold(False) - font.setItalic(False) - font.setUnderline(False) - font.setWeight(50) - font.setStrikeOut(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferDefault) - self.numpad_7.setFont(font) - self.numpad_7.setTabletTracking(False) - self.numpad_7.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.numpad_7.setFlat(True) - self.numpad_7.setObjectName("numpad_7") - self.gridLayout_2.addWidget(self.numpad_7, 0, 0, 1, 1) - self.numpad_clear = IconButton(parent=self.gridLayoutWidget) - self.numpad_clear.setEnabled(True) - sizePolicy = QtWidgets.QSizePolicy( - QtWidgets.QSizePolicy.Policy.MinimumExpanding, - QtWidgets.QSizePolicy.Policy.MinimumExpanding, - ) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.numpad_clear.sizePolicy().hasHeightForWidth()) - self.numpad_clear.setSizePolicy(sizePolicy) - self.numpad_clear.setMinimumSize(QtCore.QSize(60, 60)) - self.numpad_clear.setMaximumSize(QtCore.QSize(60, 60)) - self.numpad_clear.setStyleSheet("") - self.numpad_clear.setText("") - self.numpad_clear.setIconSize(QtCore.QSize(16, 16)) - self.numpad_clear.setCheckable(False) - self.numpad_clear.setChecked(False) - self.numpad_clear.setFlat(True) - self.numpad_clear.setProperty( - "icon_pixmap", - QtGui.QPixmap( - ":/dialog/media/btn_icons/no.svg" - ), - ) - self.numpad_clear.setObjectName("numpad_clear") - self.gridLayout_2.addWidget( - self.numpad_clear, 3, 2, 1, 1, QtCore.Qt.AlignmentFlag.AlignHCenter - ) - - self.retranslateUi(customNumpad) - QtCore.QMetaObject.connectSlotsByName(customNumpad) - - def retranslateUi(self, customNumpad): - _translate = QtCore.QCoreApplication.translate - customNumpad.setWindowTitle(_translate("customNumpad", "Form")) - self.numpad_title.setText(_translate("customNumpad", "Target Temperature")) - self.numpad_back_btn.setProperty( - "button_type", _translate("customNumpad", "icon") - ) - self.inserted_value.setText(_translate("customNumpad", "TextLabel")) - self.numpad_6.setText(_translate("customNumpad", "6")) - self.numpad_6.setProperty("position", _translate("customNumpad", "right")) - self.numpad_9.setText(_translate("customNumpad", "9")) - self.numpad_9.setProperty("position", _translate("customNumpad", "right")) - self.numpad_8.setText(_translate("customNumpad", "8")) - self.numpad_2.setText(_translate("customNumpad", "2")) - self.numpad_0.setText(_translate("customNumpad", "0")) - self.numpad_0.setProperty("position", _translate("customNumpad", "down")) - self.numpad_3.setText(_translate("customNumpad", "3")) - self.numpad_3.setProperty("position", _translate("customNumpad", "right")) - self.numpad_4.setText(_translate("customNumpad", "4")) - self.numpad_4.setProperty("position", _translate("customNumpad", "left")) - self.numpad_5.setText(_translate("customNumpad", "5")) - self.numpad_1.setText(_translate("customNumpad", "1")) - self.numpad_1.setProperty("position", _translate("customNumpad", "left")) - self.numpad_enter.setProperty("button_type", _translate("customNumpad", "icon")) - self.numpad_7.setText(_translate("customNumpad", "7")) - self.numpad_7.setProperty("position", _translate("customNumpad", "left")) - self.numpad_clear.setProperty("button_type", _translate("customNumpad", "icon")) - - -from lib.utils.icon_button import IconButton -from lib.utils.numpad_button import NumpadButton diff --git a/BlocksScreen/lib/ui/fansPage.ui b/BlocksScreen/lib/ui/fansPage.ui deleted file mode 100644 index f77b1652..00000000 --- a/BlocksScreen/lib/ui/fansPage.ui +++ /dev/null @@ -1,204 +0,0 @@ - - - fansPage - - - - 0 - 0 - 710 - 410 - - - - - 710 - 410 - - - - - 720 - 420 - - - - Form - - - - - 10 - 10 - 691 - 71 - - - - - - - - 24 - - - - background: transparent; color: white; - - - Fans - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - true - - - icon - - - :/button_borders/media/btn_icons/back.svg - - - - - - - - - 10 - 90 - 691 - 301 - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - 0 - 0 - - - - - 200 - 60 - - - - - 200 - 60 - - - - - - - true - - - display - - - :/temperatures/media/btn_icons/fan.svg - - - - - - - - 0 - 0 - - - - - 200 - 60 - - - - - 200 - 60 - - - - - - - true - - - display - - - :/temperatures/media/btn_icons/blower.svg - - - - - - - - - - - BlocksCustomButton - QPushButton -
utils.ui
-
-
- - - - - -
diff --git a/BlocksScreen/lib/ui/fansPage_ui.py b/BlocksScreen/lib/ui/fansPage_ui.py deleted file mode 100644 index b4f09669..00000000 --- a/BlocksScreen/lib/ui/fansPage_ui.py +++ /dev/null @@ -1,87 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/Blocks_Screen/BlocksScreen/lib/ui/fansPage.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_fansPage(object): - def setupUi(self, fansPage): - fansPage.setObjectName("fansPage") - fansPage.resize(710, 410) - fansPage.setMinimumSize(QtCore.QSize(710, 410)) - fansPage.setMaximumSize(QtCore.QSize(720, 420)) - self.horizontalLayoutWidget = QtWidgets.QWidget(parent=fansPage) - self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 691, 71)) - self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") - self.fp_header_layout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) - self.fp_header_layout.setContentsMargins(0, 0, 0, 0) - self.fp_header_layout.setObjectName("fp_header_layout") - self.fp_header_title = QtWidgets.QLabel(parent=self.horizontalLayoutWidget) - font = QtGui.QFont() - font.setPointSize(24) - self.fp_header_title.setFont(font) - self.fp_header_title.setStyleSheet("background: transparent; color: white;") - self.fp_header_title.setObjectName("fp_header_title") - self.fp_header_layout.addWidget(self.fp_header_title) - self.fp_header_back_btn = BlocksCustomButton(parent=self.horizontalLayoutWidget) - self.fp_header_back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.fp_header_back_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.fp_header_back_btn.setText("") - self.fp_header_back_btn.setFlat(True) - self.fp_header_back_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/button_borders/media/btn_icons/back.svg")) - self.fp_header_back_btn.setObjectName("fp_header_back_btn") - self.fp_header_layout.addWidget(self.fp_header_back_btn) - self.verticalLayoutWidget = QtWidgets.QWidget(parent=fansPage) - self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 90, 691, 301)) - self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") - self.fp_content_vertical_layout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) - self.fp_content_vertical_layout.setContentsMargins(5, 5, 5, 5) - self.fp_content_vertical_layout.setObjectName("fp_content_vertical_layout") - self.fp_content_horizonta_layout = QtWidgets.QHBoxLayout() - self.fp_content_horizonta_layout.setContentsMargins(5, 5, 5, 5) - self.fp_content_horizonta_layout.setObjectName("fp_content_horizonta_layout") - self.part_cooling_fan_display = BlocksCustomButton(parent=self.verticalLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.part_cooling_fan_display.sizePolicy().hasHeightForWidth()) - self.part_cooling_fan_display.setSizePolicy(sizePolicy) - self.part_cooling_fan_display.setMinimumSize(QtCore.QSize(200, 60)) - self.part_cooling_fan_display.setMaximumSize(QtCore.QSize(200, 60)) - self.part_cooling_fan_display.setText("") - self.part_cooling_fan_display.setFlat(True) - self.part_cooling_fan_display.setProperty("icon_pixmap", QtGui.QPixmap(":/temperatures/media/btn_icons/fan.svg")) - self.part_cooling_fan_display.setObjectName("part_cooling_fan_display") - self.fp_content_horizonta_layout.addWidget(self.part_cooling_fan_display) - self.auxiliary_fan_display = BlocksCustomButton(parent=self.verticalLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.auxiliary_fan_display.sizePolicy().hasHeightForWidth()) - self.auxiliary_fan_display.setSizePolicy(sizePolicy) - self.auxiliary_fan_display.setMinimumSize(QtCore.QSize(200, 60)) - self.auxiliary_fan_display.setMaximumSize(QtCore.QSize(200, 60)) - self.auxiliary_fan_display.setText("") - self.auxiliary_fan_display.setFlat(True) - self.auxiliary_fan_display.setProperty("icon_pixmap", QtGui.QPixmap(":/temperatures/media/btn_icons/blower.svg")) - self.auxiliary_fan_display.setObjectName("auxiliary_fan_display") - self.fp_content_horizonta_layout.addWidget(self.auxiliary_fan_display) - self.fp_content_vertical_layout.addLayout(self.fp_content_horizonta_layout) - - self.retranslateUi(fansPage) - QtCore.QMetaObject.connectSlotsByName(fansPage) - - def retranslateUi(self, fansPage): - _translate = QtCore.QCoreApplication.translate - fansPage.setWindowTitle(_translate("fansPage", "Form")) - self.fp_header_title.setText(_translate("fansPage", "Fans")) - self.fp_header_back_btn.setProperty("button_type", _translate("fansPage", "icon")) - self.part_cooling_fan_display.setProperty("button_type", _translate("fansPage", "display")) - self.auxiliary_fan_display.setProperty("button_type", _translate("fansPage", "display")) -from utils.blocks_button import BlocksCustomButton - diff --git a/BlocksScreen/lib/ui/filamentSensorsPage.ui b/BlocksScreen/lib/ui/filamentSensorsPage.ui deleted file mode 100644 index a36ded5c..00000000 --- a/BlocksScreen/lib/ui/filamentSensorsPage.ui +++ /dev/null @@ -1,177 +0,0 @@ - - - filament_sensors_page - - - - 0 - 0 - 710 - 410 - - - - - 0 - 0 - - - - - 710 - 410 - - - - - 720 - 420 - - - - Form - - - - - 10 - 10 - 691 - 71 - - - - - - - - 0 - 0 - - - - - 300 - 60 - - - - - 16777215 - 60 - - - - - 24 - - - - background: transparent; color: white; - - - Filament Sensors - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - true - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - - - - 10 - 90 - 691 - 302 - - - - - - - - 0 - 0 - - - - - 650 - 300 - - - - - 700 - 300 - - - - Qt::LeftToRight - - - QListWidget{background-color: transparent;} - -QLabel{ -color: #ffffff; -} - - - false - - - QAbstractItemView::NoSelection - - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.blocks_button
-
-
- - - - - - -
diff --git a/BlocksScreen/lib/ui/filamentSensorsPage_ui.py b/BlocksScreen/lib/ui/filamentSensorsPage_ui.py deleted file mode 100644 index f09b6694..00000000 --- a/BlocksScreen/lib/ui/filamentSensorsPage_ui.py +++ /dev/null @@ -1,89 +0,0 @@ -# Form implementation generated from reading ui file 'Blocks_Screen/BlocksScreen/lib/ui/filamentSensorsPage.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_filament_sensors_page(object): - def setupUi(self, filament_sensors_page): - filament_sensors_page.setObjectName("filament_sensors_page") - filament_sensors_page.resize(710, 410) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(filament_sensors_page.sizePolicy().hasHeightForWidth()) - filament_sensors_page.setSizePolicy(sizePolicy) - filament_sensors_page.setMinimumSize(QtCore.QSize(710, 410)) - filament_sensors_page.setMaximumSize(QtCore.QSize(720, 420)) - self.horizontalLayoutWidget = QtWidgets.QWidget(parent=filament_sensors_page) - self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 691, 71)) - self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") - self.fs_header_layout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) - self.fs_header_layout.setContentsMargins(0, 0, 0, 0) - self.fs_header_layout.setObjectName("fs_header_layout") - self.fs_page_title = QtWidgets.QLabel(parent=self.horizontalLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.fs_page_title.sizePolicy().hasHeightForWidth()) - self.fs_page_title.setSizePolicy(sizePolicy) - self.fs_page_title.setMinimumSize(QtCore.QSize(300, 60)) - self.fs_page_title.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(24) - self.fs_page_title.setFont(font) - self.fs_page_title.setStyleSheet("background: transparent; color: white;") - self.fs_page_title.setObjectName("fs_page_title") - self.fs_header_layout.addWidget(self.fs_page_title, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.fs_back_button = BlocksCustomButton(parent=self.horizontalLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.fs_back_button.sizePolicy().hasHeightForWidth()) - self.fs_back_button.setSizePolicy(sizePolicy) - self.fs_back_button.setMinimumSize(QtCore.QSize(60, 60)) - self.fs_back_button.setMaximumSize(QtCore.QSize(60, 60)) - self.fs_back_button.setText("") - self.fs_back_button.setFlat(True) - self.fs_back_button.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.fs_back_button.setObjectName("fs_back_button") - self.fs_header_layout.addWidget(self.fs_back_button, 0, QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.verticalLayoutWidget = QtWidgets.QWidget(parent=filament_sensors_page) - self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 90, 691, 302)) - self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") - self.fs_content_layout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) - self.fs_content_layout.setContentsMargins(0, 0, 0, 0) - self.fs_content_layout.setObjectName("fs_content_layout") - self.fs_sensors_list = QtWidgets.QListWidget(parent=self.verticalLayoutWidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.fs_sensors_list.sizePolicy().hasHeightForWidth()) - self.fs_sensors_list.setSizePolicy(sizePolicy) - self.fs_sensors_list.setMinimumSize(QtCore.QSize(650, 300)) - self.fs_sensors_list.setMaximumSize(QtCore.QSize(700, 300)) - self.fs_sensors_list.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.fs_sensors_list.setStyleSheet("QListWidget{background-color: transparent;}\n" -"\n" -"QLabel{\n" -"color: #ffffff;\n" -"}") - self.fs_sensors_list.setProperty("showDropIndicator", False) - self.fs_sensors_list.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection) - self.fs_sensors_list.setObjectName("fs_sensors_list") - self.fs_content_layout.addWidget(self.fs_sensors_list, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - - self.retranslateUi(filament_sensors_page) - QtCore.QMetaObject.connectSlotsByName(filament_sensors_page) - - def retranslateUi(self, filament_sensors_page): - _translate = QtCore.QCoreApplication.translate - filament_sensors_page.setWindowTitle(_translate("filament_sensors_page", "Form")) - self.fs_page_title.setText(_translate("filament_sensors_page", "Filament Sensors")) - self.fs_back_button.setProperty("button_type", _translate("filament_sensors_page", "icon")) -from lib.utils.blocks_button import BlocksCustomButton diff --git a/BlocksScreen/lib/ui/filamentStackedWidget.ui b/BlocksScreen/lib/ui/filamentStackedWidget.ui deleted file mode 100644 index c418ca80..00000000 --- a/BlocksScreen/lib/ui/filamentStackedWidget.ui +++ /dev/null @@ -1,1591 +0,0 @@ - - - filamentStackedWidget - - - - 0 - 0 - 710 - 411 - - - - - 1 - 1 - - - - - 710 - 410 - - - - - 720 - 420 - - - - StackedWidget - - - Qt::LeftToRight - - - 0 - - - - - 0 - 0 - - - - - 710 - 400 - - - - - 720 - 420 - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 24 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 60 - 0 - - - - - - - - - 0 - 0 - - - - - 0 - 60 - - - - - 16777215 - 60 - - - - - Momcake - 24 - - - - Qt::RightToLeft - - - background: transparent; color: white; - - - Filament Control - - - Qt::AlignCenter - - - title_text - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Back - - - false - - - true - - - menu_btn - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - 0 - 0 - - - - - 600 - 80 - - - - - 600 - 80 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 20 - 231 - 41 - - - - - 0 - 0 - - - - - 280 - 60 - - - - - 15 - - - - background: transparent; color: white; - - - Loaded Filament Type - - - - - - 260 - 10 - 321 - 60 - - - - - 0 - 60 - - - - - 16777215 - 60 - - - - - 13 - - - - color:white - - - ... - - - Qt::AlignCenter - - - - - - 240 - 10 - 3 - 61 - - - - color:white - - - Qt::Vertical - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - 0 - 0 - - - - - 250 - 80 - - - - - 250 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Load - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/btn_icons/load_filament.svg - - - - - - - - 0 - 0 - - - - - 250 - 80 - - - - - 250 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Unload - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/btn_icons/unload_filament.svg - - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 26 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - - 1 - 1 - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 24 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 60 - 20 - - - - - - - - - 0 - 60 - - - - - Momcake - 24 - - - - background: transparent; color: white; - - - Load Filament - - - Qt::AlignCenter - - - title_text - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Back - - - false - - - true - - - menu_btn - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - 5 - - - 5 - - - 5 - - - 5 - - - 6 - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - 200 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - NYLON - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/topbar/nylon_filament_topbar.svg - - - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - 200 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - PETG - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/topbar/petg_filament_topbar.svg - - - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - 200 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - ABS - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/topbar/abs_filament_topbar.svg - - - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - 200 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - PLA - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/topbar/pla_filament_topbar.svg - - - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - 200 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - HIPS - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/topbar/hips_filament_topbar.svg - - - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - 200 - 80 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - TPU - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/topbar/tpu_filament_topbar.svg - - - - - - - - - - - - 0 - 0 - - - - - 200 - 70 - - - - - 250 - 60 - - - - - MS Shell Dlg 2 - 15 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Custom -Filament - - - false - - - true - - - menu_btn - - - normal - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - 710 - 400 - - - - - 720 - 420 - - - - - - 9 - 9 - 691 - 71 - - - - - 6 - - - - - - 1 - 1 - - - - - 500 - 60 - - - - - 500 - 60 - - - - - Momcake - 24 - - - - Qt::RightToLeft - - - background: transparent; color: white; - - - Custom Filament Settings - - - Qt::AlignCenter - - - title_text - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Back - - - false - - - true - - - menu_btn - - - :/button_borders/media/btn_icons/back.svg - - - - - - - - - 10 - 120 - 691 - 234 - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - 0 - 0 - - - - - 200 - 60 - - - - - 200 - 60 - - - - - 12 - - - - background: transparent; color: white; - - - Filament Temperature: - - - - - - - - 0 - 0 - - - - - 200 - 60 - - - - - 200 - 60 - - - - - - - true - - - display - - - - - - - - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - 200 - 60 - - - - - 200 - 60 - - - - - 12 - - - - background: transparent; color: white; - - - Filament Name - - - - - - - - 200 - 60 - - - - - 200 - 60 - - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - true - - - icon - - - - - - - - - - - - - 0 - 0 - - - - - 200 - 70 - - - - - 200 - 70 - - - - - Momcake - 19 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Load - - - false - - - true - - - menu_btn - - - normal - - - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.blocks_button
-
- - IconButton - QPushButton -
lib.utils.icon_button
-
- - BlocksCustomFrame - QFrame -
lib.utils.blocks_frame
- 1 -
-
- - - - - - - - - - - - - - -
diff --git a/BlocksScreen/lib/ui/filamentStackedWidget_ui.py b/BlocksScreen/lib/ui/filamentStackedWidget_ui.py deleted file mode 100644 index 8ec597b2..00000000 --- a/BlocksScreen/lib/ui/filamentStackedWidget_ui.py +++ /dev/null @@ -1,638 +0,0 @@ -# Form implementation generated from reading ui file 'filamentStackedWidget.ui' -# -# Created by: PyQt6 UI code generator 6.10.0 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_filamentStackedWidget(object): - def setupUi(self, filamentStackedWidget): - filamentStackedWidget.setObjectName("filamentStackedWidget") - filamentStackedWidget.resize(710, 411) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(filamentStackedWidget.sizePolicy().hasHeightForWidth()) - filamentStackedWidget.setSizePolicy(sizePolicy) - filamentStackedWidget.setMinimumSize(QtCore.QSize(710, 410)) - filamentStackedWidget.setMaximumSize(QtCore.QSize(720, 420)) - filamentStackedWidget.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.filament_control_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.filament_control_page.sizePolicy().hasHeightForWidth()) - self.filament_control_page.setSizePolicy(sizePolicy) - self.filament_control_page.setMinimumSize(QtCore.QSize(710, 400)) - self.filament_control_page.setMaximumSize(QtCore.QSize(720, 420)) - self.filament_control_page.setObjectName("filament_control_page") - self.verticalLayout = QtWidgets.QVBoxLayout(self.filament_control_page) - self.verticalLayout.setObjectName("verticalLayout") - spacerItem = QtWidgets.QSpacerItem(20, 24, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - self.verticalLayout.addItem(spacerItem) - self.filament_page_header_layout = QtWidgets.QHBoxLayout() - self.filament_page_header_layout.setObjectName("filament_page_header_layout") - self.spacerItem1 = QtWidgets.QSpacerItem(60, 0, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - self.filament_page_header_layout.addItem(self.spacerItem1) - self.filament_page_header_title = QtWidgets.QLabel(parent=self.filament_control_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Maximum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.filament_page_header_title.sizePolicy().hasHeightForWidth()) - self.filament_page_header_title.setSizePolicy(sizePolicy) - self.filament_page_header_title.setMinimumSize(QtCore.QSize(0, 60)) - self.filament_page_header_title.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.filament_page_header_title.setFont(font) - self.filament_page_header_title.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.filament_page_header_title.setStyleSheet("background: transparent; color: white;") - self.filament_page_header_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.filament_page_header_title.setObjectName("filament_page_header_title") - self.filament_page_header_layout.addWidget(self.filament_page_header_title, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.main_back_button = IconButton(parent=self.filament_control_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.main_back_button.sizePolicy().hasHeightForWidth()) - self.main_back_button.setSizePolicy(sizePolicy) - self.main_back_button.setMinimumSize(QtCore.QSize(60, 60)) - self.main_back_button.setMaximumSize(QtCore.QSize(60, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.main_back_button.setFont(font) - self.main_back_button.setMouseTracking(False) - self.main_back_button.setTabletTracking(True) - self.main_back_button.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.main_back_button.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.main_back_button.setStyleSheet("") - self.main_back_button.setAutoDefault(False) - self.main_back_button.setFlat(True) - self.main_back_button.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.main_back_button.setObjectName("main_back_button") - self.filament_page_header_layout.addWidget(self.main_back_button) - self.verticalLayout.addLayout(self.filament_page_header_layout) - spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.verticalLayout.addItem(spacerItem2) - self.verticalLayout_4 = QtWidgets.QVBoxLayout() - self.verticalLayout_4.setObjectName("verticalLayout_4") - self.verticalLayout_3 = QtWidgets.QVBoxLayout() - self.verticalLayout_3.setObjectName("verticalLayout_3") - spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.verticalLayout_3.addItem(spacerItem3) - self.frame_7 = BlocksCustomFrame(parent=self.filament_control_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.frame_7.sizePolicy().hasHeightForWidth()) - self.frame_7.setSizePolicy(sizePolicy) - self.frame_7.setMinimumSize(QtCore.QSize(600, 80)) - self.frame_7.setMaximumSize(QtCore.QSize(600, 80)) - self.frame_7.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) - self.frame_7.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) - self.frame_7.setObjectName("frame_7") - self.filament_page_info_title_6 = QtWidgets.QLabel(parent=self.frame_7) - self.filament_page_info_title_6.setGeometry(QtCore.QRect(10, 20, 231, 41)) - self.filament_page_info_title_6.setMinimumSize(QtCore.QSize(0, 0)) - self.filament_page_info_title_6.setMaximumSize(QtCore.QSize(280, 60)) - font = QtGui.QFont() - font.setPointSize(15) - self.filament_page_info_title_6.setFont(font) - self.filament_page_info_title_6.setStyleSheet("background: transparent; color: white;") - self.filament_page_info_title_6.setObjectName("filament_page_info_title_6") - self.label_2 = QtWidgets.QLabel(parent=self.frame_7) - self.label_2.setGeometry(QtCore.QRect(260, 10, 321, 60)) - self.label_2.setMinimumSize(QtCore.QSize(0, 60)) - self.label_2.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(13) - self.label_2.setFont(font) - self.label_2.setStyleSheet("color:white") - self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.label_2.setObjectName("label_2") - self.line_2 = QtWidgets.QFrame(parent=self.frame_7) - self.line_2.setGeometry(QtCore.QRect(240, 10, 3, 61)) - self.line_2.setStyleSheet("color:white") - self.line_2.setFrameShape(QtWidgets.QFrame.Shape.VLine) - self.line_2.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line_2.setObjectName("line_2") - self.verticalLayout_3.addWidget(self.frame_7, 0, QtCore.Qt.AlignmentFlag.AlignHCenter) - spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.verticalLayout_3.addItem(spacerItem4) - self.horizontalLayout = QtWidgets.QHBoxLayout() - self.horizontalLayout.setObjectName("horizontalLayout") - self.filament_page_load_btn = BlocksCustomButton(parent=self.filament_control_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.filament_page_load_btn.sizePolicy().hasHeightForWidth()) - self.filament_page_load_btn.setSizePolicy(sizePolicy) - self.filament_page_load_btn.setMinimumSize(QtCore.QSize(250, 80)) - self.filament_page_load_btn.setMaximumSize(QtCore.QSize(250, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.filament_page_load_btn.setFont(font) - self.filament_page_load_btn.setMouseTracking(False) - self.filament_page_load_btn.setTabletTracking(True) - self.filament_page_load_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.filament_page_load_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.filament_page_load_btn.setStyleSheet("") - self.filament_page_load_btn.setAutoDefault(False) - self.filament_page_load_btn.setFlat(True) - self.filament_page_load_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/btn_icons/load_filament.svg")) - self.filament_page_load_btn.setObjectName("filament_page_load_btn") - self.horizontalLayout.addWidget(self.filament_page_load_btn) - self.filament_page_unload_btn = BlocksCustomButton(parent=self.filament_control_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.filament_page_unload_btn.sizePolicy().hasHeightForWidth()) - self.filament_page_unload_btn.setSizePolicy(sizePolicy) - self.filament_page_unload_btn.setMinimumSize(QtCore.QSize(250, 80)) - self.filament_page_unload_btn.setMaximumSize(QtCore.QSize(250, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.filament_page_unload_btn.setFont(font) - self.filament_page_unload_btn.setMouseTracking(False) - self.filament_page_unload_btn.setTabletTracking(True) - self.filament_page_unload_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.filament_page_unload_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.filament_page_unload_btn.setStyleSheet("") - self.filament_page_unload_btn.setAutoDefault(False) - self.filament_page_unload_btn.setFlat(True) - self.filament_page_unload_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/btn_icons/unload_filament.svg")) - self.filament_page_unload_btn.setObjectName("filament_page_unload_btn") - self.horizontalLayout.addWidget(self.filament_page_unload_btn) - self.verticalLayout_3.addLayout(self.horizontalLayout) - self.verticalLayout_4.addLayout(self.verticalLayout_3) - self.verticalLayout.addLayout(self.verticalLayout_4) - spacerItem5 = QtWidgets.QSpacerItem(20, 26, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - self.verticalLayout.addItem(spacerItem5) - spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.verticalLayout.addItem(spacerItem6) - filamentStackedWidget.addWidget(self.filament_control_page) - self.load_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.load_page.sizePolicy().hasHeightForWidth()) - self.load_page.setSizePolicy(sizePolicy) - self.load_page.setMinimumSize(QtCore.QSize(710, 400)) - self.load_page.setMaximumSize(QtCore.QSize(720, 420)) - self.load_page.setSizeIncrement(QtCore.QSize(1, 1)) - self.load_page.setObjectName("load_page") - self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.load_page) - self.verticalLayout_2.setObjectName("verticalLayout_2") - spacerItem7 = QtWidgets.QSpacerItem(20, 24, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - self.verticalLayout_2.addItem(spacerItem7) - self.load_page_header_layout = QtWidgets.QHBoxLayout() - self.load_page_header_layout.setObjectName("load_page_header_layout") - spacerItem8 = QtWidgets.QSpacerItem(60, 20, QtWidgets.QSizePolicy.Policy.Maximum, QtWidgets.QSizePolicy.Policy.Minimum) - self.load_page_header_layout.addItem(spacerItem8) - self.load_header_page_title = QtWidgets.QLabel(parent=self.load_page) - self.load_header_page_title.setMinimumSize(QtCore.QSize(0, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.load_header_page_title.setFont(font) - self.load_header_page_title.setStyleSheet("background: transparent; color: white;") - self.load_header_page_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.load_header_page_title.setObjectName("load_header_page_title") - self.load_page_header_layout.addWidget(self.load_header_page_title) - self.load_header_back_button = IconButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_header_back_button.sizePolicy().hasHeightForWidth()) - self.load_header_back_button.setSizePolicy(sizePolicy) - self.load_header_back_button.setMinimumSize(QtCore.QSize(60, 60)) - self.load_header_back_button.setMaximumSize(QtCore.QSize(60, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_header_back_button.setFont(font) - self.load_header_back_button.setMouseTracking(False) - self.load_header_back_button.setTabletTracking(True) - self.load_header_back_button.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_header_back_button.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_header_back_button.setStyleSheet("") - self.load_header_back_button.setAutoDefault(False) - self.load_header_back_button.setFlat(True) - self.load_header_back_button.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.load_header_back_button.setObjectName("load_header_back_button") - self.load_page_header_layout.addWidget(self.load_header_back_button) - self.verticalLayout_2.addLayout(self.load_page_header_layout) - spacerItem9 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.verticalLayout_2.addItem(spacerItem9) - self.load_page_content_layout = QtWidgets.QGridLayout() - self.load_page_content_layout.setContentsMargins(5, 5, 5, 5) - self.load_page_content_layout.setHorizontalSpacing(6) - self.load_page_content_layout.setObjectName("load_page_content_layout") - self.load_nylon_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_nylon_btn.sizePolicy().hasHeightForWidth()) - self.load_nylon_btn.setSizePolicy(sizePolicy) - self.load_nylon_btn.setMinimumSize(QtCore.QSize(200, 80)) - self.load_nylon_btn.setMaximumSize(QtCore.QSize(200, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_nylon_btn.setFont(font) - self.load_nylon_btn.setMouseTracking(False) - self.load_nylon_btn.setTabletTracking(True) - self.load_nylon_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_nylon_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_nylon_btn.setStyleSheet("") - self.load_nylon_btn.setAutoDefault(False) - self.load_nylon_btn.setFlat(True) - self.load_nylon_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/topbar/nylon_filament_topbar.svg")) - self.load_nylon_btn.setObjectName("load_nylon_btn") - self.load_page_content_layout.addWidget(self.load_nylon_btn, 2, 0, 1, 1) - self.load_petg_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_petg_btn.sizePolicy().hasHeightForWidth()) - self.load_petg_btn.setSizePolicy(sizePolicy) - self.load_petg_btn.setMinimumSize(QtCore.QSize(200, 80)) - self.load_petg_btn.setMaximumSize(QtCore.QSize(200, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_petg_btn.setFont(font) - self.load_petg_btn.setMouseTracking(False) - self.load_petg_btn.setTabletTracking(True) - self.load_petg_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_petg_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_petg_btn.setStyleSheet("") - self.load_petg_btn.setAutoDefault(False) - self.load_petg_btn.setFlat(True) - self.load_petg_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/topbar/petg_filament_topbar.svg")) - self.load_petg_btn.setObjectName("load_petg_btn") - self.load_page_content_layout.addWidget(self.load_petg_btn, 0, 1, 1, 1) - self.load_abs_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_abs_btn.sizePolicy().hasHeightForWidth()) - self.load_abs_btn.setSizePolicy(sizePolicy) - self.load_abs_btn.setMinimumSize(QtCore.QSize(200, 80)) - self.load_abs_btn.setMaximumSize(QtCore.QSize(200, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_abs_btn.setFont(font) - self.load_abs_btn.setMouseTracking(False) - self.load_abs_btn.setTabletTracking(True) - self.load_abs_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_abs_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_abs_btn.setStyleSheet("") - self.load_abs_btn.setAutoDefault(False) - self.load_abs_btn.setFlat(True) - self.load_abs_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/topbar/abs_filament_topbar.svg")) - self.load_abs_btn.setObjectName("load_abs_btn") - self.load_page_content_layout.addWidget(self.load_abs_btn, 1, 0, 1, 1) - self.load_pla_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_pla_btn.sizePolicy().hasHeightForWidth()) - self.load_pla_btn.setSizePolicy(sizePolicy) - self.load_pla_btn.setMinimumSize(QtCore.QSize(200, 80)) - self.load_pla_btn.setMaximumSize(QtCore.QSize(200, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_pla_btn.setFont(font) - self.load_pla_btn.setMouseTracking(False) - self.load_pla_btn.setTabletTracking(True) - self.load_pla_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_pla_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_pla_btn.setStyleSheet("") - self.load_pla_btn.setAutoDefault(False) - self.load_pla_btn.setFlat(True) - self.load_pla_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/topbar/pla_filament_topbar.svg")) - self.load_pla_btn.setObjectName("load_pla_btn") - self.load_page_content_layout.addWidget(self.load_pla_btn, 0, 0, 1, 1) - self.load_hips_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_hips_btn.sizePolicy().hasHeightForWidth()) - self.load_hips_btn.setSizePolicy(sizePolicy) - self.load_hips_btn.setMinimumSize(QtCore.QSize(200, 80)) - self.load_hips_btn.setMaximumSize(QtCore.QSize(200, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_hips_btn.setFont(font) - self.load_hips_btn.setMouseTracking(False) - self.load_hips_btn.setTabletTracking(True) - self.load_hips_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_hips_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_hips_btn.setStyleSheet("") - self.load_hips_btn.setAutoDefault(False) - self.load_hips_btn.setFlat(True) - self.load_hips_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/topbar/hips_filament_topbar.svg")) - self.load_hips_btn.setObjectName("load_hips_btn") - self.load_page_content_layout.addWidget(self.load_hips_btn, 1, 1, 1, 1) - self.load_tpu_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_tpu_btn.sizePolicy().hasHeightForWidth()) - self.load_tpu_btn.setSizePolicy(sizePolicy) - self.load_tpu_btn.setMinimumSize(QtCore.QSize(200, 80)) - self.load_tpu_btn.setMaximumSize(QtCore.QSize(200, 80)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_tpu_btn.setFont(font) - self.load_tpu_btn.setMouseTracking(False) - self.load_tpu_btn.setTabletTracking(True) - self.load_tpu_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_tpu_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_tpu_btn.setStyleSheet("") - self.load_tpu_btn.setAutoDefault(False) - self.load_tpu_btn.setFlat(True) - self.load_tpu_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/topbar/tpu_filament_topbar.svg")) - self.load_tpu_btn.setObjectName("load_tpu_btn") - self.load_page_content_layout.addWidget(self.load_tpu_btn, 2, 1, 1, 1) - self.verticalLayout_2.addLayout(self.load_page_content_layout) - self.load_page_footer_layout = QtWidgets.QHBoxLayout() - self.load_page_footer_layout.setObjectName("load_page_footer_layout") - self.load_custom_btn = BlocksCustomButton(parent=self.load_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.load_custom_btn.sizePolicy().hasHeightForWidth()) - self.load_custom_btn.setSizePolicy(sizePolicy) - self.load_custom_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.load_custom_btn.setMaximumSize(QtCore.QSize(250, 60)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(15) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.load_custom_btn.setFont(font) - self.load_custom_btn.setMouseTracking(False) - self.load_custom_btn.setTabletTracking(True) - self.load_custom_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.load_custom_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.load_custom_btn.setStyleSheet("") - self.load_custom_btn.setAutoDefault(False) - self.load_custom_btn.setFlat(True) - self.load_custom_btn.setObjectName("load_custom_btn") - self.load_page_footer_layout.addWidget(self.load_custom_btn) - self.verticalLayout_2.addLayout(self.load_page_footer_layout) - spacerItem10 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.verticalLayout_2.addItem(spacerItem10) - filamentStackedWidget.addWidget(self.load_page) - self.custom_filament_page = QtWidgets.QWidget() - self.custom_filament_page.setMinimumSize(QtCore.QSize(710, 400)) - self.custom_filament_page.setMaximumSize(QtCore.QSize(720, 420)) - self.custom_filament_page.setObjectName("custom_filament_page") - self.horizontalLayoutWidget_4 = QtWidgets.QWidget(parent=self.custom_filament_page) - self.horizontalLayoutWidget_4.setGeometry(QtCore.QRect(9, 9, 691, 71)) - self.horizontalLayoutWidget_4.setObjectName("horizontalLayoutWidget_4") - self.cfil_page_header_layout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_4) - self.cfil_page_header_layout.setContentsMargins(0, 0, 0, 0) - self.cfil_page_header_layout.setSpacing(6) - self.cfil_page_header_layout.setObjectName("cfil_page_header_layout") - self.custom_filament_page_header_title = QtWidgets.QLabel(parent=self.horizontalLayoutWidget_4) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.custom_filament_page_header_title.sizePolicy().hasHeightForWidth()) - self.custom_filament_page_header_title.setSizePolicy(sizePolicy) - self.custom_filament_page_header_title.setMinimumSize(QtCore.QSize(500, 60)) - self.custom_filament_page_header_title.setMaximumSize(QtCore.QSize(500, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.custom_filament_page_header_title.setFont(font) - self.custom_filament_page_header_title.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.custom_filament_page_header_title.setStyleSheet("background: transparent; color: white;") - self.custom_filament_page_header_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.custom_filament_page_header_title.setObjectName("custom_filament_page_header_title") - self.cfil_page_header_layout.addWidget(self.custom_filament_page_header_title, 0, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.custom_filament_header_back_btn = IconButton(parent=self.horizontalLayoutWidget_4) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.custom_filament_header_back_btn.sizePolicy().hasHeightForWidth()) - self.custom_filament_header_back_btn.setSizePolicy(sizePolicy) - self.custom_filament_header_back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.custom_filament_header_back_btn.setMaximumSize(QtCore.QSize(60, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.custom_filament_header_back_btn.setFont(font) - self.custom_filament_header_back_btn.setMouseTracking(False) - self.custom_filament_header_back_btn.setTabletTracking(True) - self.custom_filament_header_back_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.custom_filament_header_back_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.custom_filament_header_back_btn.setStyleSheet("") - self.custom_filament_header_back_btn.setAutoDefault(False) - self.custom_filament_header_back_btn.setFlat(True) - self.custom_filament_header_back_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/button_borders/media/btn_icons/back.svg")) - self.custom_filament_header_back_btn.setObjectName("custom_filament_header_back_btn") - self.cfil_page_header_layout.addWidget(self.custom_filament_header_back_btn, 0, QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cfil_page_header_layout.setStretch(0, 1) - self.verticalLayoutWidget_2 = QtWidgets.QWidget(parent=self.custom_filament_page) - self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(10, 120, 691, 234)) - self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") - self.cfil_page_content_layout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2) - self.cfil_page_content_layout.setContentsMargins(5, 5, 5, 5) - self.cfil_page_content_layout.setObjectName("cfil_page_content_layout") - self.cfil_temp_settings_layout = QtWidgets.QHBoxLayout() - self.cfil_temp_settings_layout.setContentsMargins(5, 5, 5, 5) - self.cfil_temp_settings_layout.setObjectName("cfil_temp_settings_layout") - self.custom_filament_temperature_settings_title = QtWidgets.QLabel(parent=self.verticalLayoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.custom_filament_temperature_settings_title.sizePolicy().hasHeightForWidth()) - self.custom_filament_temperature_settings_title.setSizePolicy(sizePolicy) - self.custom_filament_temperature_settings_title.setMinimumSize(QtCore.QSize(200, 60)) - self.custom_filament_temperature_settings_title.setMaximumSize(QtCore.QSize(200, 60)) - font = QtGui.QFont() - font.setPointSize(12) - self.custom_filament_temperature_settings_title.setFont(font) - self.custom_filament_temperature_settings_title.setStyleSheet("background: transparent; color: white;") - self.custom_filament_temperature_settings_title.setObjectName("custom_filament_temperature_settings_title") - self.cfil_temp_settings_layout.addWidget(self.custom_filament_temperature_settings_title) - self.cfil_temp_settings_display_button = BlocksCustomButton(parent=self.verticalLayoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.cfil_temp_settings_display_button.sizePolicy().hasHeightForWidth()) - self.cfil_temp_settings_display_button.setSizePolicy(sizePolicy) - self.cfil_temp_settings_display_button.setMinimumSize(QtCore.QSize(200, 60)) - self.cfil_temp_settings_display_button.setMaximumSize(QtCore.QSize(200, 60)) - self.cfil_temp_settings_display_button.setText("") - self.cfil_temp_settings_display_button.setFlat(True) - self.cfil_temp_settings_display_button.setObjectName("cfil_temp_settings_display_button") - self.cfil_temp_settings_layout.addWidget(self.cfil_temp_settings_display_button, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cfil_temp_settings_layout.setStretch(1, 1) - self.cfil_page_content_layout.addLayout(self.cfil_temp_settings_layout) - self.cfil_name_settings_layout = QtWidgets.QHBoxLayout() - self.cfil_name_settings_layout.setContentsMargins(5, 5, 5, 5) - self.cfil_name_settings_layout.setObjectName("cfil_name_settings_layout") - self.cfil_name_settings_title = QtWidgets.QLabel(parent=self.verticalLayoutWidget_2) - self.cfil_name_settings_title.setMinimumSize(QtCore.QSize(200, 60)) - self.cfil_name_settings_title.setMaximumSize(QtCore.QSize(200, 60)) - font = QtGui.QFont() - font.setPointSize(12) - self.cfil_name_settings_title.setFont(font) - self.cfil_name_settings_title.setStyleSheet("background: transparent; color: white;") - self.cfil_name_settings_title.setObjectName("cfil_name_settings_title") - self.cfil_name_settings_layout.addWidget(self.cfil_name_settings_title, 0, QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cfil_name_input = QtWidgets.QLineEdit(parent=self.verticalLayoutWidget_2) - self.cfil_name_input.setMinimumSize(QtCore.QSize(200, 60)) - self.cfil_name_input.setMaximumSize(QtCore.QSize(200, 60)) - self.cfil_name_input.setObjectName("cfil_name_input") - self.cfil_name_settings_layout.addWidget(self.cfil_name_input, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cfil_name_save_btn = BlocksCustomButton(parent=self.verticalLayoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.cfil_name_save_btn.sizePolicy().hasHeightForWidth()) - self.cfil_name_save_btn.setSizePolicy(sizePolicy) - self.cfil_name_save_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.cfil_name_save_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.cfil_name_save_btn.setText("") - self.cfil_name_save_btn.setFlat(True) - self.cfil_name_save_btn.setObjectName("cfil_name_save_btn") - self.cfil_name_settings_layout.addWidget(self.cfil_name_save_btn, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cfil_name_settings_layout.setStretch(1, 1) - self.cfil_page_content_layout.addLayout(self.cfil_name_settings_layout) - self.cfil_load_btn = BlocksCustomButton(parent=self.verticalLayoutWidget_2) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.cfil_load_btn.sizePolicy().hasHeightForWidth()) - self.cfil_load_btn.setSizePolicy(sizePolicy) - self.cfil_load_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.cfil_load_btn.setMaximumSize(QtCore.QSize(200, 70)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(19) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.cfil_load_btn.setFont(font) - self.cfil_load_btn.setMouseTracking(False) - self.cfil_load_btn.setTabletTracking(True) - self.cfil_load_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.cfil_load_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.cfil_load_btn.setStyleSheet("") - self.cfil_load_btn.setAutoDefault(False) - self.cfil_load_btn.setFlat(True) - self.cfil_load_btn.setObjectName("cfil_load_btn") - self.cfil_page_content_layout.addWidget(self.cfil_load_btn, 0, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.cfil_page_content_layout.setStretch(2, 1) - filamentStackedWidget.addWidget(self.custom_filament_page) - - self.retranslateUi(filamentStackedWidget) - filamentStackedWidget.setCurrentIndex(0) - QtCore.QMetaObject.connectSlotsByName(filamentStackedWidget) - - def retranslateUi(self, filamentStackedWidget): - _translate = QtCore.QCoreApplication.translate - filamentStackedWidget.setWindowTitle(_translate("filamentStackedWidget", "StackedWidget")) - self.filament_page_header_title.setText(_translate("filamentStackedWidget", "Filament Control")) - self.filament_page_header_title.setProperty("class", _translate("filamentStackedWidget", "title_text")) - self.main_back_button.setText(_translate("filamentStackedWidget", "Back")) - self.main_back_button.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.main_back_button.setProperty("button_type", _translate("filamentStackedWidget", "icon")) - self.filament_page_info_title_6.setText(_translate("filamentStackedWidget", "Loaded Filament Type")) - self.label_2.setText(_translate("filamentStackedWidget", "...")) - self.filament_page_load_btn.setText(_translate("filamentStackedWidget", "Load")) - self.filament_page_load_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.filament_page_load_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.filament_page_unload_btn.setText(_translate("filamentStackedWidget", "Unload")) - self.filament_page_unload_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.filament_page_unload_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_header_page_title.setText(_translate("filamentStackedWidget", "Load Filament")) - self.load_header_page_title.setProperty("class", _translate("filamentStackedWidget", "title_text")) - self.load_header_back_button.setText(_translate("filamentStackedWidget", "Back")) - self.load_header_back_button.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_header_back_button.setProperty("button_type", _translate("filamentStackedWidget", "icon")) - self.load_nylon_btn.setText(_translate("filamentStackedWidget", "NYLON")) - self.load_nylon_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_nylon_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_petg_btn.setText(_translate("filamentStackedWidget", "PETG")) - self.load_petg_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_petg_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_abs_btn.setText(_translate("filamentStackedWidget", "ABS")) - self.load_abs_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_abs_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_pla_btn.setText(_translate("filamentStackedWidget", "PLA")) - self.load_pla_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_pla_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_hips_btn.setText(_translate("filamentStackedWidget", "HIPS")) - self.load_hips_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_hips_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_tpu_btn.setText(_translate("filamentStackedWidget", "TPU")) - self.load_tpu_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_tpu_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.load_custom_btn.setText(_translate("filamentStackedWidget", "Custom\n" -"Filament")) - self.load_custom_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.load_custom_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) - self.custom_filament_page_header_title.setText(_translate("filamentStackedWidget", "Custom Filament Settings")) - self.custom_filament_page_header_title.setProperty("class", _translate("filamentStackedWidget", "title_text")) - self.custom_filament_header_back_btn.setText(_translate("filamentStackedWidget", "Back")) - self.custom_filament_header_back_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.custom_filament_temperature_settings_title.setText(_translate("filamentStackedWidget", "Filament Temperature:")) - self.cfil_temp_settings_display_button.setProperty("button_type", _translate("filamentStackedWidget", "display")) - self.cfil_name_settings_title.setText(_translate("filamentStackedWidget", "Filament Name")) - self.cfil_name_save_btn.setProperty("button_type", _translate("filamentStackedWidget", "icon")) - self.cfil_load_btn.setText(_translate("filamentStackedWidget", "Load")) - self.cfil_load_btn.setProperty("class", _translate("filamentStackedWidget", "menu_btn")) - self.cfil_load_btn.setProperty("button_type", _translate("filamentStackedWidget", "normal")) -from lib.utils.blocks_button import BlocksCustomButton -from lib.utils.blocks_frame import BlocksCustomFrame -from lib.utils.icon_button import IconButton - - -if __name__ == "__main__": - import sys - app = QtWidgets.QApplication(sys.argv) - filamentStackedWidget = QtWidgets.QStackedWidget() - ui = Ui_filamentStackedWidget() - ui.setupUi(filamentStackedWidget) - filamentStackedWidget.show() - sys.exit(app.exec()) diff --git a/BlocksScreen/lib/ui/mainWindow_v2.ui b/BlocksScreen/lib/ui/mainWindow_v2.ui deleted file mode 100644 index e85b5159..00000000 --- a/BlocksScreen/lib/ui/mainWindow_v2.ui +++ /dev/null @@ -1,981 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 800 - 480 - - - - - 1 - 1 - - - - - 800 - 480 - - - - - 1024 - 600 - - - - - 1 - 1 - - - - - 800 - 480 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - BlankCursor - - - true - - - MainWindow - - - - :/background/logoblocks.png:/background/logoblocks.png - - - Qt::LeftToRight - - - MainWindow > { - url(:/font/media/fonts for text/Momcake-Thin.ttf); -} - - - false - - - - - 1 - 1 - - - - - 800 - 480 - - - - - 1024 - 600 - - - - - 1 - 1 - - - - - 800 - 480 - - - - BlankCursor - - - Qt::LeftToRight - - - #main_widget{background-image: url(:/background/media/1st_background.png);} - - - - - true - - - - 0 - 0 - 800 - 481 - - - - - 1 - 1 - - - - - 800 - 400 - - - - - 1024 - 720 - - - - - 800 - 400 - - - - BlankCursor - - - Qt::RightToLeft - - - false - - - #main_content_widget{ -background-image: url(:/background/media/1st_background.png); -} -QTabBar::tab{ - min-width: 80px; - max-width: 80px; - min-height: 100px; - max-height: 100px; - background: transparent; -} - - - - - QTabWidget::West - - - QTabWidget::Rounded - - - 0 - - - - 60 - 60 - - - - Qt::ElideNone - - - false - - - true - - - false - - - false - - - - - 1 - 1 - - - - - 720 - 420 - - - - - 1024 - 720 - - - - - 1024 - 420 - - - - BlankCursor - - - - :/icons/media/main_menu/ICON_home.png - :/icons/media/main_menu/ICON_home_pressed.png - :/icons/media/main_menu/ICON_home_blocked.png:/icons/media/main_menu/ICON_home.png - - - - - - - - 260 - 50 - 80 - 60 - - - - - 1 - 1 - - - - - 60 - 60 - - - - - 90 - 90 - - - - - 1 - 1 - - - - - 60 - 60 - - - - QFrame::StyledPanel - - - QFrame::Plain - - - 0 - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractScrollArea::AdjustToContents - - - QPainter::Antialiasing|QPainter::SmoothPixmapTransform - - - QGraphicsView::SmartViewportUpdate - - - - - - 500 - 120 - 60 - 60 - - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - 60 - 60 - - - - false - - - :/temperatures/media/btn_icons/nozzle.svg - - - icon_text - - - - - - 430 - 60 - 60 - 60 - - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - 16 - 16 - - - - false - - - :/filament/media/btn_icons/material top bar.svg - - - filament_type_display - - - icon_text - - - - - true - - - - 360 - 50 - 60 - 60 - - - - - 1 - 1 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - - - - 16 - 16 - - - - false - - - false - - - false - - - icon - - - :/wifi_icons/media/btn_icons/3fullWIFI.svg - - - - - - 510 - 50 - 120 - 60 - - - - - 1 - 1 - - - - - 60 - 30 - - - - - 120 - 60 - - - - - - - - - 255 - 255 - 255 - - - - - - - 50 - 50 - 50 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 50 - 50 - 50 - - - - - - - 50 - 50 - 50 - - - - - - - 60 - 60 - 60 - - - - - - - 60 - 60 - 60 - - - - - - - - - 255 - 255 - 255 - - - - - - - 50 - 50 - 50 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 50 - 50 - 50 - - - - - - - 50 - 50 - 50 - - - - - - - 60 - 60 - 60 - - - - - - - 60 - 60 - 60 - - - - - - - - - 255 - 255 - 255 - - - - - - - 50 - 50 - 50 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 50 - 50 - 50 - - - - - - - 50 - 50 - 50 - - - - - - - 60 - 60 - 60 - - - - - - - 60 - 60 - 60 - - - - - - - - - - - false - - - false - - - false - - - :/temperatures/media/btn_icons/BED temp.svg - - - bed_temperature_display - - - secondary_display - - - - - - 130 - 50 - 120 - 60 - - - - - 1 - 1 - - - - - 60 - 30 - - - - - 120 - 60 - - - - false - - - - - - false - - - :/temperatures/media/btn_icons/nozzle.svg - - - extruder_temperature_display - - - secondary_display - - - - - - - 1 - 1 - - - - - 720 - 420 - - - - - 1024 - 720 - - - - - 1024 - 420 - - - - BlankCursor - - - - :/icons/media/main_menu/ICON_filament.png - :/icons/media/main_menu/ICON_filament_pressed.png - :/icons/media/main_menu/ICON_filamente_blocked.png:/icons/media/main_menu/ICON_filament.png - - - - - - - - - 1 - 1 - - - - - 720 - 420 - - - - - 1024 - 720 - - - - - 720 - 420 - - - - BlankCursor - - - - :/icons/media/main_menu/ICON_control.png - :/icons/media/main_menu/ICON_control_pressed.png - :/icons/media/main_menu/ICON_control_blocked.png:/icons/media/main_menu/ICON_control.png - - - - - - - - - 1 - 1 - - - - - 720 - 420 - - - - - 1024 - 720 - - - - - 1024 - 420 - - - - BlankCursor - - - - :/icons/media/main_menu/ICON_utilities.png - :/icons/media/main_menu/ICON_utilities_pressed.png - :/icons/media/main_menu/ICON_utilities_blocked.png:/icons/media/main_menu/ICON_utilities.png - - - - - - - - - :/wifi_icons/media/btn_icons/wifi_settings.svg - - - - Page - - - - - - - - BlocksCustomButton - QPushButton -
utils.ui
-
-
- - - - - - - - - - -
diff --git a/BlocksScreen/lib/ui/mainWindow_v2_ui.py b/BlocksScreen/lib/ui/mainWindow_v2_ui.py deleted file mode 100644 index bf757330..00000000 --- a/BlocksScreen/lib/ui/mainWindow_v2_ui.py +++ /dev/null @@ -1,360 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/Blocks_Screen/BlocksScreen/lib/ui/mainWindow_v2.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_MainWindow(object): - def setupUi(self, MainWindow): - MainWindow.setObjectName("MainWindow") - MainWindow.resize(800, 480) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) - MainWindow.setSizePolicy(sizePolicy) - MainWindow.setMinimumSize(QtCore.QSize(800, 480)) - MainWindow.setMaximumSize(QtCore.QSize(1024, 600)) - MainWindow.setSizeIncrement(QtCore.QSize(1, 1)) - MainWindow.setBaseSize(QtCore.QSize(800, 480)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - MainWindow.setPalette(palette) - MainWindow.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - MainWindow.setTabletTracking(True) - icon = QtGui.QIcon.fromTheme("applications-other") - MainWindow.setWindowIcon(icon) - MainWindow.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - MainWindow.setStyleSheet("MainWindow > {\n" -" url(:/font/media/fonts for text/Momcake-Thin.ttf);\n" -"}") - MainWindow.setAnimated(False) - self.main_widget = QtWidgets.QWidget(parent=MainWindow) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.main_widget.sizePolicy().hasHeightForWidth()) - self.main_widget.setSizePolicy(sizePolicy) - self.main_widget.setMinimumSize(QtCore.QSize(800, 480)) - self.main_widget.setMaximumSize(QtCore.QSize(1024, 600)) - self.main_widget.setSizeIncrement(QtCore.QSize(1, 1)) - self.main_widget.setBaseSize(QtCore.QSize(800, 480)) - self.main_widget.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - self.main_widget.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.main_widget.setStyleSheet("#main_widget{background-image: url(:/background/media/1st_background.png);}\n" -"") - self.main_widget.setObjectName("main_widget") - self.main_content_widget = QtWidgets.QTabWidget(parent=self.main_widget) - self.main_content_widget.setEnabled(True) - self.main_content_widget.setGeometry(QtCore.QRect(0, 0, 800, 481)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.main_content_widget.sizePolicy().hasHeightForWidth()) - self.main_content_widget.setSizePolicy(sizePolicy) - self.main_content_widget.setMinimumSize(QtCore.QSize(800, 400)) - self.main_content_widget.setMaximumSize(QtCore.QSize(1024, 720)) - self.main_content_widget.setBaseSize(QtCore.QSize(800, 400)) - self.main_content_widget.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - self.main_content_widget.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.main_content_widget.setAutoFillBackground(False) - self.main_content_widget.setStyleSheet("#main_content_widget{\n" -"background-image: url(:/background/media/1st_background.png);\n" -"}\n" -"QTabBar::tab{\n" -" min-width: 80px;\n" -" max-width: 80px;\n" -" min-height: 100px;\n" -" max-height: 100px;\n" -" background: transparent;\n" -"}\n" -"\n" -"") - self.main_content_widget.setTabPosition(QtWidgets.QTabWidget.TabPosition.West) - self.main_content_widget.setTabShape(QtWidgets.QTabWidget.TabShape.Rounded) - self.main_content_widget.setIconSize(QtCore.QSize(60, 60)) - self.main_content_widget.setElideMode(QtCore.Qt.TextElideMode.ElideNone) - self.main_content_widget.setUsesScrollButtons(False) - self.main_content_widget.setDocumentMode(True) - self.main_content_widget.setTabsClosable(False) - self.main_content_widget.setMovable(False) - self.main_content_widget.setObjectName("main_content_widget") - self.printTab = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.printTab.sizePolicy().hasHeightForWidth()) - self.printTab.setSizePolicy(sizePolicy) - self.printTab.setMinimumSize(QtCore.QSize(720, 420)) - self.printTab.setMaximumSize(QtCore.QSize(1024, 720)) - self.printTab.setBaseSize(QtCore.QSize(1024, 420)) - self.printTab.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - self.printTab.setObjectName("printTab") - self.header_image_logo = QtWidgets.QGraphicsView(parent=self.printTab) - self.header_image_logo.setGeometry(QtCore.QRect(260, 50, 80, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.header_image_logo.sizePolicy().hasHeightForWidth()) - self.header_image_logo.setSizePolicy(sizePolicy) - self.header_image_logo.setMinimumSize(QtCore.QSize(60, 60)) - self.header_image_logo.setMaximumSize(QtCore.QSize(90, 90)) - self.header_image_logo.setSizeIncrement(QtCore.QSize(1, 1)) - self.header_image_logo.setBaseSize(QtCore.QSize(60, 60)) - self.header_image_logo.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) - self.header_image_logo.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) - self.header_image_logo.setLineWidth(0) - self.header_image_logo.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.header_image_logo.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.header_image_logo.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.SizeAdjustPolicy.AdjustToContents) - self.header_image_logo.setRenderHints(QtGui.QPainter.RenderHint.Antialiasing|QtGui.QPainter.RenderHint.SmoothPixmapTransform) - self.header_image_logo.setViewportUpdateMode(QtWidgets.QGraphicsView.ViewportUpdateMode.SmartViewportUpdate) - self.header_image_logo.setObjectName("header_image_logo") - self.nozzle_size_icon = BlocksCustomButton(parent=self.printTab) - self.nozzle_size_icon.setGeometry(QtCore.QRect(500, 120, 60, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.nozzle_size_icon.sizePolicy().hasHeightForWidth()) - self.nozzle_size_icon.setSizePolicy(sizePolicy) - self.nozzle_size_icon.setMinimumSize(QtCore.QSize(60, 60)) - self.nozzle_size_icon.setMaximumSize(QtCore.QSize(60, 60)) - self.nozzle_size_icon.setText("") - self.nozzle_size_icon.setIconSize(QtCore.QSize(60, 60)) - self.nozzle_size_icon.setFlat(False) - self.nozzle_size_icon.setProperty("icon_pixmap", QtGui.QPixmap(":/temperatures/media/btn_icons/nozzle.svg")) - self.nozzle_size_icon.setObjectName("nozzle_size_icon") - self.filament_type_icon = BlocksCustomButton(parent=self.printTab) - self.filament_type_icon.setGeometry(QtCore.QRect(430, 60, 60, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.filament_type_icon.sizePolicy().hasHeightForWidth()) - self.filament_type_icon.setSizePolicy(sizePolicy) - self.filament_type_icon.setMinimumSize(QtCore.QSize(60, 60)) - self.filament_type_icon.setMaximumSize(QtCore.QSize(60, 60)) - self.filament_type_icon.setText("") - self.filament_type_icon.setIconSize(QtCore.QSize(16, 16)) - self.filament_type_icon.setFlat(False) - self.filament_type_icon.setProperty("icon_pixmap", QtGui.QPixmap(":/filament/media/btn_icons/material top bar.svg")) - self.filament_type_icon.setObjectName("filament_type_icon") - self.wifi_button = BlocksCustomButton(parent=self.printTab) - self.wifi_button.setEnabled(True) - self.wifi_button.setGeometry(QtCore.QRect(360, 50, 60, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.wifi_button.sizePolicy().hasHeightForWidth()) - self.wifi_button.setSizePolicy(sizePolicy) - self.wifi_button.setMinimumSize(QtCore.QSize(60, 60)) - self.wifi_button.setMaximumSize(QtCore.QSize(60, 60)) - self.wifi_button.setStyleSheet("") - self.wifi_button.setText("") - self.wifi_button.setIconSize(QtCore.QSize(16, 16)) - self.wifi_button.setCheckable(False) - self.wifi_button.setChecked(False) - self.wifi_button.setFlat(False) - self.wifi_button.setProperty("icon_pixmap", QtGui.QPixmap(":/wifi_icons/media/btn_icons/3fullWIFI.svg")) - self.wifi_button.setObjectName("wifi_button") - self.bed_temp_display = BlocksCustomButton(parent=self.printTab) - self.bed_temp_display.setGeometry(QtCore.QRect(510, 50, 120, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.bed_temp_display.sizePolicy().hasHeightForWidth()) - self.bed_temp_display.setSizePolicy(sizePolicy) - self.bed_temp_display.setMinimumSize(QtCore.QSize(60, 30)) - self.bed_temp_display.setMaximumSize(QtCore.QSize(120, 60)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) - brush = QtGui.QBrush(QtGui.QColor(60, 60, 60)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Highlight, brush) - brush = QtGui.QBrush(QtGui.QColor(60, 60, 60)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.HighlightedText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) - brush = QtGui.QBrush(QtGui.QColor(60, 60, 60)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Highlight, brush) - brush = QtGui.QBrush(QtGui.QColor(60, 60, 60)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.HighlightedText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) - brush = QtGui.QBrush(QtGui.QColor(50, 50, 50)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) - brush = QtGui.QBrush(QtGui.QColor(60, 60, 60)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Highlight, brush) - brush = QtGui.QBrush(QtGui.QColor(60, 60, 60)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.HighlightedText, brush) - self.bed_temp_display.setPalette(palette) - self.bed_temp_display.setText("") - self.bed_temp_display.setCheckable(False) - self.bed_temp_display.setDefault(False) - self.bed_temp_display.setFlat(False) - self.bed_temp_display.setProperty("icon_pixmap", QtGui.QPixmap(":/temperatures/media/btn_icons/BED temp.svg")) - self.bed_temp_display.setObjectName("bed_temp_display") - self.extruder_temp_display = BlocksCustomButton(parent=self.printTab) - self.extruder_temp_display.setGeometry(QtCore.QRect(130, 50, 120, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.extruder_temp_display.sizePolicy().hasHeightForWidth()) - self.extruder_temp_display.setSizePolicy(sizePolicy) - self.extruder_temp_display.setMinimumSize(QtCore.QSize(60, 30)) - self.extruder_temp_display.setMaximumSize(QtCore.QSize(120, 60)) - self.extruder_temp_display.setAutoFillBackground(False) - self.extruder_temp_display.setText("") - self.extruder_temp_display.setFlat(False) - self.extruder_temp_display.setProperty("icon_pixmap", QtGui.QPixmap(":/temperatures/media/btn_icons/nozzle.svg")) - self.extruder_temp_display.setObjectName("extruder_temp_display") - icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_home.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) - icon.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_home_pressed.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.On) - icon.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_home_blocked.png"), QtGui.QIcon.Mode.Disabled, QtGui.QIcon.State.On) - self.main_content_widget.addTab(self.printTab, icon, "") - self.filamentTab = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.filamentTab.sizePolicy().hasHeightForWidth()) - self.filamentTab.setSizePolicy(sizePolicy) - self.filamentTab.setMinimumSize(QtCore.QSize(720, 420)) - self.filamentTab.setMaximumSize(QtCore.QSize(1024, 720)) - self.filamentTab.setBaseSize(QtCore.QSize(1024, 420)) - self.filamentTab.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - self.filamentTab.setObjectName("filamentTab") - icon1 = QtGui.QIcon() - icon1.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_filament.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) - icon1.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_filament_pressed.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.On) - icon1.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_filamente_blocked.png"), QtGui.QIcon.Mode.Disabled, QtGui.QIcon.State.On) - self.main_content_widget.addTab(self.filamentTab, icon1, "") - self.controlTab = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.controlTab.sizePolicy().hasHeightForWidth()) - self.controlTab.setSizePolicy(sizePolicy) - self.controlTab.setMinimumSize(QtCore.QSize(720, 420)) - self.controlTab.setMaximumSize(QtCore.QSize(1024, 720)) - self.controlTab.setBaseSize(QtCore.QSize(720, 420)) - self.controlTab.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - self.controlTab.setObjectName("controlTab") - icon2 = QtGui.QIcon() - icon2.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_control.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) - icon2.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_control_pressed.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.On) - icon2.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_control_blocked.png"), QtGui.QIcon.Mode.Disabled, QtGui.QIcon.State.On) - self.main_content_widget.addTab(self.controlTab, icon2, "") - self.utilitiesTab = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.utilitiesTab.sizePolicy().hasHeightForWidth()) - self.utilitiesTab.setSizePolicy(sizePolicy) - self.utilitiesTab.setMinimumSize(QtCore.QSize(720, 420)) - self.utilitiesTab.setMaximumSize(QtCore.QSize(1024, 720)) - self.utilitiesTab.setBaseSize(QtCore.QSize(1024, 420)) - self.utilitiesTab.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.BlankCursor)) - self.utilitiesTab.setObjectName("utilitiesTab") - icon3 = QtGui.QIcon() - icon3.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_utilities.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) - icon3.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_utilities_pressed.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.On) - icon3.addPixmap(QtGui.QPixmap(":/icons/media/main_menu/ICON_utilities_blocked.png"), QtGui.QIcon.Mode.Disabled, QtGui.QIcon.State.On) - self.main_content_widget.addTab(self.utilitiesTab, icon3, "") - self.wifiTab = QtWidgets.QWidget() - self.wifiTab.setObjectName("wifiTab") - icon4 = QtGui.QIcon() - icon4.addPixmap(QtGui.QPixmap(":/wifi_icons/media/btn_icons/wifi_settings.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.On) - self.main_content_widget.addTab(self.wifiTab, icon4, "") - MainWindow.setCentralWidget(self.main_widget) - - self.retranslateUi(MainWindow) - self.main_content_widget.setCurrentIndex(0) - QtCore.QMetaObject.connectSlotsByName(MainWindow) - - def retranslateUi(self, MainWindow): - _translate = QtCore.QCoreApplication.translate - MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) - self.nozzle_size_icon.setProperty("button_type", _translate("MainWindow", "icon_text")) - self.filament_type_icon.setProperty("name", _translate("MainWindow", "filament_type_display")) - self.filament_type_icon.setProperty("button_type", _translate("MainWindow", "icon_text")) - self.wifi_button.setProperty("button_type", _translate("MainWindow", "icon")) - self.bed_temp_display.setProperty("name", _translate("MainWindow", "bed_temperature_display")) - self.bed_temp_display.setProperty("button_type", _translate("MainWindow", "secondary_display")) - self.extruder_temp_display.setProperty("name", _translate("MainWindow", "extruder_temperature_display")) - self.extruder_temp_display.setProperty("button_type", _translate("MainWindow", "secondary_display")) - self.main_content_widget.setTabText(self.main_content_widget.indexOf(self.wifiTab), _translate("MainWindow", "Page")) -from utils.blocks_button import BlocksCustomButton diff --git a/BlocksScreen/lib/ui/option_card.ui b/BlocksScreen/lib/ui/option_card.ui deleted file mode 100644 index f0076876..00000000 --- a/BlocksScreen/lib/ui/option_card.ui +++ /dev/null @@ -1,126 +0,0 @@ - - - option_card - - - - 0 - 0 - 200 - 300 - - - - - 0 - 0 - - - - - 200 - 300 - - - - - 400 - 500 - - - - Frame - - - - 0 - - - 0 - - - - - - 200 - 150 - - - - TextLabel - - - - - - - - 200 - 0 - - - - Qt::Horizontal - - - - - - - - 200 - 50 - - - - TextLabel - - - - - - - - 0 - 0 - - - - - 200 - 80 - - - - - - - true - - - icon - - - :/arrow_icons/media/btn_icons/right move axis.svg - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.ui
-
- - BlocksLabel - QLabel -
lib.utils.ui
-
-
- - - - -
diff --git a/BlocksScreen/lib/ui/option_card_ui.py b/BlocksScreen/lib/ui/option_card_ui.py deleted file mode 100644 index b6a39f3a..00000000 --- a/BlocksScreen/lib/ui/option_card_ui.py +++ /dev/null @@ -1,62 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/Blocks_Screen/BlocksScreen/lib/ui/option_card.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_option_card(object): - def setupUi(self, option_card): - option_card.setObjectName("option_card") - option_card.resize(200, 300) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.Ignored) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(option_card.sizePolicy().hasHeightForWidth()) - option_card.setSizePolicy(sizePolicy) - option_card.setMinimumSize(QtCore.QSize(200, 300)) - option_card.setMaximumSize(QtCore.QSize(400, 500)) - self.verticalLayout = QtWidgets.QVBoxLayout(option_card) - self.verticalLayout.setContentsMargins(0, 0, -1, -1) - self.verticalLayout.setObjectName("verticalLayout") - self.option_icon = BlocksLabel(parent=option_card) - self.option_icon.setMinimumSize(QtCore.QSize(200, 150)) - self.option_icon.setObjectName("option_icon") - self.verticalLayout.addWidget(self.option_icon, 0, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.line = QtWidgets.QFrame(parent=option_card) - self.line.setMinimumSize(QtCore.QSize(200, 0)) - self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line.setObjectName("line") - self.verticalLayout.addWidget(self.line, 0, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.option_text = QtWidgets.QLabel(parent=option_card) - self.option_text.setMinimumSize(QtCore.QSize(200, 50)) - self.option_text.setObjectName("option_text") - self.verticalLayout.addWidget(self.option_text) - self.continue_button = BlocksCustomButton(parent=option_card) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.continue_button.sizePolicy().hasHeightForWidth()) - self.continue_button.setSizePolicy(sizePolicy) - self.continue_button.setMinimumSize(QtCore.QSize(200, 80)) - self.continue_button.setText("") - self.continue_button.setFlat(True) - self.continue_button.setProperty("icon_pixmap", QtGui.QPixmap(":/arrow_icons/media/btn_icons/right move axis.svg")) - self.continue_button.setObjectName("continue_button") - self.verticalLayout.addWidget(self.continue_button) - - self.retranslateUi(option_card) - QtCore.QMetaObject.connectSlotsByName(option_card) - - def retranslateUi(self, option_card): - _translate = QtCore.QCoreApplication.translate - option_card.setWindowTitle(_translate("option_card", "Frame")) - self.option_icon.setText(_translate("option_card", "TextLabel")) - self.option_text.setText(_translate("option_card", "TextLabel")) - self.continue_button.setProperty("button_type", _translate("option_card", "icon")) -from lib.utils.ui import BlocksCustomButton, BlocksLabel diff --git a/BlocksScreen/lib/ui/printStackedWidget.ui b/BlocksScreen/lib/ui/printStackedWidget.ui deleted file mode 100644 index 01c231d3..00000000 --- a/BlocksScreen/lib/ui/printStackedWidget.ui +++ /dev/null @@ -1,2671 +0,0 @@ - - - printStackedWidget - - - Qt::WindowModal - - - - 0 - 0 - 710 - 411 - - - - - 0 - 0 - - - - - 710 - 410 - - - - - 720 - 420 - - - - StackedWidget - - - 0 - - - :/background/media/graphics/scroll_list_window.svg - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - - - 230 - 120 - 250 - 80 - - - - - 0 - 0 - - - - - 250 - 80 - - - - - 250 - 80 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Print - - - false - - - true - - - menu_btn - - - :/ui/media/btn_icons/print.svg - - - - - true - - - - 105 - 180 - 500 - 200 - - - - - 0 - 0 - - - - - 0 - 200 - - - - - 500 - 200 - - - - - Montserrat - 19 - - - - background: transparent; color: white; - - - Printer ready - - - Qt::AlignCenter - - - Qt::NoTextInteraction - - - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - - PreferAntialias - - - - Qt::LeftToRight - - - false - - - #file_page{ - background-color: transparent; -} - - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - Back - - - true - - - back_btn - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - Reload - - - true - - - icon - - - :/ui/media/btn_icons/refresh.svg - - - - - - - - - - 0 - 0 - - - - Qt::Horizontal - - - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - QListWidget{background-color: transparent;} - -QLabel{ -color: #ffffff; -} - - - QAbstractItemView::NoEditTriggers - - - false - - - Qt::IgnoreAction - - - true - - - - - - - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - Qt::LeftToRight - - - - - - - - - 0 - 60 - - - - - 16777215 - 60 - - - - - Momcake - 24 - - - - Qt::RightToLeft - - - background: transparent; color: white; - - - CONFIRM - - - Qt::AlignCenter - - - title_text - - - - - - - - - - - - - true - - - - 230 - 60 - - - - - 250 - 60 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - Do you want to print this file? - - - Qt::AlignCenter - - - true - - - - - - - true - - - - 250 - 80 - - - - - 250 - 80 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - Dinossauro Falico - - - Qt::AlignCenter - - - true - - - - - - - 2 - - - QLayout::SetFixedSize - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 200 - 100 - - - - - 200 - 100 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Yes - - - false - - - true - - - menu_btn - - - normal - - - :/dialog/media/btn_icons/yes.svg - - - - - - - - 0 - 0 - - - - - 200 - 100 - - - - - 200 - 100 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - No - - - false - - - true - - - menu_btn - - - normal - - - :/dialog/media/btn_icons/no.svg - - - - - - - - - - - - 1 - 1 - - - - - 400 - 300 - - - - - 400 - 300 - - - - QGraphicsView{ -background-color: transparent; -} - - - QFrame::NoFrame - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractScrollArea::AdjustIgnored - - - - - 0 - 0 - 0 - - - - - QPainter::Antialiasing|QPainter::SmoothPixmapTransform|QPainter::TextAntialiasing - - - QGraphicsView::SmartViewportUpdate - - - - - - - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - Qt::LeftToRight - - - - - - 20 - - - 1 - - - 1 - - - 1 - - - 1 - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - Momcake - 14 - - - - Qt::RightToLeft - - - background: transparent; color: white; - - - - - - Qt::AlignCenter - - - title_text - - - :/files/media/btn_icons/file_icon.svg - - - - - - - true - - - - 0 - 0 - - - - - 200 - 60 - - - - - 16777215 - 60 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - Currently printing file - - - Qt::AlignCenter - - - - - - - - - 5 - - - QLayout::SetMinimumSize - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - 0 - 0 - - - - - 680 - 100 - - - - QFrame::NoFrame - - - QFrame::Plain - - - 0 - - - - 5 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 200 - 70 - - - - - 16777215 - 70 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Pause - - - false - - - true - - - menu_btn - - - normal - - - :/ui/media/btn_icons/pause.svg - - - - - - - - 0 - 0 - - - - - 200 - 70 - - - - - 16777215 - 70 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Stop - - - false - - - true - - - menu_btn - - - normal - - - :/ui/media/btn_icons/stop.svg - - - - - - - - 0 - 0 - - - - - 200 - 70 - - - - - 16777215 - 70 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Tune - - - false - - - true - - - menu_btn - - - normal - - - :/ui/media/btn_icons/tune.svg - - - - - - - - - - - - - 0 - 0 - - - - - Momcake - 16 - - - - Qt::RightToLeft - - - background: transparent; color: white; - - - Progress - - - Qt::AlignCenter - - - title_text - - - - - - - true - - - - 0 - 0 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - - - - 0 - 0 - - - - Qt::LeftToRight - - - 24 - - - - - - - - - - - false - - - - 0 - 0 - - - - - 150 - 40 - - - - - 150 - 40 - - - - - - - false - - - true - - - display_secondary - - - :/ui/media/btn_icons/layers.svg - - - layer_count_display_button - - - - - - - false - - - - 0 - 0 - - - - - 150 - 40 - - - - SplitHCursor - - - - - - false - - - true - - - display - - - :/ui/media/btn_icons/time.svg - - - - - - - - - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - Qt::LeftToRight - - - #BlocksPushButton{ - font-color: rgb(255,255,255,255); -} - - - - - - 20 - - - - - - 0 - 60 - - - - - 16777215 - 60 - - - - - Momcake - 24 - - - - Qt::RightToLeft - - - background: transparent; color: white; - - - TUNE - - - Qt::AlignCenter - - - title_text - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - - 32 - 32 - - - - true - - - - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - - - - - - - 200 - 70 - - - - - 200 - 70 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Babystep - - - false - - - true - - - menu_btn - - - normal - - - :/z_levelling/media/btn_icons/baby_step_icon.svg - - - - - - - - 200 - 70 - - - - - 200 - 70 - - - - - MS Shell Dlg 2 - 18 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Filament -Change - - - false - - - true - - - menu_btn - - - normal - - - :/filament_related/media/btn_icons/change_filament.svg - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - - - - false - - - true - - - menu_btn - - - icon - - - :/filament_related/media/btn_icons/filament_sensor.svg - - - - - - - - - QLayout::SetDefaultConstraint - - - 2 - - - 2 - - - 2 - - - 2 - - - 1 - - - - - - 0 - 0 - - - - - 150 - 60 - - - - - 150 - 60 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - - - - 60 - 60 - - - - true - - - :/temperature_related/media/btn_icons/temperature_plate.svg - - - bed_temperature_display - - - display - - - - - - - - 0 - 0 - - - - - 150 - 60 - - - - - 150 - 60 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - - - - - true - - - :/temperature_related/media/btn_icons/temperature.svg - - - extruder_temperature_display - - - display - - - - - - - - 0 - 0 - - - - - 150 - 60 - - - - - 150 - 60 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - - - PreferAntialias - - - - - - - true - - - :/motion/media/btn_icons/speed.svg - - - print_speed_display - - - display - - - - - - - - - - - 1 - 1 - - - - - 710 - 400 - - - - - 720 - 420 - - - - Qt::LeftToRight - - - - - - - - - - - - 0 - 0 - - - - - 200 - 60 - - - - - 16777215 - 16777215 - - - - - 24 - - - - background: transparent; color: white; - - - Z Babystep - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - true - - - icon - - - :/ui/media/btn_icons/back.svg - - - - - - - - - - - - 0 - 0 - - - - - 350 - 160 - - - - - 350 - 160 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 0 - 30 - 371 - 121 - - - - Qt::RightToLeft - - - - - - :/graphics/media/graphics/babystep_graphic.png - - - false - - - Qt::AlignCenter - - - - - - 130 - 70 - 200 - 60 - - - - - 0 - 0 - - - - - 150 - 60 - - - - - 200 - 60 - - - - - 13 - - - - background: transparent; color: white; - - - - - - :/graphics/media/btn_icons/z_offset_adjust.svg - - - Qt::AlignCenter - - - - - - - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - 0 - 0 - - - - - 80 - 80 - - - - - 80 - 80 - - - - ~^ - - - true - - - icon - - - :/arrow_icons/media/btn_icons/up_arrow.svg - - - bbp_option_button_group - - - - - - - - 0 - 0 - - - - - 80 - 80 - - - - - 80 - 80 - - - - ^ - - - true - - - :/arrow_icons/media/btn_icons/down_arrow.svg - - - icon - - - bbp_option_button_group - - - - - - - - - - - 9 - - - 9 - - - 9 - - - 9 - - - - - - 60 - 60 - - - - - 100 - 80 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - 14 - - - - 0.01 - - - true - - - true - - - - - - - - - bbp_offset_value_selector_group - - - - - - - Qt::Vertical - - - - - - - - 60 - 60 - - - - - 100 - 80 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - 14 - - - - 0.025 - - - true - - - true - - - - - - - - - bbp_offset_value_selector_group - - - - - - - Qt::Vertical - - - - - - - - 60 - 60 - - - - - 100 - 80 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - 14 - - - - 0.05 - - - true - - - true - - - - - - - - - bbp_offset_value_selector_group - - - - - - - Qt::Vertical - - - - - - - - 60 - 60 - - - - - 100 - 80 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - 14 - - - - 0.1 - - - true - - - true - - - true - - - - - - - - - bbp_offset_value_selector_group - - - - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.blocks_button
-
- - IconButton - QPushButton -
lib.utils.icon_button
-
- - DisplayButton - QPushButton -
lib.utils.display_button
-
- - BlocksLabel - QLabel -
lib.utils.blocks_label
-
-
- - - - - - - - - - - - -
diff --git a/BlocksScreen/lib/ui/printStackedWidget_ui.py b/BlocksScreen/lib/ui/printStackedWidget_ui.py deleted file mode 100644 index 6bb24069..00000000 --- a/BlocksScreen/lib/ui/printStackedWidget_ui.py +++ /dev/null @@ -1,1074 +0,0 @@ -# Form implementation generated from reading ui file '/home/levi/main/Blocks_Screen/BlocksScreen/lib/ui/printStackedWidget.ui' -# -# Created by: PyQt6 UI code generator 6.7.1 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_printStackedWidget(object): - def setupUi(self, printStackedWidget): - printStackedWidget.setObjectName("printStackedWidget") - printStackedWidget.setWindowModality(QtCore.Qt.WindowModality.WindowModal) - printStackedWidget.resize(710, 411) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(printStackedWidget.sizePolicy().hasHeightForWidth()) - printStackedWidget.setSizePolicy(sizePolicy) - printStackedWidget.setMinimumSize(QtCore.QSize(710, 410)) - printStackedWidget.setMaximumSize(QtCore.QSize(720, 420)) - printStackedWidget.setProperty("backgroundPixmap", QtGui.QPixmap(":/background/media/graphics/scroll_list_window.svg")) - self.print_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.print_page.sizePolicy().hasHeightForWidth()) - self.print_page.setSizePolicy(sizePolicy) - self.print_page.setMinimumSize(QtCore.QSize(710, 400)) - self.print_page.setMaximumSize(QtCore.QSize(720, 420)) - self.print_page.setObjectName("print_page") - self.main_print_btn = BlocksCustomButton(parent=self.print_page) - self.main_print_btn.setGeometry(QtCore.QRect(230, 120, 250, 80)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.main_print_btn.sizePolicy().hasHeightForWidth()) - self.main_print_btn.setSizePolicy(sizePolicy) - self.main_print_btn.setMinimumSize(QtCore.QSize(250, 80)) - self.main_print_btn.setMaximumSize(QtCore.QSize(250, 80)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.main_print_btn.setFont(font) - self.main_print_btn.setMouseTracking(False) - self.main_print_btn.setTabletTracking(True) - self.main_print_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.main_print_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.main_print_btn.setStyleSheet("") - self.main_print_btn.setAutoDefault(False) - self.main_print_btn.setFlat(True) - self.main_print_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/print.svg")) - self.main_print_btn.setObjectName("main_print_btn") - self.main_text_label = QtWidgets.QLabel(parent=self.print_page) - self.main_text_label.setEnabled(True) - self.main_text_label.setGeometry(QtCore.QRect(105, 180, 500, 200)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.main_text_label.sizePolicy().hasHeightForWidth()) - self.main_text_label.setSizePolicy(sizePolicy) - self.main_text_label.setMinimumSize(QtCore.QSize(0, 200)) - self.main_text_label.setMaximumSize(QtCore.QSize(500, 200)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(19) - self.main_text_label.setFont(font) - self.main_text_label.setStyleSheet("background: transparent; color: white;") - self.main_text_label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.main_text_label.setTextInteractionFlags(QtCore.Qt.TextInteractionFlag.NoTextInteraction) - self.main_text_label.setObjectName("main_text_label") - printStackedWidget.addWidget(self.print_page) - self.files_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.files_page.sizePolicy().hasHeightForWidth()) - self.files_page.setSizePolicy(sizePolicy) - self.files_page.setMinimumSize(QtCore.QSize(710, 400)) - self.files_page.setMaximumSize(QtCore.QSize(720, 420)) - font = QtGui.QFont() - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.files_page.setFont(font) - self.files_page.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.files_page.setAutoFillBackground(False) - self.files_page.setStyleSheet("#file_page{\n" -" background-color: transparent;\n" -"}") - self.files_page.setObjectName("files_page") - self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.files_page) - self.verticalLayout_5.setObjectName("verticalLayout_5") - self.fp_header_layout = QtWidgets.QHBoxLayout() - self.fp_header_layout.setObjectName("fp_header_layout") - self.back_btn = IconButton(parent=self.files_page) - self.back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.back_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.back_btn.setFlat(True) - self.back_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.back_btn.setObjectName("back_btn") - self.fp_header_layout.addWidget(self.back_btn, 0, QtCore.Qt.AlignmentFlag.AlignLeft) - self.ReloadButton = IconButton(parent=self.files_page) - self.ReloadButton.setMinimumSize(QtCore.QSize(60, 60)) - self.ReloadButton.setMaximumSize(QtCore.QSize(60, 60)) - self.ReloadButton.setFlat(True) - self.ReloadButton.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/refresh.svg")) - self.ReloadButton.setObjectName("ReloadButton") - self.fp_header_layout.addWidget(self.ReloadButton, 0, QtCore.Qt.AlignmentFlag.AlignRight) - self.verticalLayout_5.addLayout(self.fp_header_layout) - self.line = QtWidgets.QFrame(parent=self.files_page) - self.line.setMinimumSize(QtCore.QSize(0, 0)) - self.line.setFrameShape(QtWidgets.QFrame.Shape.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line.setObjectName("line") - self.verticalLayout_5.addWidget(self.line) - self.fp_content_layout = QtWidgets.QVBoxLayout() - self.fp_content_layout.setContentsMargins(5, 5, 5, 5) - self.fp_content_layout.setObjectName("fp_content_layout") - self.listWidget = QtWidgets.QListWidget(parent=self.files_page) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, brush) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, brush) - self.listWidget.setPalette(palette) - self.listWidget.setStyleSheet("QListWidget{background-color: transparent;}\n" -"\n" -"QLabel{\n" -"color: #ffffff;\n" -"}") - self.listWidget.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) - self.listWidget.setProperty("showDropIndicator", False) - self.listWidget.setDefaultDropAction(QtCore.Qt.DropAction.IgnoreAction) - self.listWidget.setUniformItemSizes(True) - self.listWidget.setObjectName("listWidget") - self.fp_content_layout.addWidget(self.listWidget) - self.verticalLayout_5.addLayout(self.fp_content_layout) - printStackedWidget.addWidget(self.files_page) - self.confirm_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.confirm_page.sizePolicy().hasHeightForWidth()) - self.confirm_page.setSizePolicy(sizePolicy) - self.confirm_page.setMinimumSize(QtCore.QSize(710, 400)) - self.confirm_page.setMaximumSize(QtCore.QSize(720, 420)) - self.confirm_page.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.confirm_page.setObjectName("confirm_page") - self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.confirm_page) - self.verticalLayout_4.setObjectName("verticalLayout_4") - self.cf_header_title = QtWidgets.QHBoxLayout() - self.cf_header_title.setObjectName("cf_header_title") - self.confirm_title_label = QtWidgets.QLabel(parent=self.confirm_page) - self.confirm_title_label.setMinimumSize(QtCore.QSize(0, 60)) - self.confirm_title_label.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.confirm_title_label.setFont(font) - self.confirm_title_label.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.confirm_title_label.setStyleSheet("background: transparent; color: white;") - self.confirm_title_label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.confirm_title_label.setObjectName("confirm_title_label") - self.cf_header_title.addWidget(self.confirm_title_label) - self.verticalLayout_4.addLayout(self.cf_header_title) - self.cf_content_vertical_layout = QtWidgets.QHBoxLayout() - self.cf_content_vertical_layout.setObjectName("cf_content_vertical_layout") - self.cf_content_horizontal_layout = QtWidgets.QVBoxLayout() - self.cf_content_horizontal_layout.setObjectName("cf_content_horizontal_layout") - self.cf_info = QtWidgets.QLabel(parent=self.confirm_page) - self.cf_info.setEnabled(True) - self.cf_info.setMinimumSize(QtCore.QSize(230, 60)) - self.cf_info.setMaximumSize(QtCore.QSize(250, 60)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.cf_info.setFont(font) - self.cf_info.setStyleSheet("background: transparent; color: white;") - self.cf_info.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.cf_info.setWordWrap(True) - self.cf_info.setObjectName("cf_info") - self.cf_content_horizontal_layout.addWidget(self.cf_info, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cf_file_name = BlocksLabel(parent=self.confirm_page) - self.cf_file_name.setEnabled(True) - self.cf_file_name.setMinimumSize(QtCore.QSize(250, 80)) - self.cf_file_name.setMaximumSize(QtCore.QSize(250, 80)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.cf_file_name.setFont(font) - self.cf_file_name.setStyleSheet("background: transparent; color: white;") - self.cf_file_name.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.cf_file_name.setWordWrap(True) - self.cf_file_name.setObjectName("cf_file_name") - self.cf_content_horizontal_layout.addWidget(self.cf_file_name, 0, QtCore.Qt.AlignmentFlag.AlignHCenter) - self.cf_confirm_layout = QtWidgets.QVBoxLayout() - self.cf_confirm_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetFixedSize) - self.cf_confirm_layout.setContentsMargins(0, 0, 0, 0) - self.cf_confirm_layout.setSpacing(2) - self.cf_confirm_layout.setObjectName("cf_confirm_layout") - self.confirm_yes_text_label = BlocksCustomButton(parent=self.confirm_page) - self.confirm_yes_text_label.setMinimumSize(QtCore.QSize(200, 100)) - self.confirm_yes_text_label.setMaximumSize(QtCore.QSize(200, 100)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.confirm_yes_text_label.setFont(font) - self.confirm_yes_text_label.setMouseTracking(False) - self.confirm_yes_text_label.setTabletTracking(True) - self.confirm_yes_text_label.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.confirm_yes_text_label.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.confirm_yes_text_label.setStyleSheet("") - self.confirm_yes_text_label.setAutoDefault(False) - self.confirm_yes_text_label.setFlat(True) - self.confirm_yes_text_label.setProperty("icon_pixmap", QtGui.QPixmap(":/dialog/media/btn_icons/yes.svg")) - self.confirm_yes_text_label.setObjectName("confirm_yes_text_label") - self.cf_confirm_layout.addWidget(self.confirm_yes_text_label, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.confirm_no_text_label = BlocksCustomButton(parent=self.confirm_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.confirm_no_text_label.sizePolicy().hasHeightForWidth()) - self.confirm_no_text_label.setSizePolicy(sizePolicy) - self.confirm_no_text_label.setMinimumSize(QtCore.QSize(200, 100)) - self.confirm_no_text_label.setMaximumSize(QtCore.QSize(200, 100)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.confirm_no_text_label.setFont(font) - self.confirm_no_text_label.setMouseTracking(False) - self.confirm_no_text_label.setTabletTracking(True) - self.confirm_no_text_label.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.confirm_no_text_label.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.confirm_no_text_label.setStyleSheet("") - self.confirm_no_text_label.setAutoDefault(False) - self.confirm_no_text_label.setFlat(True) - self.confirm_no_text_label.setProperty("icon_pixmap", QtGui.QPixmap(":/dialog/media/btn_icons/no.svg")) - self.confirm_no_text_label.setObjectName("confirm_no_text_label") - self.cf_confirm_layout.addWidget(self.confirm_no_text_label, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.cf_content_horizontal_layout.addLayout(self.cf_confirm_layout) - self.cf_content_vertical_layout.addLayout(self.cf_content_horizontal_layout) - self.cf_thumbnail = QtWidgets.QGraphicsView(parent=self.confirm_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.cf_thumbnail.sizePolicy().hasHeightForWidth()) - self.cf_thumbnail.setSizePolicy(sizePolicy) - self.cf_thumbnail.setMinimumSize(QtCore.QSize(400, 300)) - self.cf_thumbnail.setMaximumSize(QtCore.QSize(400, 300)) - self.cf_thumbnail.setStyleSheet("QGraphicsView{\n" -"background-color: transparent;\n" -"}") - self.cf_thumbnail.setFrameShape(QtWidgets.QFrame.Shape.NoFrame) - self.cf_thumbnail.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) - self.cf_thumbnail.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.cf_thumbnail.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.cf_thumbnail.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.SizeAdjustPolicy.AdjustIgnored) - brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0)) - brush.setStyle(QtCore.Qt.BrushStyle.NoBrush) - self.cf_thumbnail.setBackgroundBrush(brush) - self.cf_thumbnail.setRenderHints(QtGui.QPainter.RenderHint.Antialiasing|QtGui.QPainter.RenderHint.SmoothPixmapTransform|QtGui.QPainter.RenderHint.TextAntialiasing) - self.cf_thumbnail.setViewportUpdateMode(QtWidgets.QGraphicsView.ViewportUpdateMode.SmartViewportUpdate) - self.cf_thumbnail.setObjectName("cf_thumbnail") - self.cf_content_vertical_layout.addWidget(self.cf_thumbnail, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.verticalLayout_4.addLayout(self.cf_content_vertical_layout) - printStackedWidget.addWidget(self.confirm_page) - self.job_status_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.job_status_page.sizePolicy().hasHeightForWidth()) - self.job_status_page.setSizePolicy(sizePolicy) - self.job_status_page.setMinimumSize(QtCore.QSize(710, 400)) - self.job_status_page.setMaximumSize(QtCore.QSize(720, 420)) - self.job_status_page.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.job_status_page.setObjectName("job_status_page") - self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.job_status_page) - self.verticalLayout_3.setObjectName("verticalLayout_3") - self.job_status_header_layout = QtWidgets.QHBoxLayout() - self.job_status_header_layout.setContentsMargins(1, 1, 1, 1) - self.job_status_header_layout.setSpacing(20) - self.job_status_header_layout.setObjectName("job_status_header_layout") - self.js_file_name_icon = BlocksLabel(parent=self.job_status_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.js_file_name_icon.sizePolicy().hasHeightForWidth()) - self.js_file_name_icon.setSizePolicy(sizePolicy) - self.js_file_name_icon.setMinimumSize(QtCore.QSize(60, 60)) - self.js_file_name_icon.setMaximumSize(QtCore.QSize(60, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(14) - self.js_file_name_icon.setFont(font) - self.js_file_name_icon.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.js_file_name_icon.setStyleSheet("background: transparent; color: white;") - self.js_file_name_icon.setText("") - self.js_file_name_icon.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.js_file_name_icon.setProperty("icon_pixmap", QtGui.QPixmap(":/files/media/btn_icons/file_icon.svg")) - self.js_file_name_icon.setObjectName("js_file_name_icon") - self.job_status_header_layout.addWidget(self.js_file_name_icon) - self.js_file_name_label = BlocksLabel(parent=self.job_status_page) - self.js_file_name_label.setEnabled(True) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.js_file_name_label.sizePolicy().hasHeightForWidth()) - self.js_file_name_label.setSizePolicy(sizePolicy) - self.js_file_name_label.setMinimumSize(QtCore.QSize(200, 60)) - self.js_file_name_label.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.js_file_name_label.setFont(font) - self.js_file_name_label.setStyleSheet("background: transparent; color: white;") - self.js_file_name_label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.js_file_name_label.setObjectName("js_file_name_label") - self.job_status_header_layout.addWidget(self.js_file_name_label) - self.verticalLayout_3.addLayout(self.job_status_header_layout) - self.job_status_content_layout = QtWidgets.QVBoxLayout() - self.job_status_content_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetMinimumSize) - self.job_status_content_layout.setContentsMargins(5, 5, 5, 5) - self.job_status_content_layout.setSpacing(5) - self.job_status_content_layout.setObjectName("job_status_content_layout") - self.job_status_control_buttons_layout = QtWidgets.QFrame(parent=self.job_status_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.job_status_control_buttons_layout.sizePolicy().hasHeightForWidth()) - self.job_status_control_buttons_layout.setSizePolicy(sizePolicy) - self.job_status_control_buttons_layout.setMinimumSize(QtCore.QSize(680, 100)) - self.job_status_control_buttons_layout.setFrameShape(QtWidgets.QFrame.Shape.NoFrame) - self.job_status_control_buttons_layout.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) - self.job_status_control_buttons_layout.setLineWidth(0) - self.job_status_control_buttons_layout.setObjectName("job_status_control_buttons_layout") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.job_status_control_buttons_layout) - self.horizontalLayout.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout.setSpacing(5) - self.horizontalLayout.setObjectName("horizontalLayout") - self.pause_printing_btn = BlocksCustomButton(parent=self.job_status_control_buttons_layout) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.pause_printing_btn.sizePolicy().hasHeightForWidth()) - self.pause_printing_btn.setSizePolicy(sizePolicy) - self.pause_printing_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.pause_printing_btn.setMaximumSize(QtCore.QSize(16777215, 70)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.pause_printing_btn.setFont(font) - self.pause_printing_btn.setMouseTracking(False) - self.pause_printing_btn.setTabletTracking(True) - self.pause_printing_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.pause_printing_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.pause_printing_btn.setStyleSheet("") - self.pause_printing_btn.setAutoDefault(False) - self.pause_printing_btn.setFlat(True) - self.pause_printing_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/pause.svg")) - self.pause_printing_btn.setObjectName("pause_printing_btn") - self.horizontalLayout.addWidget(self.pause_printing_btn) - self.stop_printing_btn = BlocksCustomButton(parent=self.job_status_control_buttons_layout) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.stop_printing_btn.sizePolicy().hasHeightForWidth()) - self.stop_printing_btn.setSizePolicy(sizePolicy) - self.stop_printing_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.stop_printing_btn.setMaximumSize(QtCore.QSize(16777215, 70)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.stop_printing_btn.setFont(font) - self.stop_printing_btn.setMouseTracking(False) - self.stop_printing_btn.setTabletTracking(True) - self.stop_printing_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.stop_printing_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.stop_printing_btn.setStyleSheet("") - self.stop_printing_btn.setAutoDefault(False) - self.stop_printing_btn.setFlat(True) - self.stop_printing_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/stop.svg")) - self.stop_printing_btn.setObjectName("stop_printing_btn") - self.horizontalLayout.addWidget(self.stop_printing_btn) - self.tune_menu_btn = BlocksCustomButton(parent=self.job_status_control_buttons_layout) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.tune_menu_btn.sizePolicy().hasHeightForWidth()) - self.tune_menu_btn.setSizePolicy(sizePolicy) - self.tune_menu_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.tune_menu_btn.setMaximumSize(QtCore.QSize(16777215, 70)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.tune_menu_btn.setFont(font) - self.tune_menu_btn.setMouseTracking(False) - self.tune_menu_btn.setTabletTracking(True) - self.tune_menu_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.tune_menu_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.tune_menu_btn.setStyleSheet("") - self.tune_menu_btn.setAutoDefault(False) - self.tune_menu_btn.setFlat(True) - self.tune_menu_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/tune.svg")) - self.tune_menu_btn.setObjectName("tune_menu_btn") - self.horizontalLayout.addWidget(self.tune_menu_btn) - self.horizontalLayout.setStretch(0, 1) - self.horizontalLayout.setStretch(1, 1) - self.horizontalLayout.setStretch(2, 1) - self.job_status_content_layout.addWidget(self.job_status_control_buttons_layout, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.job_status_progress_layout = QtWidgets.QGridLayout() - self.job_status_progress_layout.setObjectName("job_status_progress_layout") - self.progress_text_label = QtWidgets.QLabel(parent=self.job_status_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.progress_text_label.sizePolicy().hasHeightForWidth()) - self.progress_text_label.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(16) - self.progress_text_label.setFont(font) - self.progress_text_label.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.progress_text_label.setStyleSheet("background: transparent; color: white;") - self.progress_text_label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.progress_text_label.setObjectName("progress_text_label") - self.job_status_progress_layout.addWidget(self.progress_text_label, 0, 0, 1, 1, QtCore.Qt.AlignmentFlag.AlignVCenter) - self.progress_value_label = QtWidgets.QLabel(parent=self.job_status_page) - self.progress_value_label.setEnabled(True) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.progress_value_label.sizePolicy().hasHeightForWidth()) - self.progress_value_label.setSizePolicy(sizePolicy) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.progress_value_label.setFont(font) - self.progress_value_label.setStyleSheet("background: transparent; color: white;") - self.progress_value_label.setObjectName("progress_value_label") - self.job_status_progress_layout.addWidget(self.progress_value_label, 0, 1, 1, 1) - self.printing_progress_bar = QtWidgets.QProgressBar(parent=self.job_status_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.printing_progress_bar.sizePolicy().hasHeightForWidth()) - self.printing_progress_bar.setSizePolicy(sizePolicy) - self.printing_progress_bar.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.printing_progress_bar.setProperty("value", 24) - self.printing_progress_bar.setObjectName("printing_progress_bar") - self.job_status_progress_layout.addWidget(self.printing_progress_bar, 0, 2, 1, 1, QtCore.Qt.AlignmentFlag.AlignVCenter) - self.job_status_content_layout.addLayout(self.job_status_progress_layout) - self.job_stats_display_layout = QtWidgets.QHBoxLayout() - self.job_stats_display_layout.setObjectName("job_stats_display_layout") - self.layer_display_button = DisplayButton(parent=self.job_status_page) - self.layer_display_button.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.layer_display_button.sizePolicy().hasHeightForWidth()) - self.layer_display_button.setSizePolicy(sizePolicy) - self.layer_display_button.setMinimumSize(QtCore.QSize(150, 40)) - self.layer_display_button.setMaximumSize(QtCore.QSize(150, 40)) - self.layer_display_button.setText("") - self.layer_display_button.setCheckable(False) - self.layer_display_button.setFlat(True) - self.layer_display_button.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/layers.svg")) - self.layer_display_button.setObjectName("layer_display_button") - self.job_stats_display_layout.addWidget(self.layer_display_button, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.print_time_display_button = DisplayButton(parent=self.job_status_page) - self.print_time_display_button.setEnabled(False) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.print_time_display_button.sizePolicy().hasHeightForWidth()) - self.print_time_display_button.setSizePolicy(sizePolicy) - self.print_time_display_button.setMinimumSize(QtCore.QSize(150, 40)) - self.print_time_display_button.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.SplitHCursor)) - self.print_time_display_button.setText("") - self.print_time_display_button.setCheckable(False) - self.print_time_display_button.setFlat(True) - self.print_time_display_button.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/time.svg")) - self.print_time_display_button.setObjectName("print_time_display_button") - self.job_stats_display_layout.addWidget(self.print_time_display_button, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.job_status_content_layout.addLayout(self.job_stats_display_layout) - self.job_status_content_layout.setStretch(0, 1) - self.job_status_content_layout.setStretch(1, 1) - self.job_status_content_layout.setStretch(2, 1) - self.verticalLayout_3.addLayout(self.job_status_content_layout) - printStackedWidget.addWidget(self.job_status_page) - self.tune_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.tune_page.sizePolicy().hasHeightForWidth()) - self.tune_page.setSizePolicy(sizePolicy) - self.tune_page.setMinimumSize(QtCore.QSize(710, 400)) - self.tune_page.setMaximumSize(QtCore.QSize(720, 420)) - self.tune_page.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.tune_page.setStyleSheet("#BlocksPushButton{\n" -" font-color: rgb(255,255,255,255);\n" -"}") - self.tune_page.setObjectName("tune_page") - self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tune_page) - self.verticalLayout_2.setObjectName("verticalLayout_2") - self.tune_header = QtWidgets.QHBoxLayout() - self.tune_header.setSpacing(20) - self.tune_header.setObjectName("tune_header") - self.tune_title_label = QtWidgets.QLabel(parent=self.tune_page) - self.tune_title_label.setMinimumSize(QtCore.QSize(0, 60)) - self.tune_title_label.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.tune_title_label.setFont(font) - self.tune_title_label.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.tune_title_label.setStyleSheet("background: transparent; color: white;") - self.tune_title_label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.tune_title_label.setObjectName("tune_title_label") - self.tune_header.addWidget(self.tune_title_label, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.tune_back_btn = IconButton(parent=self.tune_page) - self.tune_back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.tune_back_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.tune_back_btn.setText("") - self.tune_back_btn.setIconSize(QtCore.QSize(32, 32)) - self.tune_back_btn.setFlat(True) - self.tune_back_btn.setProperty("class", "") - self.tune_back_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.tune_back_btn.setObjectName("tune_back_btn") - self.tune_header.addWidget(self.tune_back_btn, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.tune_header.setStretch(0, 1) - self.verticalLayout_2.addLayout(self.tune_header) - self.tune_menu_buttons = QtWidgets.QHBoxLayout() - self.tune_menu_buttons.setObjectName("tune_menu_buttons") - self.tune_babystep_menu_btn = BlocksCustomButton(parent=self.tune_page) - self.tune_babystep_menu_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.tune_babystep_menu_btn.setMaximumSize(QtCore.QSize(200, 70)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.tune_babystep_menu_btn.setFont(font) - self.tune_babystep_menu_btn.setMouseTracking(False) - self.tune_babystep_menu_btn.setTabletTracking(True) - self.tune_babystep_menu_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.tune_babystep_menu_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.tune_babystep_menu_btn.setStyleSheet("") - self.tune_babystep_menu_btn.setAutoDefault(False) - self.tune_babystep_menu_btn.setFlat(True) - self.tune_babystep_menu_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/z_levelling/media/btn_icons/baby_step_icon.svg")) - self.tune_babystep_menu_btn.setObjectName("tune_babystep_menu_btn") - self.tune_menu_buttons.addWidget(self.tune_babystep_menu_btn, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.tune_change_filament_btn = BlocksCustomButton(parent=self.tune_page) - self.tune_change_filament_btn.setMinimumSize(QtCore.QSize(200, 70)) - self.tune_change_filament_btn.setMaximumSize(QtCore.QSize(200, 70)) - font = QtGui.QFont() - font.setFamily("MS Shell Dlg 2") - font.setPointSize(18) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.tune_change_filament_btn.setFont(font) - self.tune_change_filament_btn.setMouseTracking(False) - self.tune_change_filament_btn.setTabletTracking(True) - self.tune_change_filament_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.tune_change_filament_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.tune_change_filament_btn.setStyleSheet("") - self.tune_change_filament_btn.setAutoDefault(False) - self.tune_change_filament_btn.setFlat(True) - self.tune_change_filament_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/btn_icons/change_filament.svg")) - self.tune_change_filament_btn.setObjectName("tune_change_filament_btn") - self.tune_menu_buttons.addWidget(self.tune_change_filament_btn, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.sensors_menu_btn = IconButton(parent=self.tune_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.sensors_menu_btn.sizePolicy().hasHeightForWidth()) - self.sensors_menu_btn.setSizePolicy(sizePolicy) - self.sensors_menu_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.sensors_menu_btn.setMaximumSize(QtCore.QSize(60, 60)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.sensors_menu_btn.setFont(font) - self.sensors_menu_btn.setMouseTracking(False) - self.sensors_menu_btn.setTabletTracking(True) - self.sensors_menu_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.sensors_menu_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.sensors_menu_btn.setStyleSheet("") - self.sensors_menu_btn.setText("") - self.sensors_menu_btn.setAutoDefault(False) - self.sensors_menu_btn.setFlat(True) - self.sensors_menu_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/filament_related/media/btn_icons/filament_sensor.svg")) - self.sensors_menu_btn.setObjectName("sensors_menu_btn") - self.tune_menu_buttons.addWidget(self.sensors_menu_btn) - self.tune_menu_buttons.setStretch(0, 1) - self.tune_menu_buttons.setStretch(1, 1) - self.verticalLayout_2.addLayout(self.tune_menu_buttons) - self.tune_display_buttons_layout = QtWidgets.QGridLayout() - self.tune_display_buttons_layout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint) - self.tune_display_buttons_layout.setContentsMargins(2, 2, 2, 2) - self.tune_display_buttons_layout.setSpacing(1) - self.tune_display_buttons_layout.setObjectName("tune_display_buttons_layout") - self.bed_display = DisplayButton(parent=self.tune_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.bed_display.sizePolicy().hasHeightForWidth()) - self.bed_display.setSizePolicy(sizePolicy) - self.bed_display.setMinimumSize(QtCore.QSize(150, 60)) - self.bed_display.setMaximumSize(QtCore.QSize(150, 60)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.bed_display.setPalette(palette) - self.bed_display.setText("") - self.bed_display.setIconSize(QtCore.QSize(60, 60)) - self.bed_display.setFlat(True) - self.bed_display.setProperty("icon_pixmap", QtGui.QPixmap(":/temperature_related/media/btn_icons/temperature_plate.svg")) - self.bed_display.setObjectName("bed_display") - self.tune_display_buttons_layout.addWidget(self.bed_display, 0, 1, 1, 1) - self.extruder_display = DisplayButton(parent=self.tune_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.extruder_display.sizePolicy().hasHeightForWidth()) - self.extruder_display.setSizePolicy(sizePolicy) - self.extruder_display.setMinimumSize(QtCore.QSize(150, 60)) - self.extruder_display.setMaximumSize(QtCore.QSize(150, 60)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.extruder_display.setPalette(palette) - self.extruder_display.setText("") - self.extruder_display.setFlat(True) - self.extruder_display.setProperty("icon_pixmap", QtGui.QPixmap(":/temperature_related/media/btn_icons/temperature.svg")) - self.extruder_display.setObjectName("extruder_display") - self.tune_display_buttons_layout.addWidget(self.extruder_display, 0, 0, 1, 1) - self.speed_display = DisplayButton(parent=self.tune_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.speed_display.sizePolicy().hasHeightForWidth()) - self.speed_display.setSizePolicy(sizePolicy) - self.speed_display.setMinimumSize(QtCore.QSize(150, 60)) - self.speed_display.setMaximumSize(QtCore.QSize(150, 60)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.speed_display.setPalette(palette) - font = QtGui.QFont() - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.speed_display.setFont(font) - self.speed_display.setText("") - self.speed_display.setFlat(True) - self.speed_display.setProperty("icon_pixmap", QtGui.QPixmap(":/motion/media/btn_icons/speed.svg")) - self.speed_display.setObjectName("speed_display") - self.tune_display_buttons_layout.addWidget(self.speed_display, 0, 2, 1, 1) - self.verticalLayout_2.addLayout(self.tune_display_buttons_layout) - printStackedWidget.addWidget(self.tune_page) - self.babystep_page = QtWidgets.QWidget() - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(1) - sizePolicy.setVerticalStretch(1) - sizePolicy.setHeightForWidth(self.babystep_page.sizePolicy().hasHeightForWidth()) - self.babystep_page.setSizePolicy(sizePolicy) - self.babystep_page.setMinimumSize(QtCore.QSize(710, 400)) - self.babystep_page.setMaximumSize(QtCore.QSize(720, 420)) - self.babystep_page.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.babystep_page.setStyleSheet("") - self.babystep_page.setObjectName("babystep_page") - self.verticalLayout = QtWidgets.QVBoxLayout(self.babystep_page) - self.verticalLayout.setObjectName("verticalLayout") - self.bbp_header_layout = QtWidgets.QHBoxLayout() - self.bbp_header_layout.setObjectName("bbp_header_layout") - self.bbp_header_title = QtWidgets.QLabel(parent=self.babystep_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.bbp_header_title.sizePolicy().hasHeightForWidth()) - self.bbp_header_title.setSizePolicy(sizePolicy) - self.bbp_header_title.setMinimumSize(QtCore.QSize(200, 60)) - self.bbp_header_title.setMaximumSize(QtCore.QSize(16777215, 16777215)) - font = QtGui.QFont() - font.setPointSize(24) - self.bbp_header_title.setFont(font) - self.bbp_header_title.setStyleSheet("background: transparent; color: white;") - self.bbp_header_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.bbp_header_title.setObjectName("bbp_header_title") - self.bbp_header_layout.addWidget(self.bbp_header_title, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.babystep_back_btn = BlocksCustomButton(parent=self.babystep_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.babystep_back_btn.sizePolicy().hasHeightForWidth()) - self.babystep_back_btn.setSizePolicy(sizePolicy) - self.babystep_back_btn.setMinimumSize(QtCore.QSize(60, 60)) - self.babystep_back_btn.setMaximumSize(QtCore.QSize(60, 60)) - self.babystep_back_btn.setText("") - self.babystep_back_btn.setFlat(True) - self.babystep_back_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) - self.babystep_back_btn.setObjectName("babystep_back_btn") - self.bbp_header_layout.addWidget(self.babystep_back_btn, 0, QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.bbp_header_layout.setStretch(0, 1) - self.verticalLayout.addLayout(self.bbp_header_layout) - self.horizontalLayout_2 = QtWidgets.QHBoxLayout() - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.frame_2 = QtWidgets.QFrame(parent=self.babystep_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth()) - self.frame_2.setSizePolicy(sizePolicy) - self.frame_2.setMinimumSize(QtCore.QSize(350, 160)) - self.frame_2.setMaximumSize(QtCore.QSize(350, 160)) - self.frame_2.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) - self.frame_2.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) - self.frame_2.setObjectName("frame_2") - self.bbp_babystep_graphic = QtWidgets.QLabel(parent=self.frame_2) - self.bbp_babystep_graphic.setGeometry(QtCore.QRect(0, 30, 371, 121)) - self.bbp_babystep_graphic.setLayoutDirection(QtCore.Qt.LayoutDirection.RightToLeft) - self.bbp_babystep_graphic.setText("") - self.bbp_babystep_graphic.setPixmap(QtGui.QPixmap(":/graphics/media/graphics/babystep_graphic.png")) - self.bbp_babystep_graphic.setScaledContents(False) - self.bbp_babystep_graphic.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.bbp_babystep_graphic.setObjectName("bbp_babystep_graphic") - self.bbp_z_offset_current_value = BlocksLabel(parent=self.frame_2) - self.bbp_z_offset_current_value.setGeometry(QtCore.QRect(130, 70, 200, 60)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.bbp_z_offset_current_value.sizePolicy().hasHeightForWidth()) - self.bbp_z_offset_current_value.setSizePolicy(sizePolicy) - self.bbp_z_offset_current_value.setMinimumSize(QtCore.QSize(150, 60)) - self.bbp_z_offset_current_value.setMaximumSize(QtCore.QSize(200, 60)) - font = QtGui.QFont() - font.setPointSize(13) - self.bbp_z_offset_current_value.setFont(font) - self.bbp_z_offset_current_value.setStyleSheet("background: transparent; color: white;") - self.bbp_z_offset_current_value.setText("") - self.bbp_z_offset_current_value.setPixmap(QtGui.QPixmap(":/graphics/media/btn_icons/z_offset_adjust.svg")) - self.bbp_z_offset_current_value.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.bbp_z_offset_current_value.setObjectName("bbp_z_offset_current_value") - self.horizontalLayout_2.addWidget(self.frame_2, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.bbp_buttons_layout = QtWidgets.QVBoxLayout() - self.bbp_buttons_layout.setContentsMargins(5, 5, 5, 5) - self.bbp_buttons_layout.setObjectName("bbp_buttons_layout") - self.bbp_away_from_bed = BlocksCustomButton(parent=self.babystep_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.bbp_away_from_bed.sizePolicy().hasHeightForWidth()) - self.bbp_away_from_bed.setSizePolicy(sizePolicy) - self.bbp_away_from_bed.setMinimumSize(QtCore.QSize(80, 80)) - self.bbp_away_from_bed.setMaximumSize(QtCore.QSize(80, 80)) - self.bbp_away_from_bed.setFlat(True) - self.bbp_away_from_bed.setProperty("icon_pixmap", QtGui.QPixmap(":/arrow_icons/media/btn_icons/up_arrow.svg")) - self.bbp_away_from_bed.setObjectName("bbp_away_from_bed") - self.bbp_option_button_group = QtWidgets.QButtonGroup(printStackedWidget) - self.bbp_option_button_group.setObjectName("bbp_option_button_group") - self.bbp_option_button_group.addButton(self.bbp_away_from_bed) - self.bbp_buttons_layout.addWidget(self.bbp_away_from_bed, 0, QtCore.Qt.AlignmentFlag.AlignRight) - self.bbp_close_to_bed = BlocksCustomButton(parent=self.babystep_page) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.bbp_close_to_bed.sizePolicy().hasHeightForWidth()) - self.bbp_close_to_bed.setSizePolicy(sizePolicy) - self.bbp_close_to_bed.setMinimumSize(QtCore.QSize(80, 80)) - self.bbp_close_to_bed.setMaximumSize(QtCore.QSize(80, 80)) - self.bbp_close_to_bed.setFlat(True) - self.bbp_close_to_bed.setProperty("icon_pixmap", QtGui.QPixmap(":/arrow_icons/media/btn_icons/down_arrow.svg")) - self.bbp_close_to_bed.setObjectName("bbp_close_to_bed") - self.bbp_option_button_group.addButton(self.bbp_close_to_bed) - self.bbp_buttons_layout.addWidget(self.bbp_close_to_bed, 0, QtCore.Qt.AlignmentFlag.AlignRight) - self.bbp_buttons_layout.setStretch(0, 1) - self.bbp_buttons_layout.setStretch(1, 1) - self.horizontalLayout_2.addLayout(self.bbp_buttons_layout) - self.horizontalLayout_2.setStretch(0, 1) - self.verticalLayout.addLayout(self.horizontalLayout_2) - self.bbp_offset_steps_buttons = QtWidgets.QHBoxLayout() - self.bbp_offset_steps_buttons.setContentsMargins(9, 9, 9, 9) - self.bbp_offset_steps_buttons.setObjectName("bbp_offset_steps_buttons") - self.bbp_nozzle_offset_01 = QtWidgets.QPushButton(parent=self.babystep_page) - self.bbp_nozzle_offset_01.setMinimumSize(QtCore.QSize(60, 60)) - self.bbp_nozzle_offset_01.setMaximumSize(QtCore.QSize(100, 80)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.bbp_nozzle_offset_01.setPalette(palette) - font = QtGui.QFont() - font.setPointSize(14) - self.bbp_nozzle_offset_01.setFont(font) - self.bbp_nozzle_offset_01.setCheckable(True) - self.bbp_nozzle_offset_01.setFlat(True) - self.bbp_nozzle_offset_01.setProperty("button_type", "") - self.bbp_nozzle_offset_01.setObjectName("bbp_nozzle_offset_01") - self.bbp_offset_value_selector_group = QtWidgets.QButtonGroup(printStackedWidget) - self.bbp_offset_value_selector_group.setObjectName("bbp_offset_value_selector_group") - self.bbp_offset_value_selector_group.addButton(self.bbp_nozzle_offset_01) - self.bbp_offset_steps_buttons.addWidget(self.bbp_nozzle_offset_01) - self.line_3 = QtWidgets.QFrame(parent=self.babystep_page) - self.line_3.setFrameShape(QtWidgets.QFrame.Shape.VLine) - self.line_3.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line_3.setObjectName("line_3") - self.bbp_offset_steps_buttons.addWidget(self.line_3) - self.bbp_nozzle_offset_025 = QtWidgets.QPushButton(parent=self.babystep_page) - self.bbp_nozzle_offset_025.setMinimumSize(QtCore.QSize(60, 60)) - self.bbp_nozzle_offset_025.setMaximumSize(QtCore.QSize(100, 80)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.bbp_nozzle_offset_025.setPalette(palette) - font = QtGui.QFont() - font.setPointSize(14) - self.bbp_nozzle_offset_025.setFont(font) - self.bbp_nozzle_offset_025.setCheckable(True) - self.bbp_nozzle_offset_025.setFlat(True) - self.bbp_nozzle_offset_025.setProperty("button_type", "") - self.bbp_nozzle_offset_025.setObjectName("bbp_nozzle_offset_025") - self.bbp_offset_value_selector_group.addButton(self.bbp_nozzle_offset_025) - self.bbp_offset_steps_buttons.addWidget(self.bbp_nozzle_offset_025) - self.line_4 = QtWidgets.QFrame(parent=self.babystep_page) - self.line_4.setFrameShape(QtWidgets.QFrame.Shape.VLine) - self.line_4.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line_4.setObjectName("line_4") - self.bbp_offset_steps_buttons.addWidget(self.line_4) - self.bbp_nozzle_offset_05 = QtWidgets.QPushButton(parent=self.babystep_page) - self.bbp_nozzle_offset_05.setMinimumSize(QtCore.QSize(60, 60)) - self.bbp_nozzle_offset_05.setMaximumSize(QtCore.QSize(100, 80)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.bbp_nozzle_offset_05.setPalette(palette) - font = QtGui.QFont() - font.setPointSize(14) - self.bbp_nozzle_offset_05.setFont(font) - self.bbp_nozzle_offset_05.setCheckable(True) - self.bbp_nozzle_offset_05.setFlat(True) - self.bbp_nozzle_offset_05.setProperty("button_type", "") - self.bbp_nozzle_offset_05.setObjectName("bbp_nozzle_offset_05") - self.bbp_offset_value_selector_group.addButton(self.bbp_nozzle_offset_05) - self.bbp_offset_steps_buttons.addWidget(self.bbp_nozzle_offset_05) - self.line_5 = QtWidgets.QFrame(parent=self.babystep_page) - self.line_5.setFrameShape(QtWidgets.QFrame.Shape.VLine) - self.line_5.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.line_5.setObjectName("line_5") - self.bbp_offset_steps_buttons.addWidget(self.line_5) - self.bbp_nozzle_offset_1 = QtWidgets.QPushButton(parent=self.babystep_page) - self.bbp_nozzle_offset_1.setMinimumSize(QtCore.QSize(60, 60)) - self.bbp_nozzle_offset_1.setMaximumSize(QtCore.QSize(100, 80)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.bbp_nozzle_offset_1.setPalette(palette) - font = QtGui.QFont() - font.setPointSize(14) - self.bbp_nozzle_offset_1.setFont(font) - self.bbp_nozzle_offset_1.setCheckable(True) - self.bbp_nozzle_offset_1.setChecked(True) - self.bbp_nozzle_offset_1.setFlat(True) - self.bbp_nozzle_offset_1.setProperty("button_type", "") - self.bbp_nozzle_offset_1.setObjectName("bbp_nozzle_offset_1") - self.bbp_offset_value_selector_group.addButton(self.bbp_nozzle_offset_1) - self.bbp_offset_steps_buttons.addWidget(self.bbp_nozzle_offset_1) - self.verticalLayout.addLayout(self.bbp_offset_steps_buttons) - self.verticalLayout.setStretch(1, 1) - printStackedWidget.addWidget(self.babystep_page) - - self.retranslateUi(printStackedWidget) - printStackedWidget.setCurrentIndex(0) - QtCore.QMetaObject.connectSlotsByName(printStackedWidget) - - def retranslateUi(self, printStackedWidget): - _translate = QtCore.QCoreApplication.translate - printStackedWidget.setWindowTitle(_translate("printStackedWidget", "StackedWidget")) - self.main_print_btn.setText(_translate("printStackedWidget", "Print")) - self.main_print_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.main_text_label.setText(_translate("printStackedWidget", "Printer ready")) - self.back_btn.setText(_translate("printStackedWidget", "Back")) - self.back_btn.setProperty("class", _translate("printStackedWidget", "back_btn")) - self.back_btn.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.ReloadButton.setText(_translate("printStackedWidget", "Reload")) - self.ReloadButton.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.confirm_title_label.setText(_translate("printStackedWidget", "CONFIRM")) - self.confirm_title_label.setProperty("class", _translate("printStackedWidget", "title_text")) - self.cf_info.setText(_translate("printStackedWidget", "Do you want to print this file?")) - self.cf_file_name.setText(_translate("printStackedWidget", "Dinossauro Falico")) - self.confirm_yes_text_label.setText(_translate("printStackedWidget", "Yes")) - self.confirm_yes_text_label.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.confirm_yes_text_label.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.confirm_no_text_label.setText(_translate("printStackedWidget", "No")) - self.confirm_no_text_label.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.confirm_no_text_label.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.js_file_name_icon.setProperty("class", _translate("printStackedWidget", "title_text")) - self.js_file_name_label.setText(_translate("printStackedWidget", "Currently printing file")) - self.pause_printing_btn.setText(_translate("printStackedWidget", "Pause")) - self.pause_printing_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.pause_printing_btn.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.stop_printing_btn.setText(_translate("printStackedWidget", "Stop")) - self.stop_printing_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.stop_printing_btn.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.tune_menu_btn.setText(_translate("printStackedWidget", "Tune")) - self.tune_menu_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.tune_menu_btn.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.progress_text_label.setText(_translate("printStackedWidget", "Progress")) - self.progress_text_label.setProperty("class", _translate("printStackedWidget", "title_text")) - self.progress_value_label.setText(_translate("printStackedWidget", "0")) - self.layer_display_button.setProperty("button_type", _translate("printStackedWidget", "display_secondary")) - self.layer_display_button.setProperty("name", _translate("printStackedWidget", "layer_count_display_button")) - self.print_time_display_button.setProperty("button_type", _translate("printStackedWidget", "display")) - self.tune_title_label.setText(_translate("printStackedWidget", "TUNE")) - self.tune_title_label.setProperty("class", _translate("printStackedWidget", "title_text")) - self.tune_back_btn.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.tune_babystep_menu_btn.setText(_translate("printStackedWidget", "Babystep")) - self.tune_babystep_menu_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.tune_babystep_menu_btn.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.tune_change_filament_btn.setText(_translate("printStackedWidget", "Filament\n" -"Change")) - self.tune_change_filament_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.tune_change_filament_btn.setProperty("button_type", _translate("printStackedWidget", "normal")) - self.sensors_menu_btn.setProperty("class", _translate("printStackedWidget", "menu_btn")) - self.sensors_menu_btn.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.bed_display.setProperty("name", _translate("printStackedWidget", "bed_temperature_display")) - self.bed_display.setProperty("button_type", _translate("printStackedWidget", "display")) - self.extruder_display.setProperty("name", _translate("printStackedWidget", "extruder_temperature_display")) - self.extruder_display.setProperty("button_type", _translate("printStackedWidget", "display")) - self.speed_display.setProperty("name", _translate("printStackedWidget", "print_speed_display")) - self.speed_display.setProperty("button_type", _translate("printStackedWidget", "display")) - self.bbp_header_title.setText(_translate("printStackedWidget", "Z Babystep")) - self.babystep_back_btn.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.bbp_away_from_bed.setText(_translate("printStackedWidget", "~^")) - self.bbp_away_from_bed.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.bbp_close_to_bed.setText(_translate("printStackedWidget", "^")) - self.bbp_close_to_bed.setProperty("button_type", _translate("printStackedWidget", "icon")) - self.bbp_nozzle_offset_01.setText(_translate("printStackedWidget", "0.01")) - self.bbp_nozzle_offset_025.setText(_translate("printStackedWidget", "0.025")) - self.bbp_nozzle_offset_05.setText(_translate("printStackedWidget", "0.05")) - self.bbp_nozzle_offset_1.setText(_translate("printStackedWidget", "0.1")) -from lib.utils.blocks_button import BlocksCustomButton -from lib.utils.blocks_label import BlocksLabel -from lib.utils.display_button import DisplayButton -from lib.utils.icon_button import IconButton diff --git a/BlocksScreen/lib/ui/probeHelperPage.ui b/BlocksScreen/lib/ui/probeHelperPage.ui deleted file mode 100644 index fd5b80f5..00000000 --- a/BlocksScreen/lib/ui/probeHelperPage.ui +++ /dev/null @@ -1,811 +0,0 @@ - - - probe_offset_page - - - - 0 - 0 - 710 - 410 - - - - - 0 - 0 - - - - - 700 - 410 - - - - - 720 - 420 - - - - Form - - - - - - - - - 200 - 60 - - - - - 16777215 - 60 - - - - - 24 - - - - background: transparent; color: white; - - - Z Probe Offset Calibrate - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - PushButton - - - true - - - icon - - - :/button_borders/media/btn_icons/back.svg - - - - - - - - - - 20 - - - - Qt::Horizontal - - - - - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - 9 - - - 9 - - - 9 - - - 9 - - - - - - 80 - 80 - - - - - 80 - 80 - - - - bb - - - true - - - icon - - - :/arrow_icons/media/btn_icons/up_arrow.svg - - - - - - - - 80 - 80 - - - - - 80 - 80 - - - - bb - - - true - - - icon - - - :/arrow_icons/media/btn_icons/down_arrow.svg - - - - - - - - - - - 400 - 200 - - - - - 16777215 - 16777215 - - - - QFrame::NoFrame - - - QFrame::Plain - - - - - 40 - 0 - 346 - 211 - - - - - - - :/graphics/media/graphics/babystep_graphic.png - - - - - - 150 - 10 - 212 - 154 - - - - - 2 - - - 6 - - - 6 - - - 6 - - - 6 - - - - - - 200 - 70 - - - - - 200 - 70 - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - :/graphics/media/btn_icons/old_z_offset_icon.svg - - - Qt::AlignCenter - - - - - - - - 140 - 60 - - - - - 140 - 60 - - - - - 14 - - - - background: transparent; color: white; - - - TextLabel - - - - - - - - - - - 200 - 70 - - - - - 200 - 70 - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - - - - :/graphics/media/btn_icons/new_z_offset_icon.svg - - - true - - - Qt::AlignCenter - - - - - - - - 140 - 60 - - - - - 140 - 60 - - - - - 14 - - - - background: transparent; color: white; - - - TextLabel - - - - - - - - - - - - - - - 9 - - - 9 - - - 9 - - - 9 - - - - - - 80 - 80 - - - - - 80 - 80 - - - - Accept - - - true - - - icon_text - - - :/dialog/media/btn_icons/new_accept_hugo.svg - - - bottom - - - - 255 - 255 - 255 - - - - - - - - - 80 - 80 - - - - - 80 - 80 - - - - Abort - - - true - - - icon_text - - - :/dialog/media/btn_icons/new_abort_hugo.svg - - - bottom - - - - 255 - 255 - 255 - - - - - - - - - - - - - - 350 - 90 - - - - - 16777215 - 100 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - - - 14 - - - - Move Distance (mm) - - - true - - - - 9 - - - 4 - - - 9 - - - - - - 60 - 60 - - - - - 16777215 - 60 - - - - - 20 - - - - color: white; - - - 0.01 - - - true - - - true - - - - - - - - 60 - 60 - - - - - 16777215 - 60 - - - - - 20 - - - - color: white; - - - 0.025 - - - true - - - true - - - - - - - - 60 - 60 - - - - - 16777215 - 60 - - - - - 20 - - - - color: white; - - - 0.05 - - - true - - - true - - - - - - - - 60 - 60 - - - - - 16777215 - 60 - - - - - 20 - - - - color: white; - - - 0.1 - - - true - - - false - - - true - - - - - - - - 60 - 60 - - - - - 16777215 - 60 - - - - - 20 - - - - color: white; - - - 1 - - - true - - - true - - - true - - - - - - - - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.ui
-
- - BlocksLabel - QLabel -
lib.utils.ui
-
-
- - - - - - -
diff --git a/BlocksScreen/lib/ui/probeHelperPage_ui.py b/BlocksScreen/lib/ui/probeHelperPage_ui.py deleted file mode 100644 index 4bec451f..00000000 --- a/BlocksScreen/lib/ui/probeHelperPage_ui.py +++ /dev/null @@ -1,290 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/Blocks_Screen/BlocksScreen/lib/ui/probeHelperPage.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_probe_offset_page(object): - def setupUi(self, probe_offset_page): - probe_offset_page.setObjectName("probe_offset_page") - probe_offset_page.resize(710, 410) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(probe_offset_page.sizePolicy().hasHeightForWidth()) - probe_offset_page.setSizePolicy(sizePolicy) - probe_offset_page.setMinimumSize(QtCore.QSize(700, 410)) - probe_offset_page.setMaximumSize(QtCore.QSize(720, 420)) - self.verticalLayout = QtWidgets.QVBoxLayout(probe_offset_page) - self.verticalLayout.setObjectName("verticalLayout") - self.po_header_layout = QtWidgets.QHBoxLayout() - self.po_header_layout.setObjectName("po_header_layout") - self.po_header_title = QtWidgets.QLabel(parent=probe_offset_page) - self.po_header_title.setMinimumSize(QtCore.QSize(200, 60)) - self.po_header_title.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(24) - self.po_header_title.setFont(font) - self.po_header_title.setStyleSheet("background: transparent; color: white;") - self.po_header_title.setObjectName("po_header_title") - self.po_header_layout.addWidget(self.po_header_title) - self.po_back_button = BlocksCustomButton(parent=probe_offset_page) - self.po_back_button.setMinimumSize(QtCore.QSize(60, 60)) - self.po_back_button.setMaximumSize(QtCore.QSize(60, 60)) - self.po_back_button.setFlat(True) - self.po_back_button.setProperty("icon_pixmap", QtGui.QPixmap(":/button_borders/media/btn_icons/back.svg")) - self.po_back_button.setObjectName("po_back_button") - self.po_header_layout.addWidget(self.po_back_button) - self.verticalLayout.addLayout(self.po_header_layout) - self.separator_line = QtWidgets.QFrame(parent=probe_offset_page) - font = QtGui.QFont() - font.setPointSize(20) - self.separator_line.setFont(font) - self.separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) - self.separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.separator_line.setObjectName("separator_line") - self.verticalLayout.addWidget(self.separator_line) - self.po_main_content_layout = QtWidgets.QHBoxLayout() - self.po_main_content_layout.setObjectName("po_main_content_layout") - self.po_tool_content_layout = QtWidgets.QVBoxLayout() - self.po_tool_content_layout.setContentsMargins(5, 5, 5, 5) - self.po_tool_content_layout.setObjectName("po_tool_content_layout") - self.tool_options_content = QtWidgets.QHBoxLayout() - self.tool_options_content.setContentsMargins(5, 5, 5, 5) - self.tool_options_content.setObjectName("tool_options_content") - self.tool_move = QtWidgets.QWidget(parent=probe_offset_page) - self.tool_move.setObjectName("tool_move") - self.move_buttons = QtWidgets.QVBoxLayout(self.tool_move) - self.move_buttons.setContentsMargins(9, 9, 9, 9) - self.move_buttons.setObjectName("move_buttons") - self.mb_raise_nozzle = BlocksCustomButton(parent=self.tool_move) - self.mb_raise_nozzle.setMinimumSize(QtCore.QSize(80, 80)) - self.mb_raise_nozzle.setMaximumSize(QtCore.QSize(80, 80)) - self.mb_raise_nozzle.setFlat(True) - self.mb_raise_nozzle.setProperty("icon_pixmap", QtGui.QPixmap(":/arrow_icons/media/btn_icons/up_arrow.svg")) - self.mb_raise_nozzle.setObjectName("mb_raise_nozzle") - self.move_buttons.addWidget(self.mb_raise_nozzle) - self.mb_lower_nozzle = BlocksCustomButton(parent=self.tool_move) - self.mb_lower_nozzle.setMinimumSize(QtCore.QSize(80, 80)) - self.mb_lower_nozzle.setMaximumSize(QtCore.QSize(80, 80)) - self.mb_lower_nozzle.setFlat(True) - self.mb_lower_nozzle.setProperty("icon_pixmap", QtGui.QPixmap(":/arrow_icons/media/btn_icons/down_arrow.svg")) - self.mb_lower_nozzle.setObjectName("mb_lower_nozzle") - self.move_buttons.addWidget(self.mb_lower_nozzle, 0, QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.tool_options_content.addWidget(self.tool_move, 0, QtCore.Qt.AlignmentFlag.AlignLeft) - self.tool_content_info = QtWidgets.QFrame(parent=probe_offset_page) - self.tool_content_info.setMinimumSize(QtCore.QSize(400, 200)) - self.tool_content_info.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.tool_content_info.setFrameShape(QtWidgets.QFrame.Shape.NoFrame) - self.tool_content_info.setFrameShadow(QtWidgets.QFrame.Shadow.Plain) - self.tool_content_info.setObjectName("tool_content_info") - self.tool_image = QtWidgets.QLabel(parent=self.tool_content_info) - self.tool_image.setGeometry(QtCore.QRect(40, 0, 346, 211)) - self.tool_image.setText("") - self.tool_image.setPixmap(QtGui.QPixmap(":/graphics/media/graphics/babystep_graphic.png")) - self.tool_image.setObjectName("tool_image") - self.verticalLayoutWidget = QtWidgets.QWidget(parent=self.tool_content_info) - self.verticalLayoutWidget.setGeometry(QtCore.QRect(150, 10, 212, 154)) - self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") - self.tool_content_info_box = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) - self.tool_content_info_box.setContentsMargins(6, 6, 6, 6) - self.tool_content_info_box.setSpacing(2) - self.tool_content_info_box.setObjectName("tool_content_info_box") - self.old_offset_box_2 = QtWidgets.QWidget(parent=self.verticalLayoutWidget) - self.old_offset_box_2.setMinimumSize(QtCore.QSize(200, 70)) - self.old_offset_box_2.setMaximumSize(QtCore.QSize(200, 70)) - self.old_offset_box_2.setObjectName("old_offset_box_2") - self.old_offset_box = QtWidgets.QHBoxLayout(self.old_offset_box_2) - self.old_offset_box.setObjectName("old_offset_box") - self.old_offset_icon = BlocksLabel(parent=self.old_offset_box_2) - self.old_offset_icon.setMinimumSize(QtCore.QSize(60, 60)) - self.old_offset_icon.setMaximumSize(QtCore.QSize(60, 60)) - self.old_offset_icon.setText("") - self.old_offset_icon.setPixmap(QtGui.QPixmap(":/graphics/media/btn_icons/old_z_offset_icon.svg")) - self.old_offset_icon.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.old_offset_icon.setObjectName("old_offset_icon") - self.old_offset_box.addWidget(self.old_offset_icon) - self.old_offset_info = QtWidgets.QLabel(parent=self.old_offset_box_2) - self.old_offset_info.setMinimumSize(QtCore.QSize(140, 60)) - self.old_offset_info.setMaximumSize(QtCore.QSize(140, 60)) - font = QtGui.QFont() - font.setPointSize(14) - self.old_offset_info.setFont(font) - self.old_offset_info.setStyleSheet("background: transparent; color: white;") - self.old_offset_info.setObjectName("old_offset_info") - self.old_offset_box.addWidget(self.old_offset_info) - self.tool_content_info_box.addWidget(self.old_offset_box_2) - self.current_offset_box_2 = QtWidgets.QWidget(parent=self.verticalLayoutWidget) - self.current_offset_box_2.setMinimumSize(QtCore.QSize(200, 70)) - self.current_offset_box_2.setMaximumSize(QtCore.QSize(200, 70)) - self.current_offset_box_2.setObjectName("current_offset_box_2") - self.current_offset_box = QtWidgets.QHBoxLayout(self.current_offset_box_2) - self.current_offset_box.setObjectName("current_offset_box") - self.current_offset_icon = BlocksLabel(parent=self.current_offset_box_2) - self.current_offset_icon.setMinimumSize(QtCore.QSize(60, 60)) - self.current_offset_icon.setMaximumSize(QtCore.QSize(60, 60)) - self.current_offset_icon.setText("") - self.current_offset_icon.setPixmap(QtGui.QPixmap(":/graphics/media/btn_icons/new_z_offset_icon.svg")) - self.current_offset_icon.setScaledContents(True) - self.current_offset_icon.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) - self.current_offset_icon.setObjectName("current_offset_icon") - self.current_offset_box.addWidget(self.current_offset_icon) - self.current_offset_info = QtWidgets.QLabel(parent=self.current_offset_box_2) - self.current_offset_info.setMinimumSize(QtCore.QSize(140, 60)) - self.current_offset_info.setMaximumSize(QtCore.QSize(140, 60)) - font = QtGui.QFont() - font.setPointSize(14) - self.current_offset_info.setFont(font) - self.current_offset_info.setStyleSheet("background: transparent; color: white;") - self.current_offset_info.setObjectName("current_offset_info") - self.current_offset_box.addWidget(self.current_offset_info) - self.tool_content_info_box.addWidget(self.current_offset_box_2) - self.tool_options_content.addWidget(self.tool_content_info, 0, QtCore.Qt.AlignmentFlag.AlignHCenter|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.tool_dialog_2 = QtWidgets.QWidget(parent=probe_offset_page) - self.tool_dialog_2.setObjectName("tool_dialog_2") - self.tool_dialog = QtWidgets.QVBoxLayout(self.tool_dialog_2) - self.tool_dialog.setContentsMargins(9, 9, 9, 9) - self.tool_dialog.setObjectName("tool_dialog") - self.accept_button = BlocksCustomButton(parent=self.tool_dialog_2) - self.accept_button.setMinimumSize(QtCore.QSize(80, 80)) - self.accept_button.setMaximumSize(QtCore.QSize(80, 80)) - self.accept_button.setFlat(True) - self.accept_button.setProperty("icon_pixmap", QtGui.QPixmap(":/dialog/media/btn_icons/new_accept_hugo.svg")) - self.accept_button.setProperty("text_color", QtGui.QColor(255, 255, 255)) - self.accept_button.setObjectName("accept_button") - self.tool_dialog.addWidget(self.accept_button, 0, QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.abort_button = BlocksCustomButton(parent=self.tool_dialog_2) - self.abort_button.setMinimumSize(QtCore.QSize(80, 80)) - self.abort_button.setMaximumSize(QtCore.QSize(80, 80)) - self.abort_button.setFlat(True) - self.abort_button.setProperty("icon_pixmap", QtGui.QPixmap(":/dialog/media/btn_icons/new_abort_hugo.svg")) - self.abort_button.setProperty("text_color", QtGui.QColor(255, 255, 255)) - self.abort_button.setObjectName("abort_button") - self.tool_dialog.addWidget(self.abort_button, 0, QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignVCenter) - self.tool_options_content.addWidget(self.tool_dialog_2, 0, QtCore.Qt.AlignmentFlag.AlignRight) - self.po_tool_content_layout.addLayout(self.tool_options_content) - self.move_intervals = QtWidgets.QGroupBox(parent=probe_offset_page) - self.move_intervals.setMinimumSize(QtCore.QSize(350, 90)) - self.move_intervals.setMaximumSize(QtCore.QSize(16777215, 100)) - palette = QtGui.QPalette() - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, brush) - brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) - brush.setStyle(QtCore.Qt.BrushStyle.SolidPattern) - palette.setBrush(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, brush) - self.move_intervals.setPalette(palette) - font = QtGui.QFont() - font.setPointSize(14) - self.move_intervals.setFont(font) - self.move_intervals.setFlat(True) - self.move_intervals.setObjectName("move_intervals") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.move_intervals) - self.horizontalLayout.setContentsMargins(9, 4, -1, 9) - self.horizontalLayout.setObjectName("horizontalLayout") - self.move_option_1 = QtWidgets.QPushButton(parent=self.move_intervals) - self.move_option_1.setMinimumSize(QtCore.QSize(60, 60)) - self.move_option_1.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(20) - self.move_option_1.setFont(font) - self.move_option_1.setStyleSheet("color: white;") - self.move_option_1.setCheckable(True) - self.move_option_1.setFlat(True) - self.move_option_1.setObjectName("move_option_1") - self.horizontalLayout.addWidget(self.move_option_1) - self.move_option_2 = QtWidgets.QPushButton(parent=self.move_intervals) - self.move_option_2.setMinimumSize(QtCore.QSize(60, 60)) - self.move_option_2.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(20) - self.move_option_2.setFont(font) - self.move_option_2.setStyleSheet("color: white;") - self.move_option_2.setCheckable(True) - self.move_option_2.setFlat(True) - self.move_option_2.setObjectName("move_option_2") - self.horizontalLayout.addWidget(self.move_option_2) - self.move_option_3 = QtWidgets.QPushButton(parent=self.move_intervals) - self.move_option_3.setMinimumSize(QtCore.QSize(60, 60)) - self.move_option_3.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(20) - self.move_option_3.setFont(font) - self.move_option_3.setStyleSheet("color: white;") - self.move_option_3.setCheckable(True) - self.move_option_3.setFlat(True) - self.move_option_3.setObjectName("move_option_3") - self.horizontalLayout.addWidget(self.move_option_3) - self.move_option_4 = QtWidgets.QPushButton(parent=self.move_intervals) - self.move_option_4.setMinimumSize(QtCore.QSize(60, 60)) - self.move_option_4.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(20) - self.move_option_4.setFont(font) - self.move_option_4.setStyleSheet("color: white;") - self.move_option_4.setCheckable(True) - self.move_option_4.setChecked(False) - self.move_option_4.setFlat(True) - self.move_option_4.setObjectName("move_option_4") - self.horizontalLayout.addWidget(self.move_option_4) - self.move_option_5 = QtWidgets.QPushButton(parent=self.move_intervals) - self.move_option_5.setMinimumSize(QtCore.QSize(60, 60)) - self.move_option_5.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(20) - self.move_option_5.setFont(font) - self.move_option_5.setStyleSheet("color: white;") - self.move_option_5.setCheckable(True) - self.move_option_5.setChecked(True) - self.move_option_5.setFlat(True) - self.move_option_5.setObjectName("move_option_5") - self.horizontalLayout.addWidget(self.move_option_5) - self.po_tool_content_layout.addWidget(self.move_intervals) - self.po_main_content_layout.addLayout(self.po_tool_content_layout) - self.verticalLayout.addLayout(self.po_main_content_layout) - - self.retranslateUi(probe_offset_page) - QtCore.QMetaObject.connectSlotsByName(probe_offset_page) - - def retranslateUi(self, probe_offset_page): - _translate = QtCore.QCoreApplication.translate - probe_offset_page.setWindowTitle(_translate("probe_offset_page", "Form")) - self.po_header_title.setText(_translate("probe_offset_page", "Z Probe Offset Calibrate")) - self.po_back_button.setText(_translate("probe_offset_page", "PushButton")) - self.po_back_button.setProperty("button_type", _translate("probe_offset_page", "icon")) - self.mb_raise_nozzle.setText(_translate("probe_offset_page", "bb")) - self.mb_raise_nozzle.setProperty("button_type", _translate("probe_offset_page", "icon")) - self.mb_lower_nozzle.setText(_translate("probe_offset_page", "bb")) - self.mb_lower_nozzle.setProperty("button_type", _translate("probe_offset_page", "icon")) - self.old_offset_info.setText(_translate("probe_offset_page", "TextLabel")) - self.current_offset_info.setText(_translate("probe_offset_page", "TextLabel")) - self.accept_button.setText(_translate("probe_offset_page", "Accept")) - self.accept_button.setProperty("button_type", _translate("probe_offset_page", "icon_text")) - self.accept_button.setProperty("text_formatting", _translate("probe_offset_page", "bottom")) - self.abort_button.setText(_translate("probe_offset_page", "Abort")) - self.abort_button.setProperty("button_type", _translate("probe_offset_page", "icon_text")) - self.abort_button.setProperty("text_formatting", _translate("probe_offset_page", "bottom")) - self.move_intervals.setTitle(_translate("probe_offset_page", "Move Distance (mm)")) - self.move_option_1.setText(_translate("probe_offset_page", "0.01")) - self.move_option_2.setText(_translate("probe_offset_page", "0.025")) - self.move_option_3.setText(_translate("probe_offset_page", "0.05")) - self.move_option_4.setText(_translate("probe_offset_page", "0.1")) - self.move_option_5.setText(_translate("probe_offset_page", "1")) -from lib.utils.ui import BlocksCustomButton, BlocksLabel diff --git a/BlocksScreen/lib/ui/systemUpdate.ui b/BlocksScreen/lib/ui/systemUpdate.ui deleted file mode 100644 index 2b135068..00000000 --- a/BlocksScreen/lib/ui/systemUpdate.ui +++ /dev/null @@ -1,105 +0,0 @@ - - - systemUpdatePanel - - - - 0 - 0 - 710 - 400 - - - - - 710 - 400 - - - - - 720 - 420 - - - - Form - - - - - 10 - 10 - 681 - 61 - - - - - - - - 300 - 60 - - - - - 16777215 - 60 - - - - - 24 - - - - background: transparent; color: white; - - - System Update - - - - - - - - 60 - 60 - - - - - 60 - 60 - - - - PushButton - - - true - - - icon - - - - - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.ui
-
-
- - -
diff --git a/BlocksScreen/lib/ui/systemUpdate_ui.py b/BlocksScreen/lib/ui/systemUpdate_ui.py deleted file mode 100644 index 4984985b..00000000 --- a/BlocksScreen/lib/ui/systemUpdate_ui.py +++ /dev/null @@ -1,49 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/Blocks_Screen/BlocksScreen/lib/ui/systemUpdate.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_systemUpdatePanel(object): - def setupUi(self, systemUpdatePanel): - systemUpdatePanel.setObjectName("systemUpdatePanel") - systemUpdatePanel.resize(710, 400) - systemUpdatePanel.setMinimumSize(QtCore.QSize(710, 400)) - systemUpdatePanel.setMaximumSize(QtCore.QSize(720, 420)) - self.horizontalLayoutWidget = QtWidgets.QWidget(parent=systemUpdatePanel) - self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 681, 61)) - self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") - self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) - self.horizontalLayout.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout.setObjectName("horizontalLayout") - self.su_header_title = QtWidgets.QLabel(parent=self.horizontalLayoutWidget) - self.su_header_title.setMinimumSize(QtCore.QSize(300, 60)) - self.su_header_title.setMaximumSize(QtCore.QSize(16777215, 60)) - font = QtGui.QFont() - font.setPointSize(24) - self.su_header_title.setFont(font) - self.su_header_title.setStyleSheet("background: transparent; color: white;") - self.su_header_title.setObjectName("su_header_title") - self.horizontalLayout.addWidget(self.su_header_title) - self.su_back_button = BlocksCustomButton(parent=self.horizontalLayoutWidget) - self.su_back_button.setMinimumSize(QtCore.QSize(60, 60)) - self.su_back_button.setMaximumSize(QtCore.QSize(60, 60)) - self.su_back_button.setFlat(True) - self.su_back_button.setObjectName("su_back_button") - self.horizontalLayout.addWidget(self.su_back_button) - - self.retranslateUi(systemUpdatePanel) - QtCore.QMetaObject.connectSlotsByName(systemUpdatePanel) - - def retranslateUi(self, systemUpdatePanel): - _translate = QtCore.QCoreApplication.translate - systemUpdatePanel.setWindowTitle(_translate("systemUpdatePanel", "Form")) - self.su_header_title.setText(_translate("systemUpdatePanel", "System Update")) - self.su_back_button.setText(_translate("systemUpdatePanel", "PushButton")) - self.su_back_button.setProperty("button_type", _translate("systemUpdatePanel", "icon")) -from lib.utils.ui import BlocksCustomButton diff --git a/BlocksScreen/lib/ui/waitConfirmWindow.ui b/BlocksScreen/lib/ui/waitConfirmWindow.ui deleted file mode 100644 index f878f16f..00000000 --- a/BlocksScreen/lib/ui/waitConfirmWindow.ui +++ /dev/null @@ -1,629 +0,0 @@ - - - utilitiesStackedWidget - - - - 0 - 0 - 796 - 412 - - - - StackedWidget - - - 2 - - - - - - 320 - 70 - 171 - 61 - - - - - Momcake - 24 - - - - background: transparent; color: white; - - - PLEASE WAIT - - - title_text - - - - - true - - - - 200 - 170 - 411 - 91 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - Printer is homing - - - - - - 680 - 40 - 101 - 71 - - - - - 10 - 10 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Cancel - - - false - - - true - - - menu_btn - - - :/button_borders/media/buttons/btn_part1.svg - - - :/button_borders/media/buttons/btn_part2.svg - - - :/button_borders/media/buttons/btn_part3.svg - - - normal - - - - - - - - 320 - 60 - 171 - 61 - - - - - Momcake - 24 - - - - background: transparent; color: white; - - - Temperature - - - title_text - - - - - true - - - - 220 - 170 - 411 - 91 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - Hotends heating to load filament - - - - - true - - - - 470 - 310 - 31 - 41 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - true - - - - 240 - 310 - 31 - 41 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - true - - - - 430 - 310 - 31 - 41 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - true - - - - 200 - 310 - 31 - 41 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - - 340 - 300 - 91 - 61 - - - - Hontend 2 Icon - - - - - - 90 - 300 - 91 - 61 - - - - Hotend 1 Icon - - - - - true - - - - 690 - 310 - 31 - 41 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - - 560 - 300 - 91 - 61 - - - - Hotbed Icon - - - - - true - - - - 650 - 310 - 31 - 41 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - 0 - - - - - - 670 - 30 - 101 - 71 - - - - - 10 - 10 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - Cancel - - - false - - - true - - - menu_btn - - - :/button_borders/media/buttons/btn_part1.svg - - - :/button_borders/media/buttons/btn_part2.svg - - - :/button_borders/media/buttons/btn_part3.svg - - - normal - - - - - - - - 330 - 50 - 111 - 61 - - - - - Momcake - 24 - - - - background: transparent; color: white; - - - CONFIRM - - - title_text - - - - - true - - - - 170 - 150 - 411 - 91 - - - - - Montserrat - 14 - - - - background: transparent; color: white; - - - Do you want to apply changes? - - - - - - 110 - 290 - 211 - 71 - - - - - 10 - 10 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - YES - - - false - - - true - - - menu_btn - - - :/button_borders/media/buttons/btn_part1.svg - - - :/button_borders/media/buttons/btn_part2.svg - - - :/button_borders/media/buttons/btn_part3.svg - - - normal - - - - - - 440 - 290 - 211 - 71 - - - - - 10 - 10 - - - - - Momcake - 20 - false - PreferAntialias - - - - false - - - true - - - Qt::NoContextMenu - - - Qt::LeftToRight - - - - - - NO - - - false - - - true - - - menu_btn - - - :/button_borders/media/buttons/btn_part1.svg - - - :/button_borders/media/buttons/btn_part2.svg - - - :/button_borders/media/buttons/btn_part3.svg - - - - - - - - - - BlocksCustomButton - QPushButton -
lib.utils.ui
-
-
- - - - - -
diff --git a/BlocksScreen/lib/ui/waitConfirmWindow_ui.py b/BlocksScreen/lib/ui/waitConfirmWindow_ui.py deleted file mode 100644 index 4683d752..00000000 --- a/BlocksScreen/lib/ui/waitConfirmWindow_ui.py +++ /dev/null @@ -1,257 +0,0 @@ -# Form implementation generated from reading ui file '/home/bugo/github/Blocks_Screen/BlocksScreen/lib/ui/waitConfirmWindow.ui' -# -# Created by: PyQt6 UI code generator 6.4.2 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_utilitiesStackedWidget(object): - def setupUi(self, utilitiesStackedWidget): - utilitiesStackedWidget.setObjectName("utilitiesStackedWidget") - utilitiesStackedWidget.resize(796, 412) - self.wait_page = QtWidgets.QWidget() - self.wait_page.setObjectName("wait_page") - self.wait_title_label = QtWidgets.QLabel(parent=self.wait_page) - self.wait_title_label.setGeometry(QtCore.QRect(320, 70, 171, 61)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.wait_title_label.setFont(font) - self.wait_title_label.setStyleSheet("background: transparent; color: white;") - self.wait_title_label.setObjectName("wait_title_label") - self.wait_text_label = QtWidgets.QLabel(parent=self.wait_page) - self.wait_text_label.setEnabled(True) - self.wait_text_label.setGeometry(QtCore.QRect(200, 170, 411, 91)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_text_label.setFont(font) - self.wait_text_label.setStyleSheet("background: transparent; color: white;") - self.wait_text_label.setObjectName("wait_text_label") - self.wait_cancel_btn = BlocksCustomButton(parent=self.wait_page) - self.wait_cancel_btn.setGeometry(QtCore.QRect(680, 40, 101, 71)) - self.wait_cancel_btn.setMinimumSize(QtCore.QSize(10, 10)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.wait_cancel_btn.setFont(font) - self.wait_cancel_btn.setMouseTracking(False) - self.wait_cancel_btn.setTabletTracking(True) - self.wait_cancel_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.wait_cancel_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.wait_cancel_btn.setStyleSheet("") - self.wait_cancel_btn.setAutoDefault(False) - self.wait_cancel_btn.setFlat(True) - self.wait_cancel_btn.setProperty("borderLeftPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part1.svg")) - self.wait_cancel_btn.setProperty("borderCenterPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part2.svg")) - self.wait_cancel_btn.setProperty("borderRightPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part3.svg")) - self.wait_cancel_btn.setObjectName("wait_cancel_btn") - utilitiesStackedWidget.addWidget(self.wait_page) - self.wait_temperature_page = QtWidgets.QWidget() - self.wait_temperature_page.setObjectName("wait_temperature_page") - self.wait_temp_title_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_title_label.setGeometry(QtCore.QRect(320, 60, 171, 61)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.wait_temp_title_label.setFont(font) - self.wait_temp_title_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_title_label.setObjectName("wait_temp_title_label") - self.wait_temp_text_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_text_label.setEnabled(True) - self.wait_temp_text_label.setGeometry(QtCore.QRect(220, 170, 411, 91)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_text_label.setFont(font) - self.wait_temp_text_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_text_label.setObjectName("wait_temp_text_label") - self.wait_temp_t2_target_value_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_t2_target_value_label.setEnabled(True) - self.wait_temp_t2_target_value_label.setGeometry(QtCore.QRect(470, 310, 31, 41)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_t2_target_value_label.setFont(font) - self.wait_temp_t2_target_value_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_t2_target_value_label.setObjectName("wait_temp_t2_target_value_label") - self.wait_temp_t1_target_value_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_t1_target_value_label.setEnabled(True) - self.wait_temp_t1_target_value_label.setGeometry(QtCore.QRect(240, 310, 31, 41)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_t1_target_value_label.setFont(font) - self.wait_temp_t1_target_value_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_t1_target_value_label.setObjectName("wait_temp_t1_target_value_label") - self.wait_temp_t2_temp_value_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_t2_temp_value_label.setEnabled(True) - self.wait_temp_t2_temp_value_label.setGeometry(QtCore.QRect(430, 310, 31, 41)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_t2_temp_value_label.setFont(font) - self.wait_temp_t2_temp_value_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_t2_temp_value_label.setObjectName("wait_temp_t2_temp_value_label") - self.wait_temp_t1_temp_value_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_t1_temp_value_label.setEnabled(True) - self.wait_temp_t1_temp_value_label.setGeometry(QtCore.QRect(200, 310, 31, 41)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_t1_temp_value_label.setFont(font) - self.wait_temp_t1_temp_value_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_t1_temp_value_label.setObjectName("wait_temp_t1_temp_value_label") - self.wait_temp_t2_icon_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_t2_icon_label.setGeometry(QtCore.QRect(340, 300, 91, 61)) - self.wait_temp_t2_icon_label.setObjectName("wait_temp_t2_icon_label") - self.wait_temp_t1_icon_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_t1_icon_label.setGeometry(QtCore.QRect(90, 300, 91, 61)) - self.wait_temp_t1_icon_label.setObjectName("wait_temp_t1_icon_label") - self.wait_temp_bed_target_value_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_bed_target_value_label.setEnabled(True) - self.wait_temp_bed_target_value_label.setGeometry(QtCore.QRect(690, 310, 31, 41)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_bed_target_value_label.setFont(font) - self.wait_temp_bed_target_value_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_bed_target_value_label.setObjectName("wait_temp_bed_target_value_label") - self.wait_temp_bed_icon_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_bed_icon_label.setGeometry(QtCore.QRect(560, 300, 91, 61)) - self.wait_temp_bed_icon_label.setObjectName("wait_temp_bed_icon_label") - self.wait_temp_bed_temp_value_label = QtWidgets.QLabel(parent=self.wait_temperature_page) - self.wait_temp_bed_temp_value_label.setEnabled(True) - self.wait_temp_bed_temp_value_label.setGeometry(QtCore.QRect(650, 310, 31, 41)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.wait_temp_bed_temp_value_label.setFont(font) - self.wait_temp_bed_temp_value_label.setStyleSheet("background: transparent; color: white;") - self.wait_temp_bed_temp_value_label.setObjectName("wait_temp_bed_temp_value_label") - self.wait_temp_cancel_btn = BlocksCustomButton(parent=self.wait_temperature_page) - self.wait_temp_cancel_btn.setGeometry(QtCore.QRect(670, 30, 101, 71)) - self.wait_temp_cancel_btn.setMinimumSize(QtCore.QSize(10, 10)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.wait_temp_cancel_btn.setFont(font) - self.wait_temp_cancel_btn.setMouseTracking(False) - self.wait_temp_cancel_btn.setTabletTracking(True) - self.wait_temp_cancel_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.wait_temp_cancel_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.wait_temp_cancel_btn.setStyleSheet("") - self.wait_temp_cancel_btn.setAutoDefault(False) - self.wait_temp_cancel_btn.setFlat(True) - self.wait_temp_cancel_btn.setProperty("borderLeftPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part1.svg")) - self.wait_temp_cancel_btn.setProperty("borderCenterPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part2.svg")) - self.wait_temp_cancel_btn.setProperty("borderRightPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part3.svg")) - self.wait_temp_cancel_btn.setObjectName("wait_temp_cancel_btn") - utilitiesStackedWidget.addWidget(self.wait_temperature_page) - self.confirm_page = QtWidgets.QWidget() - self.confirm_page.setObjectName("confirm_page") - self.confirm_title_label = QtWidgets.QLabel(parent=self.confirm_page) - self.confirm_title_label.setGeometry(QtCore.QRect(330, 50, 111, 61)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(24) - self.confirm_title_label.setFont(font) - self.confirm_title_label.setStyleSheet("background: transparent; color: white;") - self.confirm_title_label.setObjectName("confirm_title_label") - self.confirm_text_label = QtWidgets.QLabel(parent=self.confirm_page) - self.confirm_text_label.setEnabled(True) - self.confirm_text_label.setGeometry(QtCore.QRect(170, 150, 411, 91)) - font = QtGui.QFont() - font.setFamily("Montserrat") - font.setPointSize(14) - self.confirm_text_label.setFont(font) - self.confirm_text_label.setStyleSheet("background: transparent; color: white;") - self.confirm_text_label.setObjectName("confirm_text_label") - self.confirm_yes_btn = BlocksCustomButton(parent=self.confirm_page) - self.confirm_yes_btn.setGeometry(QtCore.QRect(110, 290, 211, 71)) - self.confirm_yes_btn.setMinimumSize(QtCore.QSize(10, 10)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.confirm_yes_btn.setFont(font) - self.confirm_yes_btn.setMouseTracking(False) - self.confirm_yes_btn.setTabletTracking(True) - self.confirm_yes_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.confirm_yes_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.confirm_yes_btn.setStyleSheet("") - self.confirm_yes_btn.setAutoDefault(False) - self.confirm_yes_btn.setFlat(True) - self.confirm_yes_btn.setProperty("borderLeftPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part1.svg")) - self.confirm_yes_btn.setProperty("borderCenterPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part2.svg")) - self.confirm_yes_btn.setProperty("borderRightPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part3.svg")) - self.confirm_yes_btn.setObjectName("confirm_yes_btn") - self.confirm_no_btn = BlocksCustomButton(parent=self.confirm_page) - self.confirm_no_btn.setGeometry(QtCore.QRect(440, 290, 211, 71)) - self.confirm_no_btn.setMinimumSize(QtCore.QSize(10, 10)) - font = QtGui.QFont() - font.setFamily("Momcake") - font.setPointSize(20) - font.setItalic(False) - font.setStyleStrategy(QtGui.QFont.StyleStrategy.PreferAntialias) - self.confirm_no_btn.setFont(font) - self.confirm_no_btn.setMouseTracking(False) - self.confirm_no_btn.setTabletTracking(True) - self.confirm_no_btn.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu) - self.confirm_no_btn.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) - self.confirm_no_btn.setStyleSheet("") - self.confirm_no_btn.setAutoDefault(False) - self.confirm_no_btn.setFlat(True) - self.confirm_no_btn.setProperty("borderLeftPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part1.svg")) - self.confirm_no_btn.setProperty("borderCenterPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part2.svg")) - self.confirm_no_btn.setProperty("borderRightPixmap", QtGui.QPixmap(":/button_borders/media/buttons/btn_part3.svg")) - self.confirm_no_btn.setProperty("normal", "") - self.confirm_no_btn.setObjectName("confirm_no_btn") - utilitiesStackedWidget.addWidget(self.confirm_page) - - self.retranslateUi(utilitiesStackedWidget) - utilitiesStackedWidget.setCurrentIndex(2) - QtCore.QMetaObject.connectSlotsByName(utilitiesStackedWidget) - - def retranslateUi(self, utilitiesStackedWidget): - _translate = QtCore.QCoreApplication.translate - utilitiesStackedWidget.setWindowTitle(_translate("utilitiesStackedWidget", "StackedWidget")) - self.wait_title_label.setText(_translate("utilitiesStackedWidget", "PLEASE WAIT")) - self.wait_title_label.setProperty("class", _translate("utilitiesStackedWidget", "title_text")) - self.wait_text_label.setText(_translate("utilitiesStackedWidget", "Printer is homing")) - self.wait_cancel_btn.setText(_translate("utilitiesStackedWidget", "Cancel")) - self.wait_cancel_btn.setProperty("class", _translate("utilitiesStackedWidget", "menu_btn")) - self.wait_cancel_btn.setProperty("button_type", _translate("utilitiesStackedWidget", "normal")) - self.wait_temp_title_label.setText(_translate("utilitiesStackedWidget", "Temperature")) - self.wait_temp_title_label.setProperty("class", _translate("utilitiesStackedWidget", "title_text")) - self.wait_temp_text_label.setText(_translate("utilitiesStackedWidget", "Hotends heating to load filament")) - self.wait_temp_t2_target_value_label.setText(_translate("utilitiesStackedWidget", "0")) - self.wait_temp_t1_target_value_label.setText(_translate("utilitiesStackedWidget", "0")) - self.wait_temp_t2_temp_value_label.setText(_translate("utilitiesStackedWidget", "0")) - self.wait_temp_t1_temp_value_label.setText(_translate("utilitiesStackedWidget", "0")) - self.wait_temp_t2_icon_label.setText(_translate("utilitiesStackedWidget", "Hontend 2 Icon")) - self.wait_temp_t1_icon_label.setText(_translate("utilitiesStackedWidget", "Hotend 1 Icon")) - self.wait_temp_bed_target_value_label.setText(_translate("utilitiesStackedWidget", "0")) - self.wait_temp_bed_icon_label.setText(_translate("utilitiesStackedWidget", "Hotbed Icon")) - self.wait_temp_bed_temp_value_label.setText(_translate("utilitiesStackedWidget", "0")) - self.wait_temp_cancel_btn.setText(_translate("utilitiesStackedWidget", "Cancel")) - self.wait_temp_cancel_btn.setProperty("class", _translate("utilitiesStackedWidget", "menu_btn")) - self.wait_temp_cancel_btn.setProperty("button_type", _translate("utilitiesStackedWidget", "normal")) - self.confirm_title_label.setText(_translate("utilitiesStackedWidget", "CONFIRM")) - self.confirm_title_label.setProperty("class", _translate("utilitiesStackedWidget", "title_text")) - self.confirm_text_label.setText(_translate("utilitiesStackedWidget", "Do you want to apply changes?")) - self.confirm_yes_btn.setText(_translate("utilitiesStackedWidget", "YES")) - self.confirm_yes_btn.setProperty("class", _translate("utilitiesStackedWidget", "menu_btn")) - self.confirm_yes_btn.setProperty("button_type", _translate("utilitiesStackedWidget", "normal")) - self.confirm_no_btn.setText(_translate("utilitiesStackedWidget", "NO")) - self.confirm_no_btn.setProperty("class", _translate("utilitiesStackedWidget", "menu_btn")) -from lib.utils.ui import BlocksCustomButton From 974fdd3e66a805c0a274c84e0b795870fc4de8a8 Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Mon, 31 Aug 2026 17:41:31 +0100 Subject: [PATCH 2/7] test(ui): guard qrc resource keys against broken and stale references --- tests/ui/test_resource_keys_unit.py | 186 ++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 tests/ui/test_resource_keys_unit.py diff --git a/tests/ui/test_resource_keys_unit.py b/tests/ui/test_resource_keys_unit.py new file mode 100644 index 00000000..413c3895 --- /dev/null +++ b/tests/ui/test_resource_keys_unit.py @@ -0,0 +1,186 @@ +"""Guards Qt resource keys: no broken ':/' literal, no stale compiled blob. + +Qt resolves an unknown ':/' key to a null QPixmap with no exception, no warning +and no log line. The only feedback is a blank rectangle on the panel, which is +how the keys in XFAIL_KEYS survived for months. These tests turn that silent +failure into a red test. +""" + +import importlib +import re +import xml.etree.ElementTree as ET +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[2] +PKG_ROOT = REPO_ROOT / "BlocksScreen" +RESOURCES = PKG_ROOT / "lib" / "ui" / "resources" +RC_PACKAGE = "BlocksScreen.lib.ui.resources" + +# Known-broken keys, measured 2026-08-31. This dict may only ever shrink: +# test_xfail_keys_are_still_broken fails once an entry stops being broken. +XFAIL_KEYS = { + ":/background/media/graphics/scroll_list_window.svg": ( + "asset is on disk but declared by no .qrc; retired by PR 3" + ), + ":/button_borders/media/btn_icons/back.svg": ( + "wrong prefix, real key is :/ui/media/btn_icons/back.svg; " + "lives in a generated _ui.py so the .ui file is the fix; retired by PR 3" + ), + ":/graphics/media/btn_icons/z_offset_adjust.svg": ( + "asset deleted from the qrc in 927e43c (2025-06-04) and absent from " + "disk, yet 3 call sites still request it; retired by PR 3" + ), + ":/network/media/btn_icons/network/{b}bar_wifi{": ( + "not broken at runtime: an f-string template the scanner cannot " + "evaluate, whose real keys are the 0bar..3bar matrix; the literal " + "disappears when the Icon enum replaces it in PR 8" + ), + ":/ui/background/media/1st_background.png": ( + "duplicated prefix segment, real key is " + ":/background/media/1st_background.png; retired by PR 3" + ), + ":/ui/media/btn_icons/indf_svg.svg": ( + "no such file in any .qrc or on disk; retired by PR 3" + ), + ":/ui/media/btn_icons/warning.svg": ( + "no such file in any .qrc or on disk, so the warning popup renders a " + "blank icon; needs a new asset, not just a key fix; retired by PR 3" + ), +} + +# Deliberately a text scan, not an AST walk: an AST walk only sees ast.Constant, +# so it would silently drop the wifi f-string template above. The optional slash +# catches ":ui/..." too, which Qt resolves the same as ":/ui/..." (verified) and +# which 6 sites in this package use. The trailing + excludes a bare ":". +_LITERAL = re.compile(r'["\'](:/?[^"\'\s]+)["\']') + + +def _canonical(key: str) -> str: + """Normalize a bare ':' prefix to ':/', the two forms Qt treats as equivalent.""" + return key if key.startswith(":/") else f":/{key[1:]}" + + +def _qrc_entries() -> list[tuple[str, Path]]: + """Return every (resource key, on-disk path) pair declared by the .qrc files.""" + entries = [] + for qrc in sorted(RESOURCES.glob("*.qrc")): + for qresource in ET.parse(qrc).getroot().findall("qresource"): + prefix = (qresource.get("prefix") or "").strip("/") + for element in qresource.findall("file"): + path = (element.text or "").strip() + key = f":/{prefix}/{element.get('alias') or path}" + entries.append((key, qrc.parent / path)) + return entries + + +def _qrc_keys() -> set[str]: + """Return the resource keys declared by the .qrc XML, the developer-facing source.""" + return {key for key, _ in _qrc_entries()} + + +def _literal_sites() -> dict[str, list[str]]: + """Map every ':/' literal under BlocksScreen/lib to its 'file:line' call sites.""" + sites: dict[str, list[str]] = {} + for module in sorted((PKG_ROOT / "lib").rglob("*.py")): + if module.name.endswith("_rc.py"): + continue + text = module.read_text(errors="replace") + for number, line in enumerate(text.splitlines(), 1): + for match in _LITERAL.finditer(line): + where = f"{module.relative_to(REPO_ROOT)}:{number}" + sites.setdefault(match.group(1), []).append(where) + return sites + + +def _qrc_prefix_roots() -> set[str]: + """Return the top-level ':/' roots the .qrc files claim.""" + return {f":/{key.split('/')[1]}" for key in _qrc_keys()} + + +def _compiled_keys() -> set[str]: + """Return the resource keys compiled into the _rc.py blobs, under our prefixes only.""" + from PyQt6.QtCore import QDir, QDirIterator + + for blob in sorted(RESOURCES.glob("*_rc.py")): + importlib.import_module(f"{RC_PACKAGE}.{blob.stem}") + + # Walk our own prefixes, never ':/'. Qt registers its own style and PDF + # resources into the same tree as soon as QtGui/QtWidgets is imported, and + # which of those appear depends on what the rest of the suite imported first. + keys = set() + for root in _qrc_prefix_roots(): + walk = QDirIterator( + root, QDir.Filter.Files, QDirIterator.IteratorFlag.Subdirectories + ) + while walk.hasNext(): + keys.add(walk.next()) + return keys + + +def _report(header: str, detail: dict[str, list[str]]) -> str: + """Build a multi-line failure message naming every key and its sites.""" + lines = [header] + for key in sorted(detail): + lines.append(f" {key}") + lines.extend(f" {item}" for item in detail[key]) + return "\n".join(lines) + + +def test_resources_dir_is_findable(): + """Fail loudly if the path derivation breaks, so the other tests cannot pass empty.""" + assert RESOURCES.is_dir(), f"resources dir not found at {RESOURCES}" + assert list(RESOURCES.glob("*.qrc")), f"no .qrc files under {RESOURCES}" + + +def test_no_broken_resource_literals(): + """Every ':/' literal under BlocksScreen/lib resolves to a declared .qrc key.""" + keys = _qrc_keys() + broken = { + key: sites + for key, sites in _literal_sites().items() + if _canonical(key) not in keys and _canonical(key) not in XFAIL_KEYS + } + assert not broken, _report( + "resource keys that no .qrc declares (Qt renders these blank):", broken + ) + + +def test_xfail_keys_are_still_broken(): + """XFAIL_KEYS only shrinks: a key that got fixed must be deleted from the dict.""" + keys = _qrc_keys() + sites = {_canonical(key) for key in _literal_sites()} + stale = {} + for key in XFAIL_KEYS: + if key in keys: + stale[key] = ["now declared by a .qrc - delete this XFAIL_KEYS entry"] + elif key not in sites: + stale[key] = [ + "no longer referenced anywhere - delete this XFAIL_KEYS entry" + ] + assert not stale, _report("stale XFAIL_KEYS entries:", stale) + + +def test_qrc_declared_files_exist_on_disk(): + """Every a .qrc declares is present, so `make rcc` cannot fail silently.""" + missing = { + key: [str(path.relative_to(REPO_ROOT))] + for key, path in _qrc_entries() + if not path.is_file() + } + assert not missing, _report("declared in a .qrc but absent from disk:", missing) + + +def test_compiled_blobs_match_the_qrc_xml(): + """The _rc.py blobs match the .qrc XML, i.e. nobody skipped `make rcc`.""" + declared = _qrc_keys() + compiled = _compiled_keys() + drift = {} + if declared - compiled: + drift["declared in XML but not compiled (run `make rcc`)"] = sorted( + declared - compiled + ) + if compiled - declared: + drift["compiled but no longer in XML (run `make rcc`)"] = sorted( + compiled - declared + ) + assert not drift, _report("the .qrc XML and the _rc.py blobs disagree:", drift) From b631019a245c0538b5ac56d8e9f19389db71adbb Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Tue, 1 Sep 2026 10:04:10 +0100 Subject: [PATCH 3/7] fix(ui): repair broken resource keys and harden the BlocksLabel icon guard --- BlocksScreen/lib/panels/widgets/babystepPage.py | 3 --- BlocksScreen/lib/panels/widgets/probeHelperPage.py | 3 --- .../lib/panels/widgets/slider_selector_page.py | 2 +- BlocksScreen/lib/utils/blocks_label.py | 12 ++++++------ tests/ui/test_resource_keys_unit.py | 8 -------- 5 files changed, 7 insertions(+), 21 deletions(-) diff --git a/BlocksScreen/lib/panels/widgets/babystepPage.py b/BlocksScreen/lib/panels/widgets/babystepPage.py index 1b632c17..000e1135 100644 --- a/BlocksScreen/lib/panels/widgets/babystepPage.py +++ b/BlocksScreen/lib/panels/widgets/babystepPage.py @@ -258,9 +258,6 @@ def _setupUI(self) -> None: self.bbp_z_offset_current_value.setText( f"Z: {round(self._pending_z_offset, 3) or 0.0:.3f} mm" ) - self.bbp_z_offset_current_value.setPixmap( - QtGui.QPixmap(":/graphics/media/btn_icons/z_offset_adjust.svg") - ) self.bbp_z_offset_current_value.setAlignment( QtCore.Qt.AlignmentFlag.AlignCenter ) diff --git a/BlocksScreen/lib/panels/widgets/probeHelperPage.py b/BlocksScreen/lib/panels/widgets/probeHelperPage.py index 0df4b50d..4eaa7a5a 100644 --- a/BlocksScreen/lib/panels/widgets/probeHelperPage.py +++ b/BlocksScreen/lib/panels/widgets/probeHelperPage.py @@ -946,9 +946,6 @@ def _setupUi(self) -> None: self.current_offset_info.setFont(font) self.current_offset_info.setStyleSheet("background: transparent; color: white;") self.current_offset_info.setText("Z:0.000mm") - self.current_offset_info.setPixmap( - QtGui.QPixmap(":/graphics/media/btn_icons/z_offset_adjust.svg") - ) self.current_offset_info.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.current_offset_info.setObjectName("current_offset_info") # Add graphic frame AFTER the offset buttons group box diff --git a/BlocksScreen/lib/panels/widgets/slider_selector_page.py b/BlocksScreen/lib/panels/widgets/slider_selector_page.py index 2f6c89f7..da6d6b36 100644 --- a/BlocksScreen/lib/panels/widgets/slider_selector_page.py +++ b/BlocksScreen/lib/panels/widgets/slider_selector_page.py @@ -27,7 +27,7 @@ def __init__(self, parent) -> None: self.decrease_button_icon = QtGui.QPixmap( ":/arrow_icons/media/btn_icons/left_arrow.svg" ) - self.background = QtGui.QPixmap(":/ui/background/media/1st_background.png") + self.background = QtGui.QPixmap(":/background/media/1st_background.png") self.setStyleSheet( "#SliderPage{background-image: url(:/background/media/1st_background.png);}\n" ) diff --git a/BlocksScreen/lib/utils/blocks_label.py b/BlocksScreen/lib/utils/blocks_label.py index a2290092..cded73c2 100644 --- a/BlocksScreen/lib/utils/blocks_label.py +++ b/BlocksScreen/lib/utils/blocks_label.py @@ -11,10 +11,10 @@ def __init__(self, parent: QtWidgets.QWidget = None, *args, **kwargs): super().__init__(parent, *args, **kwargs) self.setAttribute(QtCore.Qt.WidgetAttribute.WA_AcceptTouchEvents, True) - self.icon_pixmap: typing.Optional[QtGui.QPixmap] = None + self.icon_pixmap: QtGui.QPixmap | None = None self._text: str = "" - self._background_color: typing.Optional[QtGui.QColor] = None - self._border_color: typing.Optional[QtGui.QColor] = None + self._background_color: QtGui.QColor | None = None + self._border_color: QtGui.QColor | None = None self._rounded: bool = False self._marquee: bool = True self.timer = QtCore.QTimer() @@ -76,7 +76,7 @@ def setText(self, text: str) -> None: self.update_text_metrics() @property - def background_color(self) -> typing.Optional[QtGui.QColor]: + def background_color(self) -> QtGui.QColor | None: """Widget background color""" return self._background_color @@ -85,7 +85,7 @@ def background_color(self, color: QtGui.QColor) -> None: self._background_color = color @property - def border_color(self) -> typing.Optional[QtGui.QColor]: + def border_color(self) -> QtGui.QColor | None: """Widget border color""" return self._border_color @@ -209,7 +209,7 @@ def paintEvent(self, a0: QtGui.QPaintEvent) -> None: else: qp.fillRect(rect, self._background_color) - if self.icon_pixmap: + if self.icon_pixmap is not None and not self.icon_pixmap.isNull(): icon_rect = QtCore.QRectF( 0.0 + self.icon_margin, 0.0 + self.icon_margin, diff --git a/tests/ui/test_resource_keys_unit.py b/tests/ui/test_resource_keys_unit.py index 413c3895..8e6b72e5 100644 --- a/tests/ui/test_resource_keys_unit.py +++ b/tests/ui/test_resource_keys_unit.py @@ -26,19 +26,11 @@ "wrong prefix, real key is :/ui/media/btn_icons/back.svg; " "lives in a generated _ui.py so the .ui file is the fix; retired by PR 3" ), - ":/graphics/media/btn_icons/z_offset_adjust.svg": ( - "asset deleted from the qrc in 927e43c (2025-06-04) and absent from " - "disk, yet 3 call sites still request it; retired by PR 3" - ), ":/network/media/btn_icons/network/{b}bar_wifi{": ( "not broken at runtime: an f-string template the scanner cannot " "evaluate, whose real keys are the 0bar..3bar matrix; the literal " "disappears when the Icon enum replaces it in PR 8" ), - ":/ui/background/media/1st_background.png": ( - "duplicated prefix segment, real key is " - ":/background/media/1st_background.png; retired by PR 3" - ), ":/ui/media/btn_icons/indf_svg.svg": ( "no such file in any .qrc or on disk; retired by PR 3" ), From 0df798a9fb72d2c33a7bbaeb815301fb6a02fd48 Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Tue, 1 Sep 2026 10:13:11 +0100 Subject: [PATCH 4/7] fix(ui): delete dead pixmap references and repair the z-adjust back icon --- BlocksScreen/lib/panels/networkWindow.py | 9 --------- BlocksScreen/lib/panels/printTab.py | 18 ------------------ BlocksScreen/lib/ui/controlStackedWidget.ui | 2 +- BlocksScreen/lib/ui/controlStackedWidget_ui.py | 2 +- tests/ui/test_resource_keys_unit.py | 10 ---------- 5 files changed, 2 insertions(+), 39 deletions(-) diff --git a/BlocksScreen/lib/panels/networkWindow.py b/BlocksScreen/lib/panels/networkWindow.py index 07c98bed..74be209c 100644 --- a/BlocksScreen/lib/panels/networkWindow.py +++ b/BlocksScreen/lib/panels/networkWindow.py @@ -2828,9 +2828,6 @@ def _setup_saved_details_page(self) -> None: self.low_priority_btn.setMaximumSize(QtCore.QSize(100, 100)) self.low_priority_btn.setCheckable(True) self.low_priority_btn.setFlat(True) - self.low_priority_btn.setProperty( - "icon_pixmap", PixmapCache.get(":/ui/media/btn_icons/indf_svg.svg") - ) self.low_priority_btn.setText("Low") self.low_priority_btn.setProperty("class", "back_btn") self.low_priority_btn.setProperty("button_type", "icon") @@ -2844,9 +2841,6 @@ def _setup_saved_details_page(self) -> None: self.med_priority_btn.setCheckable(True) self.med_priority_btn.setChecked(False) # Don't set default checked self.med_priority_btn.setFlat(True) - self.med_priority_btn.setProperty( - "icon_pixmap", PixmapCache.get(":/ui/media/btn_icons/indf_svg.svg") - ) self.med_priority_btn.setText("Medium") self.med_priority_btn.setProperty("class", "back_btn") self.med_priority_btn.setProperty("button_type", "icon") @@ -2860,9 +2854,6 @@ def _setup_saved_details_page(self) -> None: self.high_priority_btn.setCheckable(True) self.high_priority_btn.setChecked(False) self.high_priority_btn.setFlat(True) - self.high_priority_btn.setProperty( - "icon_pixmap", PixmapCache.get(":/ui/media/btn_icons/indf_svg.svg") - ) self.high_priority_btn.setText("High") self.high_priority_btn.setProperty("class", "back_btn") self.high_priority_btn.setProperty("button_type", "icon") diff --git a/BlocksScreen/lib/panels/printTab.py b/BlocksScreen/lib/panels/printTab.py index 36f62024..41e83b4c 100644 --- a/BlocksScreen/lib/panels/printTab.py +++ b/BlocksScreen/lib/panels/printTab.py @@ -428,20 +428,6 @@ def _on_delete_file_confirmed(self, filename: str, directory: str) -> None: except (RuntimeError, TypeError): pass - def setProperty(self, name: str, value: typing.Any) -> bool: - """Intercept the set property method - - Args: - name (str): Name of the dynamic property - value (typing.Any): Value for the dynamic property - - Returns: - bool: Returns to the super class - """ - if name == "backgroundPixmap": - self.background = value - return super().setProperty(name, value) - def handle_cancel_print(self) -> None: """Handles the print cancel action""" if ( @@ -514,10 +500,6 @@ def setupMainPrintPage(self) -> None: self.setSizePolicy(sizePolicy) self.setMinimumSize(QtCore.QSize(710, 410)) self.setMaximumSize(QtCore.QSize(720, 420)) - self.setProperty( - "backgroundPixmap", - QtGui.QPixmap(":/background/media/graphics/scroll_list_window.svg"), - ) self.print_page = QtWidgets.QWidget() sizePolicy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Policy.MinimumExpanding, diff --git a/BlocksScreen/lib/ui/controlStackedWidget.ui b/BlocksScreen/lib/ui/controlStackedWidget.ui index ea27b531..3c6621c4 100644 --- a/BlocksScreen/lib/ui/controlStackedWidget.ui +++ b/BlocksScreen/lib/ui/controlStackedWidget.ui @@ -5122,7 +5122,7 @@ Home true - :/button_borders/media/btn_icons/back.svg + :/ui/media/btn_icons/back.svg icon diff --git a/BlocksScreen/lib/ui/controlStackedWidget_ui.py b/BlocksScreen/lib/ui/controlStackedWidget_ui.py index 95417c09..6f9368fb 100644 --- a/BlocksScreen/lib/ui/controlStackedWidget_ui.py +++ b/BlocksScreen/lib/ui/controlStackedWidget_ui.py @@ -1820,7 +1820,7 @@ def setupUi(self, controlStackedWidget): self.z_adjust_back_button.setMaximumSize(QtCore.QSize(60, 60)) self.z_adjust_back_button.setText("") self.z_adjust_back_button.setFlat(True) - self.z_adjust_back_button.setProperty("icon_pixmap", QtGui.QPixmap(":/button_borders/media/btn_icons/back.svg")) + self.z_adjust_back_button.setProperty("icon_pixmap", QtGui.QPixmap(":/ui/media/btn_icons/back.svg")) self.z_adjust_back_button.setObjectName("z_adjust_back_button") self.z_adjustment_header_layout.addWidget(self.z_adjust_back_button) self.verticalLayoutWidget_8 = QtWidgets.QWidget(parent=self.z_adjustment_page) diff --git a/tests/ui/test_resource_keys_unit.py b/tests/ui/test_resource_keys_unit.py index 8e6b72e5..729cf818 100644 --- a/tests/ui/test_resource_keys_unit.py +++ b/tests/ui/test_resource_keys_unit.py @@ -19,21 +19,11 @@ # Known-broken keys, measured 2026-08-31. This dict may only ever shrink: # test_xfail_keys_are_still_broken fails once an entry stops being broken. XFAIL_KEYS = { - ":/background/media/graphics/scroll_list_window.svg": ( - "asset is on disk but declared by no .qrc; retired by PR 3" - ), - ":/button_borders/media/btn_icons/back.svg": ( - "wrong prefix, real key is :/ui/media/btn_icons/back.svg; " - "lives in a generated _ui.py so the .ui file is the fix; retired by PR 3" - ), ":/network/media/btn_icons/network/{b}bar_wifi{": ( "not broken at runtime: an f-string template the scanner cannot " "evaluate, whose real keys are the 0bar..3bar matrix; the literal " "disappears when the Icon enum replaces it in PR 8" ), - ":/ui/media/btn_icons/indf_svg.svg": ( - "no such file in any .qrc or on disk; retired by PR 3" - ), ":/ui/media/btn_icons/warning.svg": ( "no such file in any .qrc or on disk, so the warning popup renders a " "blank icon; needs a new asset, not just a key fix; retired by PR 3" From 2c028ca86b29789d9baee686429e56b49035dc76 Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Tue, 1 Sep 2026 10:22:37 +0100 Subject: [PATCH 5/7] fix(ui): give warning popups an icon and clear it for unknown severity --- BlocksScreen/lib/panels/widgets/popupDialogWidget.py | 5 ++++- tests/ui/test_resource_keys_unit.py | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/BlocksScreen/lib/panels/widgets/popupDialogWidget.py b/BlocksScreen/lib/panels/widgets/popupDialogWidget.py index 39dfa293..51519dcc 100644 --- a/BlocksScreen/lib/panels/widgets/popupDialogWidget.py +++ b/BlocksScreen/lib/panels/widgets/popupDialogWidget.py @@ -32,7 +32,8 @@ def __init__(self, parent) -> None: self.message_type: Popup.MessageType = Popup.MessageType.INFO self.default_background_color = QtGui.QColor(164, 164, 164) self.info_icon = QtGui.QPixmap(":ui/media/btn_icons/info.svg") - self.warning_icon = QtGui.QPixmap(":ui/media/btn_icons/warning.svg") + # no warning asset exists yet; the yellow ColorCode carries the severity + self.warning_icon = QtGui.QPixmap(":ui/media/btn_icons/error.svg") self.error_icon = QtGui.QPixmap(":ui/media/btn_icons/error.svg") self.setAttribute(QtCore.Qt.WidgetAttribute.WA_TranslucentBackground, True) self.setMouseTracking(True) @@ -179,6 +180,8 @@ def _add_popup(self) -> None: self.icon_label.setPixmap(self.warning_icon) case Popup.MessageType.ERROR: self.icon_label.setPixmap(self.error_icon) + case _: + self.icon_label.clear() end_rect = self._calculate_target_geometry() start_rect = end_rect.translated(0, -end_rect.height() * 2) diff --git a/tests/ui/test_resource_keys_unit.py b/tests/ui/test_resource_keys_unit.py index 729cf818..0645c2b9 100644 --- a/tests/ui/test_resource_keys_unit.py +++ b/tests/ui/test_resource_keys_unit.py @@ -24,10 +24,6 @@ "evaluate, whose real keys are the 0bar..3bar matrix; the literal " "disappears when the Icon enum replaces it in PR 8" ), - ":/ui/media/btn_icons/warning.svg": ( - "no such file in any .qrc or on disk, so the warning popup renders a " - "blank icon; needs a new asset, not just a key fix; retired by PR 3" - ), } # Deliberately a text scan, not an AST walk: an AST walk only sees ast.Constant, From 80a9c639f91b9dabd6673ba4a76e5517c187888c Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Tue, 1 Sep 2026 10:32:09 +0100 Subject: [PATCH 6/7] chore(ui): dedupe 10 double-exported assets and drop the dead system qrc --- BlocksScreen/lib/panels/mainWindow.py | 1 - .../lib/panels/widgets/basicFilamentPanel.py | 6 +- BlocksScreen/lib/ui/controlStackedWidget.ui | 2 +- .../lib/ui/controlStackedWidget_ui.py | 2 +- .../lib/ui/resources/icon_resources.qrc | 9 - .../lib/ui/resources/icon_resources_rc.py | 2205 +++-------------- .../lib/ui/resources/system_resources.qrc | 9 - .../lib/ui/resources/system_resources_rc.py | 623 ----- tests/panels/conftest.py | 1 - 9 files changed, 351 insertions(+), 2507 deletions(-) delete mode 100644 BlocksScreen/lib/ui/resources/system_resources.qrc delete mode 100644 BlocksScreen/lib/ui/resources/system_resources_rc.py diff --git a/BlocksScreen/lib/panels/mainWindow.py b/BlocksScreen/lib/panels/mainWindow.py index 035f27f8..b11ea055 100644 --- a/BlocksScreen/lib/panels/mainWindow.py +++ b/BlocksScreen/lib/panels/mainWindow.py @@ -35,7 +35,6 @@ from lib.ui.resources.graphic_resources_rc import * from lib.ui.resources.icon_resources_rc import * from lib.ui.resources.main_menu_resources_rc import * -from lib.ui.resources.system_resources_rc import * from lib.ui.resources.top_bar_resources_rc import * from lib.updater_worker import UpdaterWorker from PyQt6 import QtCore, QtGui, QtWidgets diff --git a/BlocksScreen/lib/panels/widgets/basicFilamentPanel.py b/BlocksScreen/lib/panels/widgets/basicFilamentPanel.py index 4dac964e..e149d76b 100644 --- a/BlocksScreen/lib/panels/widgets/basicFilamentPanel.py +++ b/BlocksScreen/lib/panels/widgets/basicFilamentPanel.py @@ -639,7 +639,7 @@ def _setupUi(self): ( "load_pla_btn", "PLA", - ":/filament_related/media/topbar/pla_filament_topbar.svg", + ":/top_bar_icons/media/topbar/pla_filament_topbar.svg", 0, 0, FilamentTypes.PLA, @@ -647,7 +647,7 @@ def _setupUi(self): ( "load_petg_btn", "PETG", - ":/filament_related/media/topbar/petg_filament_topbar.svg", + ":/top_bar_icons/media/topbar/petg_filament_topbar.svg", 0, 1, FilamentTypes.PETG, @@ -655,7 +655,7 @@ def _setupUi(self): ( "load_abs_btn", "ABS", - ":/filament_related/media/topbar/abs_filament_topbar.svg", + ":/top_bar_icons/media/topbar/abs_filament_topbar.svg", 1, 0, FilamentTypes.ABS, diff --git a/BlocksScreen/lib/ui/controlStackedWidget.ui b/BlocksScreen/lib/ui/controlStackedWidget.ui index 3c6621c4..89ed7f60 100644 --- a/BlocksScreen/lib/ui/controlStackedWidget.ui +++ b/BlocksScreen/lib/ui/controlStackedWidget.ui @@ -400,7 +400,7 @@ Control menu_btn - :/temperature_related/media/btn_icons/fan.svg + :/fan_related/media/btn_icons/fan.svg diff --git a/BlocksScreen/lib/ui/controlStackedWidget_ui.py b/BlocksScreen/lib/ui/controlStackedWidget_ui.py index 6f9368fb..6dd3cf04 100644 --- a/BlocksScreen/lib/ui/controlStackedWidget_ui.py +++ b/BlocksScreen/lib/ui/controlStackedWidget_ui.py @@ -170,7 +170,7 @@ def setupUi(self, controlStackedWidget): self.cp_fans_btn.setStyleSheet("") self.cp_fans_btn.setAutoDefault(False) self.cp_fans_btn.setFlat(True) - self.cp_fans_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/temperature_related/media/btn_icons/fan.svg")) + self.cp_fans_btn.setProperty("icon_pixmap", QtGui.QPixmap(":/fan_related/media/btn_icons/fan.svg")) self.cp_fans_btn.setObjectName("cp_fans_btn") self.cp_content_layout.addWidget(self.cp_fans_btn, 2, 0, 1, 1) self.cp_switch_print_core_btn = BlocksCustomButton(parent=self.control_page) diff --git a/BlocksScreen/lib/ui/resources/icon_resources.qrc b/BlocksScreen/lib/ui/resources/icon_resources.qrc index 68f4986e..d5fbde2d 100644 --- a/BlocksScreen/lib/ui/resources/icon_resources.qrc +++ b/BlocksScreen/lib/ui/resources/icon_resources.qrc @@ -55,8 +55,6 @@ media/btn_icons/temperature_error.svg media/btn_icons/temperature_plate.svg media/btn_icons/temperature_up.svg - media/btn_icons/blower.svg - media/btn_icons/fan.svg media/btn_icons/cooldown.svg media/btn_icons/heatsoak_icon.svg media/btn_icons/hot_temperature.svg @@ -88,13 +86,6 @@ media/btn_icons/eject.svg media/btn_icons/humity_and_temp.svg media/btn_icons/spoll.svg - media/topbar/abs_filament_topbar.svg - media/topbar/custom_filament_topbar.svg - media/topbar/hips_filament_topbar.svg - media/topbar/nylon_filament_topbar.svg - media/topbar/petg_filament_topbar.svg - media/topbar/pla_filament_topbar.svg - media/topbar/tpu_filament_topbar.svg media/btn_icons/change_filament.svg media/btn_icons/filament_sensor.svg media/btn_icons/filament_sensor_off.svg diff --git a/BlocksScreen/lib/ui/resources/icon_resources_rc.py b/BlocksScreen/lib/ui/resources/icon_resources_rc.py index df842ad3..0975a549 100644 --- a/BlocksScreen/lib/ui/resources/icon_resources_rc.py +++ b/BlocksScreen/lib/ui/resources/icon_resources_rc.py @@ -9497,1169 +9497,6 @@ \x31\x2e\x36\x35\x20\x34\x30\x35\x2e\x31\x20\x31\x35\x2e\x33\x38\ \x20\x35\x33\x31\x2e\x33\x37\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\ \x3e\ -\x00\x00\x0a\x60\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x31\x37\x36\x2e\x30\x32\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x32\x65\ -\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x35\x65\x6d\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\ -\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ -\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x32\x22\x3e\x61\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x78\x3d\x22\x33\x32\x2e\x36\x39\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x62\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\ -\x73\x70\x61\x6e\x20\x78\x3d\x22\x35\x38\x2e\x34\x31\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x73\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\ -\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\ -\x37\x38\x2c\x31\x38\x2e\x31\x34\x63\x32\x2e\x35\x36\x2c\x31\x2e\ -\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\ -\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\ -\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\ -\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\ -\x31\x2e\x32\x32\x2d\x32\x2e\x37\x34\x2e\x32\x33\x61\x39\x2e\x31\ -\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\ -\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\ -\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\ -\x2e\x39\x2e\x35\x38\x2d\x31\x2e\x34\x32\x2c\x31\x2e\x33\x31\x2d\ -\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\x39\x5a\x4d\x32\x33\x2e\ -\x35\x33\x2c\x34\x39\x2e\x37\x32\x61\x2e\x38\x38\x2e\x38\x38\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\x39\x31\x2e\x39\ -\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\ -\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\ -\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\ -\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\x39\x2e\x39\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\ -\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\ -\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\ -\x33\x31\x2e\x36\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x34\ -\x31\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x37\x32\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ -\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x34\x61\x35\x2e\x31\ -\x33\x2c\x35\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\ -\x2e\x32\x37\x63\x2d\x2e\x37\x32\x2c\x30\x2d\x31\x2e\x33\x39\x2c\ -\x30\x2d\x32\x2e\x30\x36\x2c\x30\x73\x2d\x31\x2c\x2e\x31\x2d\x31\ -\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\x2e\x34\x38\x2c\x31\ -\x2c\x34\x31\x2e\x31\x39\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x37\ -\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\x39\ -\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\x35\x2e\x30\x37\x2c\ -\x35\x2e\x30\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\ -\x35\x32\x2e\x34\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\ -\x34\x2d\x2e\x38\x38\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x31\x43\ -\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x33\x2d\x2e\x37\x34\x2c\x33\ -\x30\x2e\x32\x38\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\x37\x34\x63\ -\x2e\x35\x39\x2d\x31\x2e\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\ -\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x33\ -\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x63\x30\x2d\x35\x2c\x2e\x33\ -\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\ -\x31\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\ -\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\x2c\x31\x2e\x32\x2c\ -\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\x2c\x30\x2c\x2e\x33\ -\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\x35\x2c\ -\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\ -\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x39\x2d\x31\x2e\x30\ -\x38\x2c\x31\x34\x2e\x37\x35\x2c\x31\x2e\x33\x37\x2c\x32\x31\x2e\ -\x33\x38\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x34\x2d\x2e\x32\ -\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\ -\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x33\x2e\x34\x33\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\x34\x34\ -\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x38\x2c\x33\ -\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x5a\x22\x20\x74\x72\x61\x6e\ -\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ -\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x38\ -\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x63\x2e\x32\x38\x2e\x30\x35\ -\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x39\x73\x2d\x2e\ -\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\ -\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x31\ -\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x36\x31\x2c\ -\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\ -\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x32\x2e\x30\x35\x2e\ -\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\x2c\x30\x2d\x31\x2e\ -\x35\x33\x2c\x30\x61\x2e\x34\x39\x2e\x34\x39\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\ -\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\ -\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\ -\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\ -\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\ -\x37\x41\x37\x2e\x34\x31\x2c\x37\x2e\x34\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ -\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x34\x61\x31\x31\x2e\ -\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\ -\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\ -\x2e\x35\x37\x2d\x38\x2e\x32\x38\x2c\x32\x2e\x32\x35\x2d\x31\x32\ -\x2e\x31\x31\x61\x2e\x33\x36\x2e\x33\x36\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\ -\x38\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\ -\x2c\x33\x30\x2e\x34\x35\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\x31\ -\x31\x2e\x36\x38\x2c\x34\x38\x2e\x35\x63\x2e\x31\x32\x2e\x33\x31\ -\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\ -\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\ -\x31\x41\x33\x36\x2e\x31\x34\x2c\x33\x36\x2e\x31\x34\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x34\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x36\x63\x30\ -\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\ -\x31\x37\x2d\x31\x33\x2e\x34\x39\x61\x2e\x34\x2e\x34\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\ -\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\ -\x31\x37\x2e\x36\x33\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\ -\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\ -\x32\x37\x2c\x32\x35\x2e\x35\x36\x2e\x31\x34\x2e\x33\x36\x2c\x30\ -\x2c\x2e\x34\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\ -\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\ -\x33\x35\x2e\x37\x34\x2c\x33\x35\x2e\x37\x34\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x36\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ -\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x37\x63\x2e\x39\ -\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\ -\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\ -\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\ -\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\ -\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\ -\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2c\x35\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x33\x2c\x32\x2e\x31\x31\x2c\ -\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\x38\x2c\ -\x31\x2e\x37\x37\x2c\x35\x2e\x37\x34\x2c\x35\x2e\x37\x34\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\x2d\x2e\ -\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\x34\x2e\x34\x31\x2e\ -\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\x32\x22\ -\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x34\x22\x20\x72\x78\x3d\x22\ -\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\x22\x2f\ -\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ -\x00\x00\x0a\x25\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x31\x37\x36\x2e\x30\x32\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\x6d\ -\x3b\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\ -\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x32\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\ -\x3a\x2d\x30\x2e\x30\x33\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\ -\x65\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\ -\x4c\x61\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\ -\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\ -\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\ -\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\ -\x31\x22\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\ -\x31\x20\x34\x39\x2e\x39\x33\x29\x22\x3e\x70\x6c\x3c\x74\x73\x70\ -\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\ -\x20\x78\x3d\x22\x35\x35\x2e\x31\x39\x22\x20\x79\x3d\x22\x30\x22\ -\x3e\x61\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\ -\x38\x2e\x31\x32\x63\x32\x2e\x35\x36\x2c\x31\x2e\x33\x34\x2c\x33\ -\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\ -\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\ -\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\ -\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x31\ -\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\x2c\x39\x2c\x30\x2c\x30\ -\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x63\x2d\x32\x2e\x38\ -\x33\x2d\x37\x2e\x36\x31\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x33\ -\x2c\x30\x2d\x32\x36\x2e\x39\x31\x2e\x35\x38\x2d\x31\x2e\x34\x31\ -\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\ -\x38\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\x39\x61\x2e\ -\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\ -\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\ -\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\ -\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\ -\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\ -\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\ -\x31\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\ -\x38\x35\x2d\x2e\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x2e\x39\x2e\x36\x32\x2c\x31\x34\x2e\x39\x34\x2c\x31\ -\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\ -\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x32\x2c\ -\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x33\x39\x2c\x32\x33\x2e\x35\ -\x33\x2c\x34\x39\x2e\x36\x39\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\ -\x2c\x31\x38\x2e\x31\x32\x61\x35\x2e\x31\x36\x2c\x35\x2e\x31\x36\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x36\x48\x35\x2e\ -\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\ -\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\x2e\x34\x35\x2c\x31\ -\x2c\x34\x31\x2e\x31\x37\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x36\ -\x38\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x2e\x34\x39\ -\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x2e\x35\x37\x63\x2e\x37\x37\x2c\x30\x2c\x31\x2e\x34\x31\ -\x2c\x30\x2c\x32\x2e\x32\x32\x2c\x30\x61\x35\x2c\x35\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x31\x2e\x37\x35\x2c\x32\x2e\x30\x37\x63\x2d\x31\ -\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\ -\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\ -\x35\x2d\x2e\x37\x34\x2c\x33\x30\x2e\x32\x35\x2c\x31\x2e\x38\x33\ -\x2c\x32\x32\x2e\x37\x32\x63\x2e\x35\x39\x2d\x31\x2e\x36\x35\x2c\ -\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\ -\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ -\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\ -\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x35\ -\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x34\x2c\x32\x2e\ -\x31\x37\x2d\x31\x33\x2e\x36\x32\x61\x2e\x34\x34\x2e\x34\x34\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\ -\x2c\x30\x2c\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\ -\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x32\ -\x39\x61\x32\x37\x2e\x34\x35\x2c\x32\x37\x2e\x34\x35\x2c\x30\x2c\ -\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\x43\x35\x2e\x36\x38\x2c\ -\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\x31\x2e\x38\x39\x2c\x38\x2e\ -\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\x2e\x31\x2e\x32\x34\x2e\x30\ -\x39\x2e\x33\x33\x2d\x2e\x32\x35\x2e\x33\x32\x2d\x2e\x36\x2c\x30\ -\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\ -\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\ -\x2e\x32\x39\x43\x34\x2c\x34\x34\x2e\x36\x36\x2c\x33\x2e\x35\x32\ -\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\ -\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ -\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\ -\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\ -\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\ -\x31\x2c\x2e\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x2d\x2e\x32\x32\ -\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\ -\x2c\x33\x39\x2e\x38\x37\x2c\x33\x39\x2e\x38\x37\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\ -\x2e\x33\x32\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\ -\x2d\x31\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\x2e\x34\x37\x2e\ -\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\ -\x2c\x32\x33\x2e\x36\x32\x2c\x32\x33\x2e\x36\x32\x2c\x30\x2c\x30\ -\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x32\x39\x63\x2d\x31\x2e\ -\x30\x39\x2d\x36\x2e\x35\x39\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\ -\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x38\x41\x37\x2e\x31\x33\x2c\x37\ -\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\ -\x32\x31\x2e\x38\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\ -\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\ -\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\ -\x36\x2e\x35\x32\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\ -\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\ -\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x38\x2e\ -\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\ -\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\ -\x30\x38\x2c\x31\x2c\x31\x2e\x30\x35\x43\x39\x2c\x33\x30\x2e\x34\ -\x33\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\ -\x34\x38\x2e\x34\x38\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\ -\x33\x36\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\ -\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\ -\x2e\x31\x39\x2c\x33\x36\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\ -\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x63\x30\x2d\x34\x2e\x38\ -\x36\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\ -\x33\x2e\x35\x61\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x2e\x34\x37\x2d\x2e\x32\x39\x63\x2e\x34\x2c\x30\x2c\x31\x2d\ -\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x36\x73\x2d\x2e\x31\x37\ -\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\ -\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\ -\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\ -\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\ -\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\ -\x35\x2e\x37\x37\x2c\x33\x35\x2e\x37\x37\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\ -\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x35\x63\x2e\x39\x32\ -\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\ -\x38\x2e\x38\x36\x2d\x32\x2e\x38\x37\x2d\x2e\x32\x35\x2d\x35\x2e\ -\x34\x36\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\x31\ -\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\ -\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\ -\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2e\x33\x32\x2c\x35\x2e\x33\ -\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\ -\x32\x2e\x31\x32\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x35\ -\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\ -\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\ -\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\ -\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x32\x22\ -\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\ -\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\ -\x73\x76\x67\x3e\ -\x00\x00\x0a\x54\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x32\x35\x32\x2e\x31\x33\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x35\x65\ -\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x34\x65\x6d\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\ -\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ -\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x32\x22\x3e\x63\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x78\x3d\x22\x33\x31\x2e\x39\x22\x20\x79\x3d\ -\x22\x30\x22\x3e\x6f\x73\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\ -\x73\x70\x61\x6e\x20\x78\x3d\x22\x39\x34\x2e\x37\x39\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x74\x75\x6d\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x32\ -\x34\x2e\x37\x38\x2c\x31\x38\x2e\x38\x34\x63\x32\x2e\x35\x36\x2c\ -\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\ -\x2e\x31\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\x2c\x36\x2e\x35\ -\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\ -\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\ -\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\ -\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2d\x31\ -\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\ -\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\x30\x2d\ -\x32\x36\x2e\x39\x41\x37\x2e\x30\x36\x2c\x37\x2e\x30\x36\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x32\x34\x2c\x31\x38\x2e\x38\x34\x5a\x4d\x32\ -\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x61\x2e\x38\x38\x2e\x38\ -\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\x39\x31\ -\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\ -\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\ -\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\ -\x37\x61\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\ -\x30\x2c\x30\x2d\x31\x2e\x37\x2d\x35\x2e\x31\x32\x2e\x39\x31\x2e\ -\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\ -\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\ -\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\ -\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\x2e\x35\x32\x2c\x33\x32\x2e\ -\x33\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\x31\x2e\x31\x31\x2c\x32\ -\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x35\ -\x2e\x36\x34\x2c\x31\x38\x2e\x38\x34\x61\x35\x2e\x31\x39\x2c\x35\ -\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x37\ -\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\x2e\x31\ -\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x39\x2e\x31\ -\x38\x2c\x31\x2c\x34\x31\x2e\x39\x2c\x33\x2e\x39\x32\x2c\x34\x39\ -\x2e\x34\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\ -\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\x35\x2c\x35\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\x35\x33\x2e\x31\ -\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\ -\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\ -\x34\x34\x2e\x32\x33\x2d\x2e\x37\x34\x2c\x33\x31\x2c\x31\x2e\x38\ -\x33\x2c\x32\x33\x2e\x34\x34\x63\x2e\x35\x39\x2d\x31\x2e\x36\x34\ -\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x38\x2c\x33\x2e\x30\x35\x2d\x34\ -\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x34\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\ -\x37\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\ -\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\x34\x33\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x71\x2e\ -\x39\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\x30\x2c\ -\x2e\x33\x35\x2e\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\ -\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\ -\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x39\x2d\x31\ -\x2e\x30\x38\x2c\x31\x34\x2e\x37\x36\x2c\x31\x2e\x33\x37\x2c\x32\ -\x31\x2e\x33\x38\x2e\x31\x2e\x32\x35\x2e\x30\x39\x2e\x33\x34\x2d\ -\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\ -\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\ -\x34\x35\x2e\x33\x39\x2c\x33\x2e\x35\x32\x2c\x34\x30\x2e\x33\x38\ -\x2c\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\x37\x5a\x22\x20\x74\x72\ -\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ -\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\ -\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\x38\x63\x2e\x32\x38\x2c\ -\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x38\x73\ -\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\ -\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x36\ -\x31\x2c\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\ -\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\ -\x35\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\ -\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\ -\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\ -\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\ -\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\ -\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\ -\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x31\x33\ -\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\ -\x38\x2c\x32\x32\x2e\x35\x38\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\ -\x2c\x33\x37\x2e\x32\x35\x61\x31\x31\x2e\x32\x38\x2c\x31\x31\x2e\ -\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\ -\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\ -\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x32\x61\x2e\x33\ -\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\ -\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\ -\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\x2c\x33\x31\x2e\x31\x35\ -\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2e\x37\x33\x2c\x31\x31\x2e\x36\ -\x38\x2c\x34\x39\x2e\x32\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\ -\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x37\x2d\x31\x2e\x32\x35\x2c\x30\ -\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\ -\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\x35\x5a\x22\x20\x74\x72\ -\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ -\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\ -\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x63\x30\x2d\x34\x2e\ -\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\x2c\x32\x2e\x31\x37\x2d\ -\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\ -\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\ -\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\ -\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\ -\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\ -\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\ -\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\ -\x37\x32\x2c\x33\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\ -\x39\x2e\x31\x32\x2c\x32\x31\x2e\x34\x37\x63\x2e\x39\x32\x2c\x30\ -\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\ -\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\ -\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\x31\x2e\x35\x31\x2d\x2e\ -\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\ -\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\ -\x2e\x33\x37\x2e\x33\x34\x61\x34\x2e\x36\x38\x2c\x34\x2e\x36\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\ -\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x2e\x35\x38\x2c\x31\x2e\x37\x38\x41\x35\x2e\x37\x38\x2c\x35\x2e\ -\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x38\x2e\x33\x33\x2c\x32\ -\x31\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\x35\x2e\x34\x33\ -\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ -\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ -\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\x32\x34\ -\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x36\x2e\x32\x35\x22\x20\ -\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\ -\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\ -\x76\x67\x3e\ -\x00\x00\x0a\x14\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x31\x37\x36\x2e\x30\x32\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\ -\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\ -\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\ -\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\ -\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\ -\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\ -\x29\x22\x3e\x74\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x78\x3d\x22\x33\x33\x2e\x33\ -\x35\x22\x20\x79\x3d\x22\x30\x22\x3e\x70\x3c\x2f\x74\x73\x70\x61\ -\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x36\x31\x2e\x33\ -\x37\x22\x20\x79\x3d\x22\x30\x22\x3e\x75\x3c\x2f\x74\x73\x70\x61\ -\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\ -\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x38\x34\x63\x32\x2e\x35\ -\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\ -\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\x2c\x36\ -\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\ -\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\ -\x2e\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\ -\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\ -\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\ -\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\ -\x30\x2d\x32\x36\x2e\x39\x41\x37\x2e\x30\x36\x2c\x37\x2e\x30\x36\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\x2c\x31\x38\x2e\x38\x34\x5a\ -\x4d\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x61\x2e\x38\x38\ -\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\ -\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\ -\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\ -\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\ -\x2e\x35\x37\x61\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x37\x2d\x35\x2e\x31\x32\x2e\x39\ -\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\ -\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\ -\x2e\x36\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\x2c\x30\x2c\x30\x2d\ -\x31\x2e\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\x2e\x35\x32\x2c\x33\ -\x32\x2e\x33\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\x31\x2e\x31\x31\ -\x2c\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x5a\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\ -\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x38\x34\x61\x35\x2e\x31\x39\ -\x2c\x35\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\ -\x32\x37\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\ -\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x39\ -\x2e\x31\x38\x2c\x31\x2c\x34\x31\x2e\x39\x2c\x33\x2e\x39\x32\x2c\ -\x34\x39\x2e\x34\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\ -\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\x35\ -\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\x35\x33\ -\x2e\x31\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\ -\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\ -\x32\x2c\x34\x34\x2e\x32\x33\x2d\x2e\x37\x34\x2c\x33\x31\x2c\x31\ -\x2e\x38\x33\x2c\x32\x33\x2e\x34\x34\x63\x2e\x35\x39\x2d\x31\x2e\ -\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x38\x2c\x33\x2e\x30\x35\ -\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x36\ -\x2e\x34\x37\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\ -\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\ -\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\ -\x71\x2e\x39\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\ -\x30\x2c\x2e\x33\x35\x2e\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\ -\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\ -\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x39\ -\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\x36\x2c\x31\x2e\x33\x37\ -\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\x35\x2e\x30\x39\x2e\x33\ -\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\ -\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\ -\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\ -\x34\x2c\x34\x35\x2e\x33\x39\x2c\x33\x2e\x35\x32\x2c\x34\x30\x2e\ -\x33\x38\x2c\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\x37\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ -\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\x38\x63\x2e\x32\ -\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\ -\x38\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\ -\x61\x34\x35\x2e\x37\x32\x2c\x34\x35\x2e\x37\x32\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x33\x2c\x33\x39\x2e\ -\x36\x35\x2c\x33\x39\x2e\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x31\ -\x2e\x37\x32\x2c\x38\x2e\x33\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\ -\x35\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\ -\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\ -\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\ -\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\ -\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\ -\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\ -\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x31\x33\ -\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\ -\x38\x2c\x32\x32\x2e\x35\x38\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\ -\x2c\x33\x37\x2e\x32\x35\x61\x31\x31\x2e\x32\x38\x2c\x31\x31\x2e\ -\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\ -\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\ -\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x32\x61\x2e\x33\ -\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\ -\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\ -\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\x2c\x33\x31\x2e\x31\x35\ -\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2e\x37\x33\x2c\x31\x31\x2e\x36\ -\x38\x2c\x34\x39\x2e\x32\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\ -\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x37\x2d\x31\x2e\x32\x35\x2c\x30\ -\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\ -\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\x35\x5a\x22\x20\x74\x72\ -\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ -\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\ -\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x63\x30\x2d\x34\x2e\ -\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\x2c\x32\x2e\x31\x37\x2d\ -\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\ -\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\ -\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\ -\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\ -\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\ -\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\ -\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\ -\x37\x32\x2c\x33\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\ -\x39\x2e\x31\x32\x2c\x32\x31\x2e\x34\x37\x63\x2e\x39\x32\x2c\x30\ -\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\ -\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\ -\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\x31\x2e\x35\x31\x2d\x2e\ -\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\ -\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\ -\x2e\x33\x37\x2e\x33\x34\x61\x34\x2e\x36\x38\x2c\x34\x2e\x36\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\ -\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x2e\x35\x38\x2c\x31\x2e\x37\x38\x41\x35\x2e\x37\x38\x2c\x35\x2e\ -\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x38\x2e\x33\x33\x2c\x32\ -\x31\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\x35\x2e\x34\x33\ -\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ -\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ -\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\x34\ -\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x36\x2e\x32\x35\x22\x20\ -\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\ -\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\ -\x76\x67\x3e\ -\x00\x00\x0a\x25\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x31\x37\x36\x2e\x30\x32\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x33\x65\ -\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\ -\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\ -\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\ -\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\ -\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\ -\x29\x22\x3e\x68\x69\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x78\x3d\x22\x33\x39\x2e\ -\x37\x33\x22\x20\x79\x3d\x22\x30\x22\x3e\x70\x3c\x2f\x74\x73\x70\ -\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x36\x36\x2e\ -\x34\x33\x22\x20\x79\x3d\x22\x30\x22\x3e\x73\x3c\x2f\x74\x73\x70\ -\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ -\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x34\x63\x32\x2e\ -\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\ -\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\ -\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\ -\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\ -\x31\x2e\x38\x32\x2c\x31\x2e\x32\x32\x2d\x32\x2e\x37\x34\x2e\x32\ -\x33\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\ -\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\ -\x2c\x30\x2d\x32\x36\x2e\x39\x2e\x35\x38\x2d\x31\x2e\x34\x32\x2c\ -\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\x39\ -\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x37\x32\x61\x2e\x38\ -\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\ -\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\ -\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\ -\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\ -\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\ -\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\ -\x2e\x39\x2e\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\ -\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\ -\x2e\x36\x31\x2c\x31\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\ -\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x34\x2c\x31\x39\x2e\x34\x31\ -\x2c\x34\x30\x2e\x34\x31\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\ -\x37\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\ -\x34\x61\x35\x2e\x31\x33\x2c\x35\x2e\x31\x33\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x32\x2c\x32\x2e\x32\x37\x63\x2d\x2e\x37\x32\x2c\x30\x2d\ -\x31\x2e\x33\x39\x2c\x30\x2d\x32\x2e\x30\x36\x2c\x30\x73\x2d\x31\ -\x2c\x2e\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\ -\x2e\x34\x38\x2c\x31\x2c\x34\x31\x2e\x31\x39\x2c\x33\x2e\x39\x32\ -\x2c\x34\x38\x2e\x37\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\ -\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\ -\x35\x2e\x30\x37\x2c\x35\x2e\x30\x37\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x35\x2e\x39\x32\x2c\x35\x32\x2e\x34\x63\x2d\x31\x2e\x32\x34\x2e\ -\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x38\x2d\x32\x2e\x39\x33\x2d\ -\x31\x2e\x38\x31\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x33\x2d\ -\x2e\x37\x34\x2c\x33\x30\x2e\x32\x38\x2c\x31\x2e\x38\x33\x2c\x32\ -\x32\x2e\x37\x34\x63\x2e\x35\x39\x2d\x31\x2e\x36\x34\x2c\x31\x2e\ -\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\ -\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ -\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ -\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\ -\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x63\x30\ -\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\ -\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\ -\x2c\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\ -\x2c\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x33\x61\x32\ -\x37\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\ -\x39\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\x35\x2c\x31\x2e\x33\ -\x37\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\ -\x33\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\ -\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x33\ -\x2e\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\ -\x43\x34\x2c\x34\x34\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x39\ -\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\ -\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x63\x2e\ -\x32\x38\x2e\x30\x35\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\ -\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\ -\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\ -\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\ -\x39\x2e\x36\x31\x2c\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\x30\ -\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\ -\x33\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\ -\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\x2e\x34\x39\x2e\x34\x39\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\ -\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x31\ -\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\ -\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\ -\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x34\x31\x2c\x37\x2e\x34\x31\ -\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\ -\x38\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\ -\x34\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\ -\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x38\x2c\x32\x2e\ -\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x36\x2e\x33\x36\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\x2e\ -\x33\x39\x2d\x2e\x30\x38\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\ -\x31\x2c\x31\x43\x39\x2c\x33\x30\x2e\x34\x35\x2c\x38\x2e\x39\x33\ -\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x35\x63\x2e\ -\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\x33\ -\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\ -\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\x31\x34\x2c\x33\x36\x2e\ -\x31\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\ -\x2e\x35\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ -\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ -\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ -\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\ -\x2e\x36\x36\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\ -\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x34\x39\x61\x2e\x34\ -\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\ -\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\ -\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\x33\x2d\x2e\x32\x38\x2c\x31\ -\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\ -\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x36\x2e\x31\x34\ -\x2e\x33\x36\x2c\x30\x2c\x2e\x34\x2d\x2e\x33\x35\x2e\x33\x39\x2d\ -\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\ -\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\x34\x2c\x33\x35\x2e\x37\x34\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\ -\x36\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\ -\x37\x37\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\ -\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\ -\x2e\x32\x35\x2d\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\ -\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\ -\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\ -\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2c\ -\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x33\x2c\ -\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x31\x2e\x35\x38\x2c\x31\x2e\x37\x37\x2c\x35\x2e\x37\x34\x2c\x35\ -\x2e\x37\x34\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\ -\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\ -\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\ -\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x34\x22\ -\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\ -\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\ -\x73\x76\x67\x3e\ -\x00\x00\x0a\x12\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x31\x37\x36\x2e\x30\x32\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\ -\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\ -\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\ -\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\ -\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\ -\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\ -\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x32\x22\x3e\x6e\x79\x3c\x2f\x74\x73\x70\x61\ -\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x36\x34\x2e\x34\ -\x22\x20\x79\x3d\x22\x30\x22\x3e\x6c\x3c\x2f\x74\x73\x70\x61\x6e\ -\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\ -\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x32\x63\x32\x2e\x35\x36\ -\x2c\x31\x2e\x33\x34\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\ -\x34\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\ -\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\ -\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\ -\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\ -\x39\x2c\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\ -\x2e\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x31\x2d\x32\x2e\ -\x38\x38\x2d\x31\x39\x2e\x33\x2c\x30\x2d\x32\x36\x2e\x39\x31\x2e\ -\x35\x38\x2d\x31\x2e\x34\x31\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\ -\x2e\x37\x35\x2d\x33\x2e\x37\x38\x5a\x4d\x32\x33\x2e\x35\x33\x2c\ -\x34\x39\x2e\x36\x39\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\ -\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\ -\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\ -\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\x38\x38\x2e\x38\x38\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\ -\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\ -\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\ -\x33\x31\x2e\x36\x32\x2c\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x33\ -\x39\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\x39\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ -\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x32\x61\x35\x2e\x31\ -\x36\x2c\x35\x2e\x31\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\ -\x2e\x32\x36\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\ -\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\ -\x38\x2e\x34\x35\x2c\x31\x2c\x34\x31\x2e\x31\x37\x2c\x33\x2e\x39\ -\x32\x2c\x34\x38\x2e\x36\x38\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\ -\x33\x2e\x37\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\ -\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x37\x35\x2c\ -\x32\x2e\x30\x37\x63\x2d\x31\x2e\x32\x34\x2e\x37\x35\x2d\x32\x2e\ -\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\ -\x2e\x38\x32\x2c\x34\x33\x2e\x35\x2d\x2e\x37\x34\x2c\x33\x30\x2e\ -\x32\x35\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\x37\x32\x63\x2e\x35\ -\x39\x2d\x31\x2e\x36\x35\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\ -\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\ -\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ -\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\ -\x32\x2c\x33\x35\x2e\x37\x35\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\ -\x39\x2e\x32\x34\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x32\x61\ -\x2e\x34\x34\x2e\x34\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\ -\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\x2c\x31\x2e\x32\x2c\x30\x2c\ -\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2c\ -\x30\x2c\x2e\x32\x35\x2e\x32\x39\x61\x32\x37\x2e\x34\x35\x2c\x32\ -\x37\x2e\x34\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\ -\x35\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\ -\x31\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\ -\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x34\x2d\x2e\x32\x35\x2e\ -\x33\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\ -\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\ -\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x32\x39\x43\x34\x2c\x34\x34\x2e\ -\x36\x36\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\ -\x35\x32\x2c\x33\x35\x2e\x37\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\ -\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ -\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\ -\x33\x38\x2c\x32\x31\x2e\x38\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\ -\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x39\x73\x2d\x2e\x31\ -\x33\x2e\x36\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\ -\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\ -\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x38\x37\x2c\x33\x39\ -\x2e\x38\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\ -\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x32\x2e\x30\x35\x2e\x34\x2d\ -\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\x2c\x30\x2d\x31\x2e\x35\x33\ -\x2c\x30\x61\x2e\x34\x37\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x36\x32\x2c\x32\x33\ -\x2e\x36\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\ -\x2e\x32\x39\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x39\x2d\x31\ -\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\ -\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\ -\x33\x37\x43\x31\x37\x2e\x38\x2c\x32\x31\x2e\x38\x37\x2c\x31\x38\ -\x2c\x32\x31\x2e\x38\x35\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\ -\x38\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\ -\x32\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\ -\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\ -\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x38\x2e\x33\x38\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\x63\x31\x2e\ -\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\ -\x31\x2c\x31\x2e\x30\x35\x43\x39\x2c\x33\x30\x2e\x34\x33\x2c\x38\ -\x2e\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\ -\x34\x38\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\x33\x36\x2d\ -\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\ -\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\x31\x39\ -\x2c\x33\x36\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\ -\x37\x2c\x33\x36\x2e\x35\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\ -\x35\x2c\x33\x35\x2e\x36\x34\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\ -\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x35\ -\x61\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\ -\x37\x2d\x2e\x32\x39\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\ -\x2c\x31\x2e\x31\x38\x2e\x30\x36\x73\x2d\x2e\x31\x37\x2e\x36\x34\ -\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\ -\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\ -\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\x2d\ -\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\ -\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\ -\x37\x2c\x33\x35\x2e\x37\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\ -\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\x22\x20\x74\x72\x61\x6e\ -\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ -\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x39\ -\x2e\x31\x32\x2c\x32\x30\x2e\x37\x35\x63\x2e\x39\x32\x2c\x30\x2c\ -\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\ -\x36\x2d\x32\x2e\x38\x37\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x36\x2d\ -\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\ -\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\ -\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\ -\x37\x2e\x33\x33\x61\x35\x2e\x33\x32\x2c\x35\x2e\x33\x32\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\x2e\x31\ -\x32\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\ -\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x35\x2e\x37\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\ -\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\x34\x2e\x34\ -\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ -\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\ -\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x32\x22\x20\x72\x78\ -\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\ -\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\ -\x3e\ -\x00\x00\x0a\x62\ -\x3c\ -\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ -\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\ -\x30\x20\x30\x20\x31\x39\x36\x2e\x33\x37\x20\x35\x38\x2e\x34\x31\ -\x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ -\x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ -\x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\ -\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x35\x65\x6d\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\ -\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ -\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x32\x22\x3e\x70\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x32\x38\x2e\x30\x32\x22\ -\x20\x79\x3d\x22\x30\x22\x3e\x65\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x78\x3d\x22\x35\x34\x2e\x38\x36\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x74\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\ -\x73\x70\x61\x6e\x20\x78\x3d\x22\x38\x34\x2e\x39\x32\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x67\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\ -\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\ -\x37\x38\x2c\x31\x38\x2e\x31\x31\x63\x32\x2e\x35\x36\x2c\x31\x2e\ -\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\ -\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\ -\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\ -\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\ -\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\x2c\x39\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\ -\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\ -\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\x2e\x39\x41\x37\x2e\x30\ -\x36\x2c\x37\x2e\x30\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\x2c\ -\x31\x38\x2e\x31\x31\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\ -\x36\x39\x61\x2e\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x2e\x38\x36\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x31\x63\x33\x2e\x30\x39\x2d\x36\ -\x2e\x35\x35\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x36\x2c\x31\ -\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x31\x2c\ -\x32\x30\x2e\x32\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\ -\x37\x2c\x32\x31\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2c\x31\x2c\x31\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\ -\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\ -\x2e\x35\x32\x2c\x33\x31\x2e\x36\x31\x2c\x31\x39\x2e\x34\x31\x2c\ -\x34\x30\x2e\x33\x39\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\ -\x39\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ -\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\ -\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x31\ -\x61\x35\x2e\x32\x34\x2c\x35\x2e\x32\x34\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x32\x2c\x32\x2e\x32\x37\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\ -\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\ -\x43\x31\x2c\x32\x38\x2e\x34\x35\x2c\x31\x2c\x34\x31\x2e\x31\x37\ -\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x36\x37\x63\x2e\x31\x35\x2e\ -\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\ -\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\ -\x48\x37\x2e\x36\x37\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x31\x2e\x37\x35\x2c\x32\x2e\x30\x37\x63\x2d\x31\x2e\x32\x34\x2e\ -\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\ -\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x2d\x2e\x37\ -\x34\x2c\x33\x30\x2e\x32\x35\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\ -\x37\x32\x63\x2e\x35\x39\x2d\x31\x2e\x36\x35\x2c\x31\x2e\x34\x2d\ -\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x31\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x34\x63\x30\x2d\ -\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\x2d\ -\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\x34\x33\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x71\x2e\x39\x2c\x30\x2c\ -\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2e\ -\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\x35\x2c\x32\x37\ -\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\ -\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\x31\ -\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\x2e\ -\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x33\x2d\x2e\x32\x35\x2e\x33\ -\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\ -\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\x34\x34\x2e\x36\x36\ -\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\x35\x32\ -\x2c\x33\x35\x2e\x37\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ -\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ -\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\ -\x2c\x32\x31\x2e\x38\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\x31\ -\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x38\x73\x2d\x2e\x31\x33\x2e\ -\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x37\x32\x2c\ -\x34\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\ -\x2c\x31\x37\x2e\x33\x2c\x33\x39\x2e\x36\x35\x2c\x33\x39\x2e\x36\ -\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\ -\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\x35\x2e\x34\x31\x2d\x2e\x33\ -\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\x33\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\x34\x38\x2e\x34\x38\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\ -\x37\x2c\x32\x33\x2e\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\ -\x31\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\ -\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\ -\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\ -\x33\x37\x41\x37\x2e\x31\x33\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x35\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x61\x31\x31\ -\x2e\x32\x38\x2c\x31\x31\x2e\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\ -\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\ -\x32\x2e\x31\x31\x61\x2e\x33\x37\x2e\x33\x37\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\x63\x31\x2e\x33\x39\x2d\x2e\ -\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\ -\x39\x2c\x33\x30\x2e\x34\x32\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\ -\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x34\x38\x63\x2e\x31\x32\x2e\ -\x33\x2e\x30\x35\x2e\x33\x36\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\ -\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\ -\x2d\x31\x41\x33\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x5a\ -\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ -\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ -\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\ -\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x63\ -\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\x2c\x32\ -\x2e\x31\x37\x2d\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\ -\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\ -\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\ -\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\ -\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\ -\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\ -\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\ -\x41\x33\x35\x2e\x36\x38\x2c\x33\x35\x2e\x36\x38\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x34\x63\x2e\ -\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\ -\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\ -\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\x31\x2e\ -\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\ -\x2e\x34\x38\x2c\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\x2e\x30\ -\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x34\x61\x35\x2c\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\x2e\x31\ -\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\ -\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x35\x2e\x37\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\ -\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\x35\x2e\x34\x33\x2e\x34\ -\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ -\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\ -\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x32\x22\x20\x72\x78\ -\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\ -\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\ -\x3e\ \x00\x00\x0a\x2b\ \x3c\ \x73\x76\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\ @@ -24283,101 +23120,6 @@ \x50\x1f\x4d\x40\x33\x38\xa2\xa1\x80\x32\xd7\xc5\x4d\x23\x66\x05\ \xf5\xcd\x4d\x6a\xb6\xfc\x86\x4e\x98\x18\x24\xd6\xd1\x27\x62\x75\ \x35\x9f\xa0\x9c\xc3\xbf\x56\xdd\xfe\x07\xc6\x57\x6f\x47\ -\x00\x00\x05\xcf\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x69\x64\x3d\x22\x4c\ -\x61\x79\x65\x72\x5f\x31\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x20\x78\x6d\x6c\x6e\ -\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\ -\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x76\ -\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x36\x30\x30\x20\ -\x36\x30\x30\x22\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x3e\x0a\x20\ -\x20\x20\x20\x3c\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\ -\x20\x2e\x63\x6c\x73\x2d\x31\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\ -\x20\x20\x66\x69\x6c\x6c\x3a\x20\x23\x65\x30\x65\x30\x64\x66\x3b\ -\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x3c\x2f\x73\ -\x74\x79\x6c\x65\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\x0a\ -\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\x32\x39\x2e\x30\x34\ -\x2c\x31\x39\x32\x2e\x38\x33\x63\x2d\x32\x36\x2e\x30\x35\x2d\x32\ -\x2e\x36\x33\x2d\x35\x30\x2e\x30\x35\x2c\x31\x2e\x30\x31\x2d\x37\ -\x32\x2e\x38\x33\x2c\x31\x31\x2e\x36\x38\x2d\x31\x39\x2e\x34\x35\ -\x2c\x39\x2e\x31\x31\x2d\x33\x34\x2e\x38\x32\x2c\x32\x32\x2e\x36\ -\x38\x2d\x34\x35\x2e\x37\x37\x2c\x34\x31\x2e\x33\x32\x2d\x33\x2e\ -\x35\x32\x2c\x35\x2e\x39\x39\x2d\x33\x2e\x35\x36\x2c\x31\x30\x2e\ -\x30\x39\x2c\x31\x2e\x39\x35\x2c\x31\x35\x2e\x32\x31\x2c\x31\x31\ -\x2e\x37\x36\x2c\x31\x30\x2e\x39\x33\x2c\x31\x31\x2e\x33\x33\x2c\ -\x31\x30\x2e\x39\x38\x2c\x32\x35\x2e\x37\x33\x2c\x35\x2e\x33\x32\ -\x2c\x34\x34\x2e\x31\x33\x2d\x31\x37\x2e\x33\x34\x2c\x38\x32\x2e\ -\x34\x36\x2d\x35\x2e\x30\x35\x2c\x31\x31\x38\x2e\x37\x32\x2c\x32\ -\x32\x2e\x31\x33\x2c\x31\x33\x2e\x31\x34\x2c\x39\x2e\x38\x35\x2c\ -\x31\x32\x2e\x33\x34\x2c\x32\x31\x2e\x31\x33\x2c\x31\x30\x2e\x34\ -\x2c\x33\x34\x2e\x34\x32\x2d\x36\x2e\x33\x31\x2c\x34\x33\x2e\x31\ -\x38\x2d\x32\x36\x2e\x30\x39\x2c\x37\x38\x2e\x37\x37\x2d\x35\x39\ -\x2e\x33\x34\x2c\x31\x30\x36\x2e\x39\x32\x2d\x2e\x36\x37\x2e\x35\ -\x37\x2d\x31\x2e\x35\x34\x2e\x39\x33\x2d\x32\x2e\x33\x36\x2c\x31\ -\x2e\x33\x2d\x2e\x32\x31\x2e\x31\x2d\x2e\x35\x38\x2d\x2e\x31\x36\ -\x2d\x31\x2e\x33\x35\x2d\x2e\x34\x2c\x32\x2e\x36\x32\x2d\x32\x34\ -\x2e\x39\x38\x2e\x31\x34\x2d\x34\x39\x2e\x34\x36\x2d\x31\x30\x2e\ -\x33\x34\x2d\x37\x32\x2e\x36\x37\x2d\x39\x2e\x32\x34\x2d\x32\x30\ -\x2e\x34\x36\x2d\x32\x33\x2e\x33\x34\x2d\x33\x36\x2e\x36\x37\x2d\ -\x34\x33\x2d\x34\x37\x2e\x39\x2d\x34\x2e\x34\x32\x2d\x32\x2e\x35\ -\x33\x2d\x36\x2e\x39\x39\x2d\x31\x2e\x39\x35\x2d\x31\x31\x2e\x32\ -\x32\x2c\x31\x2e\x34\x37\x2d\x31\x31\x2e\x30\x37\x2c\x38\x2e\x39\ -\x36\x2d\x31\x32\x2e\x32\x36\x2c\x31\x36\x2e\x36\x38\x2d\x36\x2e\ -\x35\x32\x2c\x33\x30\x2e\x39\x34\x2c\x31\x36\x2e\x32\x36\x2c\x34\ -\x30\x2e\x34\x32\x2c\x32\x2e\x36\x39\x2c\x37\x36\x2e\x36\x31\x2d\ -\x32\x31\x2e\x37\x33\x2c\x31\x31\x30\x2e\x30\x36\x2d\x39\x2e\x33\ -\x2c\x31\x32\x2e\x37\x34\x2d\x31\x39\x2e\x36\x34\x2c\x31\x37\x2e\ -\x39\x2d\x33\x36\x2e\x33\x35\x2c\x31\x34\x2e\x38\x39\x2d\x34\x30\ -\x2e\x39\x35\x2d\x37\x2e\x33\x35\x2d\x37\x35\x2e\x30\x36\x2d\x32\ -\x35\x2e\x37\x34\x2d\x31\x30\x32\x2e\x36\x34\x2d\x35\x36\x2e\x36\ -\x33\x2d\x2e\x35\x38\x2d\x2e\x36\x35\x2d\x2e\x38\x35\x2d\x31\x2e\ -\x35\x37\x2d\x31\x2e\x38\x32\x2d\x33\x2e\x34\x33\x2c\x31\x38\x2e\ -\x33\x32\x2c\x31\x2e\x38\x32\x2c\x33\x35\x2e\x37\x33\x2e\x33\x31\ -\x2c\x35\x32\x2e\x37\x32\x2d\x34\x2e\x34\x2c\x32\x38\x2e\x31\x33\ -\x2d\x37\x2e\x38\x2c\x35\x30\x2e\x36\x37\x2d\x32\x33\x2e\x31\x39\ -\x2c\x36\x36\x2d\x34\x38\x2e\x36\x35\x2c\x33\x2e\x38\x2d\x36\x2e\ -\x33\x31\x2c\x33\x2e\x32\x32\x2d\x31\x30\x2e\x33\x35\x2d\x31\x2e\ -\x38\x38\x2d\x31\x35\x2e\x33\x35\x2d\x31\x31\x2e\x35\x39\x2d\x31\ -\x31\x2e\x33\x37\x2d\x31\x31\x2e\x33\x32\x2d\x31\x31\x2e\x33\x39\ -\x2d\x32\x36\x2e\x36\x31\x2d\x35\x2e\x32\x38\x2d\x34\x31\x2e\x39\ -\x34\x2c\x31\x36\x2e\x37\x37\x2d\x37\x38\x2e\x37\x33\x2c\x35\x2e\ -\x30\x39\x2d\x31\x31\x34\x2e\x31\x37\x2d\x31\x39\x2e\x32\x35\x2d\ -\x31\x36\x2e\x32\x39\x2d\x31\x31\x2e\x31\x39\x2d\x31\x36\x2e\x34\ -\x32\x2d\x32\x34\x2e\x37\x33\x2d\x31\x33\x2e\x35\x33\x2d\x34\x31\ -\x2e\x33\x36\x2c\x37\x2e\x31\x38\x2d\x34\x31\x2e\x32\x39\x2c\x32\ -\x36\x2e\x34\x35\x2d\x37\x35\x2e\x34\x32\x2c\x35\x38\x2e\x32\x34\ -\x2d\x31\x30\x32\x2e\x35\x38\x2e\x38\x34\x2d\x2e\x37\x31\x2c\x31\ -\x2e\x38\x31\x2d\x31\x2e\x32\x37\x2c\x33\x2e\x36\x35\x2d\x32\x2e\ -\x35\x34\x2e\x39\x38\x2c\x31\x35\x2e\x37\x32\x2d\x2e\x38\x39\x2c\ -\x33\x30\x2e\x33\x31\x2c\x31\x2e\x39\x39\x2c\x34\x34\x2e\x37\x36\ -\x2c\x36\x2e\x34\x36\x2c\x33\x32\x2e\x33\x39\x2c\x32\x31\x2e\x37\ -\x37\x2c\x35\x38\x2e\x36\x34\x2c\x35\x30\x2e\x35\x31\x2c\x37\x36\ -\x2e\x32\x36\x2c\x35\x2e\x33\x32\x2c\x33\x2e\x32\x36\x2c\x38\x2e\ -\x37\x36\x2c\x33\x2e\x35\x38\x2c\x31\x33\x2e\x35\x2d\x31\x2e\x33\ -\x39\x2c\x31\x31\x2e\x38\x31\x2d\x31\x32\x2e\x33\x38\x2c\x31\x31\ -\x2e\x37\x31\x2d\x31\x31\x2e\x39\x36\x2c\x35\x2e\x37\x39\x2d\x32\ -\x38\x2e\x31\x39\x2d\x31\x34\x2e\x38\x37\x2d\x34\x30\x2e\x38\x2d\ -\x33\x2e\x38\x32\x2d\x37\x36\x2e\x38\x36\x2c\x32\x30\x2e\x35\x31\ -\x2d\x31\x31\x30\x2e\x36\x32\x2c\x39\x2e\x37\x35\x2d\x31\x33\x2e\ -\x35\x33\x2c\x32\x30\x2e\x33\x31\x2d\x31\x39\x2e\x37\x39\x2c\x33\ -\x38\x2e\x34\x37\x2d\x31\x36\x2e\x33\x31\x2c\x34\x30\x2e\x34\x39\ -\x2c\x37\x2e\x37\x34\x2c\x37\x34\x2e\x32\x36\x2c\x32\x36\x2c\x31\ -\x30\x31\x2e\x37\x35\x2c\x35\x36\x2e\x34\x2e\x35\x36\x2e\x36\x31\ -\x2e\x36\x37\x2c\x31\x2e\x36\x33\x2c\x31\x2e\x35\x33\x2c\x33\x2e\ -\x38\x36\x5a\x4d\x32\x39\x39\x2e\x37\x32\x2c\x33\x32\x31\x2e\x30\ -\x33\x63\x34\x2e\x35\x38\x2e\x31\x33\x2c\x32\x30\x2e\x38\x33\x2d\ -\x31\x35\x2e\x38\x39\x2c\x32\x31\x2e\x30\x39\x2d\x32\x30\x2e\x37\ -\x39\x2e\x32\x36\x2d\x34\x2e\x38\x39\x2d\x31\x35\x2e\x32\x37\x2d\ -\x32\x30\x2e\x38\x38\x2d\x32\x30\x2e\x35\x35\x2d\x32\x31\x2e\x31\ -\x36\x2d\x34\x2e\x34\x38\x2d\x2e\x32\x34\x2d\x32\x31\x2e\x30\x34\ -\x2c\x31\x35\x2e\x39\x31\x2d\x32\x31\x2e\x31\x38\x2c\x32\x30\x2e\ -\x36\x35\x2d\x2e\x31\x34\x2c\x34\x2e\x38\x33\x2c\x31\x35\x2e\x36\ -\x38\x2c\x32\x31\x2e\x31\x35\x2c\x32\x30\x2e\x36\x34\x2c\x32\x31\ -\x2e\x32\x39\x5a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\ \x00\x00\x06\x89\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -24485,192 +23227,6 @@ \x33\x30\x2e\x36\x36\x2d\x31\x35\x2e\x38\x36\x2c\x35\x31\x2e\x39\ \x39\x2d\x34\x33\x2e\x33\x36\x2c\x35\x31\x2e\x39\x39\x5a\x22\x2f\ \x3e\x0a\x3c\x2f\x73\x76\x67\x3e\ -\x00\x00\x0b\x76\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x69\x64\x3d\x22\x4c\ -\x61\x79\x65\x72\x5f\x31\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x20\x78\x6d\x6c\x6e\ -\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\ -\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x76\ -\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x36\x30\x30\x20\ -\x36\x30\x30\x22\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x3e\x0a\x20\ -\x20\x20\x20\x3c\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\ -\x20\x2e\x63\x6c\x73\x2d\x31\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\ -\x20\x20\x66\x69\x6c\x6c\x3a\x20\x23\x65\x30\x65\x30\x64\x66\x3b\ -\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x3c\x2f\x73\ -\x74\x79\x6c\x65\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\x0a\ -\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\x33\x30\x2e\x35\x35\ -\x2c\x33\x31\x34\x2e\x39\x32\x63\x2e\x33\x39\x2d\x39\x2e\x39\x34\ -\x2c\x34\x2e\x33\x33\x2d\x31\x34\x2e\x35\x36\x2c\x31\x32\x2e\x34\ -\x32\x2d\x31\x34\x2e\x30\x34\x2c\x38\x2e\x39\x39\x2e\x35\x38\x2c\ -\x31\x31\x2e\x30\x37\x2c\x36\x2e\x35\x2c\x31\x31\x2e\x30\x36\x2c\ -\x31\x34\x2e\x33\x38\x2d\x2e\x30\x39\x2c\x35\x35\x2e\x31\x38\x2d\ -\x2e\x30\x32\x2c\x31\x31\x30\x2e\x33\x36\x2d\x2e\x30\x39\x2c\x31\ -\x36\x35\x2e\x35\x33\x2d\x2e\x30\x31\x2c\x39\x2e\x32\x31\x2d\x34\ -\x2e\x31\x35\x2c\x31\x33\x2e\x38\x31\x2d\x31\x31\x2e\x38\x35\x2c\ -\x31\x33\x2e\x35\x35\x2d\x38\x2e\x33\x32\x2d\x2e\x32\x39\x2d\x31\ -\x32\x2e\x30\x37\x2d\x35\x2e\x34\x35\x2d\x31\x31\x2e\x33\x36\x2d\ -\x31\x33\x2e\x30\x34\x2e\x38\x38\x2d\x39\x2e\x33\x38\x2d\x32\x2e\ -\x38\x32\x2d\x31\x31\x2e\x33\x39\x2d\x31\x31\x2e\x37\x31\x2d\x31\ -\x31\x2e\x33\x32\x2d\x35\x33\x2e\x39\x31\x2e\x34\x2d\x31\x30\x37\ -\x2e\x38\x33\x2e\x33\x32\x2d\x31\x36\x31\x2e\x37\x35\x2e\x31\x31\ -\x2d\x33\x36\x2e\x34\x38\x2d\x2e\x31\x34\x2d\x36\x38\x2e\x31\x34\ -\x2d\x31\x33\x2e\x30\x34\x2d\x39\x35\x2e\x35\x2d\x33\x37\x2e\x30\ -\x35\x2d\x35\x2e\x38\x37\x2d\x35\x2e\x31\x35\x2d\x31\x32\x2e\x32\ -\x2d\x39\x2e\x38\x38\x2d\x31\x38\x2e\x37\x36\x2d\x31\x34\x2e\x31\ -\x33\x2d\x35\x37\x2e\x36\x39\x2d\x33\x37\x2e\x33\x2d\x38\x37\x2e\ -\x36\x32\x2d\x31\x30\x36\x2e\x35\x31\x2d\x37\x35\x2e\x31\x34\x2d\ -\x31\x37\x34\x2e\x32\x31\x2c\x31\x38\x2e\x32\x31\x2d\x39\x38\x2e\ -\x37\x38\x2c\x31\x31\x39\x2e\x32\x37\x2d\x31\x36\x30\x2e\x36\x34\ -\x2c\x32\x31\x35\x2e\x37\x38\x2d\x31\x33\x32\x2e\x30\x37\x2c\x36\ -\x38\x2e\x33\x39\x2c\x32\x30\x2e\x32\x34\x2c\x31\x31\x36\x2e\x39\ -\x2c\x38\x30\x2e\x31\x37\x2c\x31\x32\x30\x2e\x38\x38\x2c\x31\x35\ -\x31\x2e\x34\x34\x2c\x31\x2e\x31\x2c\x31\x39\x2e\x37\x37\x2d\x31\ -\x2e\x38\x34\x2c\x33\x39\x2e\x37\x36\x2d\x32\x2e\x39\x35\x2c\x36\ -\x30\x2e\x30\x39\x2c\x38\x2e\x30\x31\x2c\x30\x2c\x31\x37\x2e\x36\ -\x37\x2c\x30\x2c\x32\x38\x2e\x34\x39\x2c\x30\x2c\x2e\x32\x2d\x33\ -\x2e\x36\x39\x2e\x33\x37\x2d\x36\x2e\x34\x36\x2e\x34\x38\x2d\x39\ -\x2e\x32\x34\x5a\x4d\x32\x33\x36\x2e\x32\x38\x2c\x31\x32\x39\x2e\ -\x34\x36\x63\x2d\x38\x30\x2e\x38\x38\x2d\x2e\x33\x37\x2d\x31\x34\ -\x38\x2e\x30\x38\x2c\x36\x36\x2e\x38\x35\x2d\x31\x34\x37\x2e\x32\ -\x39\x2c\x31\x34\x37\x2e\x33\x32\x2e\x37\x39\x2c\x38\x30\x2e\x31\ -\x32\x2c\x36\x36\x2e\x33\x39\x2c\x31\x34\x35\x2e\x34\x2c\x31\x34\ -\x36\x2e\x31\x31\x2c\x31\x34\x35\x2e\x34\x31\x2c\x38\x31\x2e\x30\ -\x38\x2c\x30\x2c\x31\x34\x36\x2e\x36\x35\x2d\x36\x35\x2e\x35\x35\ -\x2c\x31\x34\x36\x2e\x36\x36\x2d\x31\x34\x36\x2e\x36\x33\x2c\x30\ -\x2d\x37\x39\x2e\x34\x35\x2d\x36\x36\x2d\x31\x34\x35\x2e\x37\x33\ -\x2d\x31\x34\x35\x2e\x34\x38\x2d\x31\x34\x36\x2e\x31\x5a\x22\x2f\ -\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x33\x32\x30\x2e\ -\x31\x37\x2c\x32\x30\x35\x2e\x34\x63\x2d\x31\x37\x2e\x31\x32\x2d\ -\x31\x2e\x37\x33\x2d\x33\x32\x2e\x38\x39\x2e\x36\x36\x2d\x34\x37\ -\x2e\x38\x36\x2c\x37\x2e\x36\x37\x2d\x31\x32\x2e\x37\x38\x2c\x35\ -\x2e\x39\x39\x2d\x32\x32\x2e\x38\x38\x2c\x31\x34\x2e\x39\x2d\x33\ -\x30\x2e\x30\x38\x2c\x32\x37\x2e\x31\x36\x2d\x32\x2e\x33\x31\x2c\ -\x33\x2e\x39\x34\x2d\x32\x2e\x33\x34\x2c\x36\x2e\x36\x33\x2c\x31\ -\x2e\x32\x38\x2c\x39\x2e\x39\x39\x2c\x37\x2e\x37\x33\x2c\x37\x2e\ -\x31\x38\x2c\x37\x2e\x34\x35\x2c\x37\x2e\x32\x32\x2c\x31\x36\x2e\ -\x39\x31\x2c\x33\x2e\x35\x2c\x32\x39\x2d\x31\x31\x2e\x33\x39\x2c\ -\x35\x34\x2e\x31\x39\x2d\x33\x2e\x33\x32\x2c\x37\x38\x2e\x30\x32\ -\x2c\x31\x34\x2e\x35\x34\x2c\x38\x2e\x36\x34\x2c\x36\x2e\x34\x37\ -\x2c\x38\x2e\x31\x31\x2c\x31\x33\x2e\x38\x39\x2c\x36\x2e\x38\x34\ -\x2c\x32\x32\x2e\x36\x32\x2d\x34\x2e\x31\x34\x2c\x32\x38\x2e\x33\ -\x38\x2d\x31\x37\x2e\x31\x34\x2c\x35\x31\x2e\x37\x36\x2d\x33\x39\ -\x2c\x37\x30\x2e\x32\x36\x2d\x2e\x34\x34\x2e\x33\x38\x2d\x31\x2e\ -\x30\x32\x2e\x36\x31\x2d\x31\x2e\x35\x35\x2e\x38\x35\x2d\x2e\x31\ -\x34\x2e\x30\x36\x2d\x2e\x33\x38\x2d\x2e\x31\x2d\x2e\x38\x39\x2d\ -\x2e\x32\x36\x2c\x31\x2e\x37\x32\x2d\x31\x36\x2e\x34\x32\x2e\x30\ -\x39\x2d\x33\x32\x2e\x35\x31\x2d\x36\x2e\x38\x2d\x34\x37\x2e\x37\ -\x36\x2d\x36\x2e\x30\x37\x2d\x31\x33\x2e\x34\x35\x2d\x31\x35\x2e\ -\x33\x33\x2d\x32\x34\x2e\x31\x2d\x32\x38\x2e\x32\x35\x2d\x33\x31\ -\x2e\x34\x37\x2d\x32\x2e\x39\x31\x2d\x31\x2e\x36\x36\x2d\x34\x2e\ -\x35\x39\x2d\x31\x2e\x32\x38\x2d\x37\x2e\x33\x38\x2e\x39\x37\x2d\ -\x37\x2e\x32\x38\x2c\x35\x2e\x38\x39\x2d\x38\x2e\x30\x36\x2c\x31\ -\x30\x2e\x39\x36\x2d\x34\x2e\x32\x39\x2c\x32\x30\x2e\x33\x33\x2c\ -\x31\x30\x2e\x36\x39\x2c\x32\x36\x2e\x35\x36\x2c\x31\x2e\x37\x37\ -\x2c\x35\x30\x2e\x33\x34\x2d\x31\x34\x2e\x32\x38\x2c\x37\x32\x2e\ -\x33\x32\x2d\x36\x2e\x31\x31\x2c\x38\x2e\x33\x37\x2d\x31\x32\x2e\ -\x39\x2c\x31\x31\x2e\x37\x36\x2d\x32\x33\x2e\x38\x39\x2c\x39\x2e\ -\x37\x39\x2d\x32\x36\x2e\x39\x31\x2d\x34\x2e\x38\x33\x2d\x34\x39\ -\x2e\x33\x32\x2d\x31\x36\x2e\x39\x32\x2d\x36\x37\x2e\x34\x35\x2d\ -\x33\x37\x2e\x32\x31\x2d\x2e\x33\x38\x2d\x2e\x34\x32\x2d\x2e\x35\ -\x36\x2d\x31\x2e\x30\x33\x2d\x31\x2e\x31\x39\x2d\x32\x2e\x32\x36\ -\x2c\x31\x32\x2e\x30\x34\x2c\x31\x2e\x31\x39\x2c\x32\x33\x2e\x34\ -\x38\x2e\x32\x2c\x33\x34\x2e\x36\x34\x2d\x32\x2e\x38\x39\x2c\x31\ -\x38\x2e\x34\x39\x2d\x35\x2e\x31\x33\x2c\x33\x33\x2e\x33\x2d\x31\ -\x35\x2e\x32\x34\x2c\x34\x33\x2e\x33\x37\x2d\x33\x31\x2e\x39\x37\ -\x2c\x32\x2e\x35\x2d\x34\x2e\x31\x35\x2c\x32\x2e\x31\x32\x2d\x36\ -\x2e\x38\x2d\x31\x2e\x32\x34\x2d\x31\x30\x2e\x30\x39\x2d\x37\x2e\ -\x36\x32\x2d\x37\x2e\x34\x37\x2d\x37\x2e\x34\x34\x2d\x37\x2e\x34\ -\x39\x2d\x31\x37\x2e\x34\x38\x2d\x33\x2e\x34\x37\x2d\x32\x37\x2e\ -\x35\x36\x2c\x31\x31\x2e\x30\x32\x2d\x35\x31\x2e\x37\x34\x2c\x33\ -\x2e\x33\x34\x2d\x37\x35\x2e\x30\x33\x2d\x31\x32\x2e\x36\x35\x2d\ -\x31\x30\x2e\x37\x31\x2d\x37\x2e\x33\x35\x2d\x31\x30\x2e\x37\x39\ -\x2d\x31\x36\x2e\x32\x35\x2d\x38\x2e\x38\x39\x2d\x32\x37\x2e\x31\ -\x38\x2c\x34\x2e\x37\x32\x2d\x32\x37\x2e\x31\x34\x2c\x31\x37\x2e\ -\x33\x38\x2d\x34\x39\x2e\x35\x36\x2c\x33\x38\x2e\x32\x38\x2d\x36\ -\x37\x2e\x34\x31\x2e\x35\x35\x2d\x2e\x34\x37\x2c\x31\x2e\x31\x39\ -\x2d\x2e\x38\x33\x2c\x32\x2e\x34\x2d\x31\x2e\x36\x37\x2e\x36\x34\ -\x2c\x31\x30\x2e\x33\x33\x2d\x2e\x35\x38\x2c\x31\x39\x2e\x39\x32\ -\x2c\x31\x2e\x33\x31\x2c\x32\x39\x2e\x34\x31\x2c\x34\x2e\x32\x34\ -\x2c\x32\x31\x2e\x32\x39\x2c\x31\x34\x2e\x33\x31\x2c\x33\x38\x2e\ -\x35\x34\x2c\x33\x33\x2e\x31\x39\x2c\x35\x30\x2e\x31\x32\x2c\x33\ -\x2e\x35\x2c\x32\x2e\x31\x34\x2c\x35\x2e\x37\x36\x2c\x32\x2e\x33\ -\x35\x2c\x38\x2e\x38\x37\x2d\x2e\x39\x31\x2c\x37\x2e\x37\x36\x2d\ -\x38\x2e\x31\x34\x2c\x37\x2e\x36\x39\x2d\x37\x2e\x38\x36\x2c\x33\ -\x2e\x38\x2d\x31\x38\x2e\x35\x32\x2d\x39\x2e\x37\x37\x2d\x32\x36\ -\x2e\x38\x31\x2d\x32\x2e\x35\x31\x2d\x35\x30\x2e\x35\x31\x2c\x31\ -\x33\x2e\x34\x38\x2d\x37\x32\x2e\x36\x39\x2c\x36\x2e\x34\x31\x2d\ -\x38\x2e\x38\x39\x2c\x31\x33\x2e\x33\x35\x2d\x31\x33\x2c\x32\x35\ -\x2e\x32\x38\x2d\x31\x30\x2e\x37\x32\x2c\x32\x36\x2e\x36\x31\x2c\ -\x35\x2e\x30\x39\x2c\x34\x38\x2e\x38\x2c\x31\x37\x2e\x30\x39\x2c\ -\x36\x36\x2e\x38\x37\x2c\x33\x37\x2e\x30\x36\x2e\x33\x37\x2e\x34\ -\x2e\x34\x34\x2c\x31\x2e\x30\x37\x2c\x31\x2e\x30\x31\x2c\x32\x2e\ -\x35\x34\x5a\x4d\x32\x33\x35\x2e\x31\x39\x2c\x32\x38\x39\x2e\x36\ -\x35\x63\x33\x2e\x30\x31\x2e\x30\x39\x2c\x31\x33\x2e\x36\x39\x2d\ -\x31\x30\x2e\x34\x34\x2c\x31\x33\x2e\x38\x36\x2d\x31\x33\x2e\x36\ -\x36\x2e\x31\x37\x2d\x33\x2e\x32\x31\x2d\x31\x30\x2e\x30\x33\x2d\ -\x31\x33\x2e\x37\x32\x2d\x31\x33\x2e\x35\x31\x2d\x31\x33\x2e\x39\ -\x2d\x32\x2e\x39\x34\x2d\x2e\x31\x36\x2d\x31\x33\x2e\x38\x33\x2c\ -\x31\x30\x2e\x34\x36\x2d\x31\x33\x2e\x39\x32\x2c\x31\x33\x2e\x35\ -\x37\x2d\x2e\x30\x39\x2c\x33\x2e\x31\x37\x2c\x31\x30\x2e\x33\x31\ -\x2c\x31\x33\x2e\x39\x2c\x31\x33\x2e\x35\x37\x2c\x31\x33\x2e\x39\ -\x39\x5a\x22\x2f\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\ -\x35\x33\x34\x2e\x39\x34\x2c\x33\x32\x37\x2e\x34\x34\x63\x2d\x33\ -\x2e\x30\x32\x2c\x31\x2e\x37\x38\x2d\x36\x2e\x30\x35\x2c\x33\x2e\ -\x35\x35\x2d\x39\x2e\x30\x36\x2c\x35\x2e\x33\x34\x2d\x31\x32\x2e\ -\x36\x36\x2c\x37\x2e\x35\x33\x2d\x32\x35\x2e\x33\x31\x2c\x31\x35\ -\x2e\x30\x36\x2d\x33\x37\x2e\x39\x36\x2c\x32\x32\x2e\x35\x39\x2d\ -\x2e\x31\x34\x2e\x30\x38\x2d\x2e\x32\x38\x2e\x31\x36\x2d\x2e\x35\ -\x36\x2e\x33\x31\x2c\x30\x2d\x31\x2e\x39\x33\x2d\x2e\x30\x34\x2d\ -\x31\x36\x2e\x31\x37\x2d\x2e\x30\x34\x2d\x31\x36\x2e\x31\x37\x68\ -\x2d\x31\x39\x2e\x32\x35\x76\x2d\x32\x33\x2e\x32\x39\x68\x31\x39\ -\x2e\x32\x35\x73\x2d\x2e\x30\x31\x2d\x31\x37\x2e\x30\x32\x2c\x30\ -\x2d\x31\x37\x2e\x31\x35\x63\x2e\x30\x36\x2c\x30\x2c\x38\x2e\x35\ -\x31\x2c\x34\x2e\x39\x34\x2c\x31\x32\x2e\x34\x2c\x37\x2e\x32\x36\ -\x2c\x31\x31\x2e\x37\x34\x2c\x36\x2e\x39\x38\x2c\x32\x33\x2e\x34\ -\x38\x2c\x31\x33\x2e\x39\x37\x2c\x33\x35\x2e\x32\x32\x2c\x32\x30\ -\x2e\x39\x35\x2c\x30\x2c\x2e\x30\x35\x2c\x30\x2c\x2e\x31\x2c\x30\ -\x2c\x2e\x31\x35\x5a\x22\x2f\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\ -\x3d\x22\x4d\x35\x33\x34\x2e\x39\x34\x2c\x34\x36\x32\x2e\x32\x31\ -\x63\x2d\x33\x2e\x30\x32\x2c\x31\x2e\x37\x38\x2d\x36\x2e\x30\x35\ -\x2c\x33\x2e\x35\x35\x2d\x39\x2e\x30\x36\x2c\x35\x2e\x33\x34\x2d\ -\x31\x32\x2e\x36\x36\x2c\x37\x2e\x35\x33\x2d\x32\x35\x2e\x33\x31\ -\x2c\x31\x35\x2e\x30\x36\x2d\x33\x37\x2e\x39\x36\x2c\x32\x32\x2e\ -\x35\x39\x2d\x2e\x31\x34\x2e\x30\x38\x2d\x2e\x32\x38\x2e\x31\x36\ -\x2d\x2e\x35\x36\x2e\x33\x31\x2c\x30\x2d\x31\x2e\x39\x33\x2d\x2e\ -\x30\x34\x2d\x31\x36\x2e\x31\x37\x2d\x2e\x30\x34\x2d\x31\x36\x2e\ -\x31\x37\x68\x2d\x31\x39\x2e\x32\x35\x76\x2d\x32\x33\x2e\x32\x39\ -\x68\x31\x39\x2e\x32\x35\x73\x2d\x2e\x30\x31\x2d\x31\x37\x2e\x30\ -\x32\x2c\x30\x2d\x31\x37\x2e\x31\x35\x63\x2e\x30\x36\x2c\x30\x2c\ -\x38\x2e\x35\x31\x2c\x34\x2e\x39\x34\x2c\x31\x32\x2e\x34\x2c\x37\ -\x2e\x32\x36\x2c\x31\x31\x2e\x37\x34\x2c\x36\x2e\x39\x38\x2c\x32\ -\x33\x2e\x34\x38\x2c\x31\x33\x2e\x39\x37\x2c\x33\x35\x2e\x32\x32\ -\x2c\x32\x30\x2e\x39\x35\x2c\x30\x2c\x2e\x30\x35\x2c\x30\x2c\x2e\ -\x31\x2c\x30\x2c\x2e\x31\x35\x5a\x22\x2f\x3e\x0a\x20\x20\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\ -\x22\x20\x64\x3d\x22\x4d\x35\x33\x34\x2e\x39\x34\x2c\x33\x39\x34\ -\x2e\x38\x32\x63\x2d\x33\x2e\x30\x32\x2c\x31\x2e\x37\x38\x2d\x36\ -\x2e\x30\x35\x2c\x33\x2e\x35\x35\x2d\x39\x2e\x30\x36\x2c\x35\x2e\ -\x33\x34\x2d\x31\x32\x2e\x36\x36\x2c\x37\x2e\x35\x33\x2d\x32\x35\ -\x2e\x33\x31\x2c\x31\x35\x2e\x30\x36\x2d\x33\x37\x2e\x39\x36\x2c\ -\x32\x32\x2e\x35\x39\x2d\x2e\x31\x34\x2e\x30\x38\x2d\x2e\x32\x38\ -\x2e\x31\x36\x2d\x2e\x35\x36\x2e\x33\x31\x2c\x30\x2d\x31\x2e\x39\ -\x33\x2d\x2e\x30\x34\x2d\x31\x36\x2e\x31\x37\x2d\x2e\x30\x34\x2d\ -\x31\x36\x2e\x31\x37\x68\x2d\x31\x39\x2e\x32\x35\x76\x2d\x32\x33\ -\x2e\x32\x39\x68\x31\x39\x2e\x32\x35\x73\x2d\x2e\x30\x31\x2d\x31\ -\x37\x2e\x30\x32\x2c\x30\x2d\x31\x37\x2e\x31\x35\x63\x2e\x30\x36\ -\x2c\x30\x2c\x38\x2e\x35\x31\x2c\x34\x2e\x39\x34\x2c\x31\x32\x2e\ -\x34\x2c\x37\x2e\x32\x36\x2c\x31\x31\x2e\x37\x34\x2c\x36\x2e\x39\ -\x38\x2c\x32\x33\x2e\x34\x38\x2c\x31\x33\x2e\x39\x37\x2c\x33\x35\ -\x2e\x32\x32\x2c\x32\x30\x2e\x39\x35\x2c\x30\x2c\x2e\x30\x35\x2c\ -\x30\x2c\x2e\x31\x2c\x30\x2c\x2e\x31\x35\x5a\x22\x2f\x3e\x0a\x3c\ -\x2f\x73\x76\x67\x3e\ \x00\x00\x07\xc6\ \x3c\ \x73\x76\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\ @@ -28680,45 +27236,6 @@ \x00\x6d\ \x00\x6f\x00\x76\x00\x65\x00\x5f\x00\x6e\x00\x6f\x00\x7a\x00\x7a\x00\x6c\x00\x65\x00\x5f\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\ \x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x06\ -\x07\xb6\x68\x82\ -\x00\x74\ -\x00\x6f\x00\x70\x00\x62\x00\x61\x00\x72\ -\x00\x17\ -\x02\xfd\xf2\xe7\ -\x00\x61\ -\x00\x62\x00\x73\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\x00\x6f\x00\x70\x00\x62\ -\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x17\ -\x03\x79\x02\xe7\ -\x00\x70\ -\x00\x6c\x00\x61\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\x00\x6f\x00\x70\x00\x62\ -\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x1a\ -\x04\x1b\x49\x27\ -\x00\x63\ -\x00\x75\x00\x73\x00\x74\x00\x6f\x00\x6d\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\ -\x00\x6f\x00\x70\x00\x62\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x17\ -\x04\x9a\xe2\xe7\ -\x00\x74\ -\x00\x70\x00\x75\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\x00\x6f\x00\x70\x00\x62\ -\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x18\ -\x07\x42\xf2\x87\ -\x00\x68\ -\x00\x69\x00\x70\x00\x73\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\x00\x6f\x00\x70\ -\x00\x62\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x19\ -\x07\xdb\x1d\x87\ -\x00\x6e\ -\x00\x79\x00\x6c\x00\x6f\x00\x6e\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\x00\x6f\ -\x00\x70\x00\x62\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ -\x00\x18\ -\x0a\x25\x52\x87\ -\x00\x70\ -\x00\x65\x00\x74\x00\x67\x00\x5f\x00\x66\x00\x69\x00\x6c\x00\x61\x00\x6d\x00\x65\x00\x6e\x00\x74\x00\x5f\x00\x74\x00\x6f\x00\x70\ -\x00\x62\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\ \x00\x11\ \x02\x02\x4c\x27\ \x00\x6c\ @@ -29296,16 +27813,16 @@ qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x10\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb4\ -\x00\x00\x00\x0a\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb1\ -\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa4\ -\x00\x00\x00\x46\x00\x02\x00\x00\x00\x01\x00\x00\x00\x92\ -\x00\x00\x00\x5a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8e\ -\x00\x00\x00\x6c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x88\ -\x00\x00\x00\x7e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x7a\ -\x00\x00\x00\x90\x00\x02\x00\x00\x00\x01\x00\x00\x00\x70\ -\x00\x00\x00\xa2\x00\x02\x00\x00\x00\x01\x00\x00\x00\x61\ -\x00\x00\x00\xc0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x5c\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\xaa\ +\x00\x00\x00\x0a\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa7\ +\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x9c\ +\x00\x00\x00\x46\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8a\ +\x00\x00\x00\x5a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x86\ +\x00\x00\x00\x6c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x80\ +\x00\x00\x00\x7e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x72\ +\x00\x00\x00\x90\x00\x02\x00\x00\x00\x01\x00\x00\x00\x68\ +\x00\x00\x00\xa2\x00\x02\x00\x00\x00\x01\x00\x00\x00\x59\ +\x00\x00\x00\xc0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x54\ \x00\x00\x00\xdc\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3e\ \x00\x00\x01\x02\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3a\ \x00\x00\x01\x1a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x36\ @@ -29357,193 +27874,183 @@ \x00\x00\x01\xb0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x3c\ \x00\x00\x06\x82\x00\x00\x00\x00\x00\x01\x00\x02\x47\xec\ \x00\x00\x06\xb0\x00\x00\x00\x00\x00\x01\x00\x02\x4a\x17\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x3f\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x14\x00\x00\x00\x48\ -\x00\x00\x06\xe0\x00\x02\x00\x00\x00\x07\x00\x00\x00\x41\ -\x00\x00\x06\xf2\x00\x00\x00\x00\x00\x01\x00\x02\x4c\x1d\ -\x00\x00\x07\x26\x00\x00\x00\x00\x00\x01\x00\x02\x56\x81\ -\x00\x00\x07\x5a\x00\x00\x00\x00\x00\x01\x00\x02\x60\xaa\ -\x00\x00\x07\x94\x00\x00\x00\x00\x00\x01\x00\x02\x6b\x02\ -\x00\x00\x07\xc8\x00\x00\x00\x00\x00\x01\x00\x02\x75\x1a\ -\x00\x00\x07\xfe\x00\x00\x00\x00\x00\x01\x00\x02\x7f\x43\ -\x00\x00\x08\x36\x00\x00\x00\x00\x00\x01\x00\x02\x89\x59\ -\x00\x00\x08\x6c\x00\x00\x00\x00\x00\x01\x00\x02\x93\xbf\ -\x00\x00\x08\x94\x00\x00\x00\x00\x00\x01\x00\x02\x9d\xee\ -\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x01\x00\x02\xa8\x35\ -\x00\x00\x08\xe6\x00\x01\x00\x00\x00\x01\x00\x02\xb2\x04\ -\x00\x00\x09\x0c\x00\x00\x00\x00\x00\x01\x00\x02\xb7\x89\ -\x00\x00\x09\x32\x00\x00\x00\x00\x00\x01\x00\x02\xbf\x0a\ -\x00\x00\x09\x58\x00\x00\x00\x00\x00\x01\x00\x02\xc3\x5d\ -\x00\x00\x09\x94\x00\x00\x00\x00\x00\x01\x00\x02\xc5\x5e\ -\x00\x00\x09\xac\x00\x00\x00\x00\x00\x01\x00\x02\xcb\x53\ -\x00\x00\x09\xce\x00\x00\x00\x00\x00\x01\x00\x02\xd0\x26\ -\x00\x00\x09\xfa\x00\x00\x00\x00\x00\x01\x00\x02\xeb\x6b\ -\x00\x00\x0a\x26\x00\x00\x00\x00\x00\x01\x00\x02\xf0\xb4\ -\x00\x00\x0a\x58\x00\x01\x00\x00\x00\x01\x00\x03\x03\xf0\ -\x00\x00\x0a\x8a\x00\x00\x00\x00\x00\x01\x00\x03\x0f\xde\ -\x00\x00\x0a\xb0\x00\x00\x00\x00\x00\x01\x00\x03\x1b\xb0\ -\x00\x00\x0a\xc6\x00\x00\x00\x00\x00\x01\x00\x03\x1f\x6b\ -\x00\x00\x0a\xfa\x00\x00\x00\x00\x00\x01\x00\x03\x22\xe3\ -\x00\x00\x0b\x12\x00\x00\x00\x00\x00\x01\x00\x03\x24\xe4\ -\x00\x00\x0b\x30\x00\x00\x00\x00\x00\x01\x00\x03\x2b\x92\ -\x00\x00\x0b\x50\x00\x00\x00\x00\x00\x01\x00\x03\x32\x21\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x5d\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x03\x00\x00\x00\x5e\ -\x00\x00\x0b\x7c\x00\x00\x00\x00\x00\x01\x00\x03\x3f\xb7\ -\x00\x00\x0b\x9a\x00\x00\x00\x00\x00\x01\x00\x03\x49\x74\ -\x00\x00\x0b\xae\x00\x00\x00\x00\x00\x01\x00\x03\x4f\x47\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x62\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x63\ -\x00\x00\x0b\xc8\x00\x00\x00\x00\x00\x01\x00\x03\x5a\xc1\ -\x00\x00\x0b\xf0\x00\x00\x00\x00\x00\x01\x00\x03\x5f\xbc\ -\x00\x00\x0c\x28\x00\x00\x00\x00\x00\x01\x00\x03\x68\x90\ -\x00\x00\x0c\x60\x00\x00\x00\x00\x00\x01\x00\x03\x71\x34\ -\x00\x00\x0c\x90\x00\x00\x00\x00\x00\x01\x00\x03\x78\xd3\ -\x00\x00\x0c\xb4\x00\x00\x00\x00\x00\x01\x00\x03\x80\xaf\ -\x00\x00\x0c\xd8\x00\x00\x00\x00\x00\x01\x00\x03\x88\x65\ -\x00\x00\x0d\x0c\x00\x00\x00\x00\x00\x01\x00\x03\x90\x73\ -\x00\x00\x0d\x40\x00\x00\x00\x00\x00\x01\x00\x03\x98\x55\ -\x00\x00\x0d\x74\x00\x00\x00\x00\x00\x01\x00\x03\xa0\x1f\ -\x00\x00\x0d\xae\x00\x00\x00\x00\x00\x01\x00\x03\xa7\x86\ -\x00\x00\x0d\xd2\x00\x00\x00\x00\x00\x01\x00\x03\xab\x43\ -\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x01\x00\x03\xaf\x1c\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x71\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x08\x00\x00\x00\x72\ -\x00\x00\x0e\x26\x00\x00\x00\x00\x00\x01\x00\x03\xb5\x25\ -\x00\x00\x0e\x52\x00\x00\x00\x00\x00\x01\x00\x03\xd7\xa9\ -\x00\x00\x0e\x80\x00\x00\x00\x00\x00\x01\x00\x03\xdd\x96\ -\x00\x00\x0e\xaa\x00\x00\x00\x00\x00\x01\x00\x03\xdf\xb6\ -\x00\x00\x0e\xd2\x00\x00\x00\x00\x00\x01\x00\x03\xe8\x4e\ -\x00\x00\x0e\xec\x00\x00\x00\x00\x00\x01\x00\x03\xf7\x97\ -\x00\x00\x0f\x18\x00\x00\x00\x00\x00\x01\x00\x03\xfe\x15\ -\x00\x00\x0f\x40\x00\x00\x00\x00\x00\x01\x00\x04\x08\x8f\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x7b\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x7c\ -\x00\x00\x0f\x76\x00\x00\x00\x00\x00\x01\x00\x04\x11\xd6\ -\x00\x00\x0f\xa4\x00\x00\x00\x00\x00\x01\x00\x04\x14\x7d\ -\x00\x00\x0f\xd2\x00\x01\x00\x00\x00\x01\x00\x04\x20\xfa\ -\x00\x00\x0f\xfe\x00\x00\x00\x00\x00\x01\x00\x04\x4d\x78\ -\x00\x00\x10\x1e\x00\x00\x00\x00\x00\x01\x00\x04\x52\x2f\ -\x00\x00\x10\x50\x00\x01\x00\x00\x00\x01\x00\x04\xab\x28\ -\x00\x00\x10\x82\x00\x00\x00\x00\x00\x01\x00\x04\xdf\x81\ -\x00\x00\x10\x9c\x00\x00\x00\x00\x00\x01\x00\x04\xe4\xcb\ -\x00\x00\x10\xb6\x00\x00\x00\x00\x00\x01\x00\x04\xea\x5a\ -\x00\x00\x10\xd0\x00\x00\x00\x00\x00\x01\x00\x04\xef\xc3\ -\x00\x00\x10\xe8\x00\x00\x00\x00\x00\x01\x00\x04\xfb\xa1\ -\x00\x00\x11\x06\x00\x00\x00\x00\x00\x01\x00\x05\x01\xa5\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x89\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x8a\ -\x00\x00\x11\x2e\x00\x00\x00\x00\x00\x01\x00\x05\x06\xda\ -\x00\x00\x11\x42\x00\x00\x00\x00\x00\x01\x00\x05\x0c\xd7\ -\x00\x00\x11\x54\x00\x00\x00\x00\x00\x01\x00\x05\x0e\x5d\ -\x00\x00\x11\x66\x00\x00\x00\x00\x00\x01\x00\x05\x14\x57\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8f\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x90\ -\x00\x00\x11\x7a\x00\x00\x00\x00\x00\x01\x00\x05\x16\xad\ -\x00\x00\x11\xa6\x00\x00\x00\x00\x00\x01\x00\x05\x1d\x94\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x93\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x94\ -\x00\x00\x00\x46\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x98\ -\x00\x00\x11\xca\x00\x01\x00\x00\x00\x01\x00\x05\x26\xf8\ -\x00\x00\x11\xee\x00\x00\x00\x00\x00\x01\x00\x05\x32\x59\ -\x00\x00\x12\x10\x00\x00\x00\x00\x00\x01\x00\x05\x39\xfe\ -\x00\x00\x12\x2c\x00\x00\x00\x00\x00\x01\x00\x05\x4a\xfe\ -\x00\x00\x12\x4c\x00\x00\x00\x00\x00\x01\x00\x05\x50\x97\ -\x00\x00\x12\x6c\x00\x00\x00\x00\x00\x01\x00\x05\x56\xbe\ -\x00\x00\x12\x8c\x00\x00\x00\x00\x00\x01\x00\x05\x5b\x13\ -\x00\x00\x12\xac\x00\x00\x00\x00\x00\x01\x00\x05\x60\x97\ -\x00\x00\x12\xcc\x00\x00\x00\x00\x00\x01\x00\x05\x66\x30\ -\x00\x00\x12\xfe\x00\x00\x00\x00\x00\x01\x00\x05\x6b\x32\ -\x00\x00\x13\x1e\x00\x00\x00\x00\x00\x01\x00\x05\x70\xcb\ -\x00\x00\x13\x52\x00\x00\x00\x00\x00\x01\x00\x05\x7b\x3f\ -\x00\x00\x13\x86\x00\x00\x00\x00\x00\x01\x00\x05\x85\xb9\ -\x00\x00\x13\xba\x00\x00\x00\x00\x00\x01\x00\x05\x90\x18\ -\x00\x00\x13\xee\x00\x00\x00\x00\x00\x01\x00\x05\x9b\x63\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa5\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0b\x00\x00\x00\xa6\ -\x00\x00\x14\x22\x00\x00\x00\x00\x00\x01\x00\x05\xa5\xd7\ -\x00\x00\x14\x52\x00\x00\x00\x00\x00\x01\x00\x05\xaf\x6d\ -\x00\x00\x14\x82\x00\x00\x00\x00\x00\x01\x00\x05\xbb\x49\ -\x00\x00\x14\xa6\x00\x00\x00\x00\x00\x01\x00\x05\xc1\x8d\ -\x00\x00\x14\xd0\x00\x00\x00\x00\x00\x01\x00\x05\xc9\x16\ -\x00\x00\x14\xfc\x00\x00\x00\x00\x00\x01\x00\x05\xcf\x74\ -\x00\x00\x15\x32\x00\x01\x00\x00\x00\x01\x00\x05\xd7\x63\ -\x00\x00\x0b\x9a\x00\x00\x00\x00\x00\x01\x00\x05\xdb\x76\ -\x00\x00\x15\x50\x00\x00\x00\x00\x00\x01\x00\x05\xe1\x49\ -\x00\x00\x0b\xae\x00\x00\x00\x00\x00\x01\x00\x05\xe7\xd6\ -\x00\x00\x15\x6e\x00\x00\x00\x00\x00\x01\x00\x05\xf3\x50\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb2\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb3\ -\x00\x00\x15\x96\x00\x00\x00\x00\x00\x01\x00\x05\xfb\x1a\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb5\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x2b\x00\x00\x00\xb6\ -\x00\x00\x15\xb6\x00\x00\x00\x00\x00\x01\x00\x05\xff\xe0\ -\x00\x00\x15\xcc\x00\x00\x00\x00\x00\x01\x00\x06\x07\x94\ -\x00\x00\x15\xe4\x00\x00\x00\x00\x00\x01\x00\x06\x09\xb9\ -\x00\x00\x16\x1c\x00\x00\x00\x00\x00\x01\x00\x06\x0b\x39\ -\x00\x00\x16\x38\x00\x00\x00\x00\x00\x01\x00\x06\x12\xe6\ -\x00\x00\x16\x58\x00\x00\x00\x00\x00\x01\x00\x06\x17\xbb\ -\x00\x00\x16\x6e\x00\x00\x00\x00\x00\x01\x00\x06\x18\xab\ -\x00\x00\x16\x94\x00\x00\x00\x00\x00\x01\x00\x06\x1b\xd7\ -\x00\x00\x16\xaa\x00\x00\x00\x00\x00\x01\x00\x06\x20\x00\ -\x00\x00\x16\xd0\x00\x00\x00\x00\x00\x01\x00\x06\x26\x37\ -\x00\x00\x16\xea\x00\x00\x00\x00\x00\x01\x00\x06\x3b\x44\ -\x00\x00\x17\x0c\x00\x00\x00\x00\x00\x01\x00\x06\x40\x34\ -\x00\x00\x17\x22\x00\x00\x00\x00\x00\x01\x00\x06\x43\x33\ -\x00\x00\x17\x38\x00\x00\x00\x00\x00\x01\x00\x06\x49\x3d\ -\x00\x00\x17\x6a\x00\x00\x00\x00\x00\x01\x00\x06\x4c\x8c\ -\x00\x00\x17\x82\x00\x00\x00\x00\x00\x01\x00\x06\x4f\x7e\ -\x00\x00\x17\x98\x00\x00\x00\x00\x00\x01\x00\x06\x55\x75\ -\x00\x00\x17\xac\x00\x00\x00\x00\x00\x01\x00\x06\x57\x86\ -\x00\x00\x17\xc4\x00\x00\x00\x00\x00\x01\x00\x06\x5b\x49\ -\x00\x00\x17\xea\x00\x00\x00\x00\x00\x01\x00\x06\x64\xfd\ -\x00\x00\x18\x08\x00\x00\x00\x00\x00\x01\x00\x06\x6a\xc5\ -\x00\x00\x18\x32\x00\x00\x00\x00\x00\x01\x00\x06\x6e\x13\ -\x00\x00\x18\x54\x00\x00\x00\x00\x00\x01\x00\x06\x71\xa1\ -\x00\x00\x18\x7a\x00\x00\x00\x00\x00\x01\x00\x06\x76\x42\ -\x00\x00\x18\x8e\x00\x00\x00\x00\x00\x01\x00\x06\x80\x14\ -\x00\x00\x18\xba\x00\x00\x00\x00\x00\x01\x00\x06\x85\x5e\ -\x00\x00\x18\xe2\x00\x00\x00\x00\x00\x01\x00\x06\x8b\x65\ -\x00\x00\x18\xf8\x00\x00\x00\x00\x00\x01\x00\x06\x8c\x49\ -\x00\x00\x19\x24\x00\x00\x00\x00\x00\x01\x00\x06\x8e\x92\ -\x00\x00\x19\x3a\x00\x00\x00\x00\x00\x01\x00\x06\x95\x42\ -\x00\x00\x19\x56\x00\x00\x00\x00\x00\x01\x00\x06\x98\x86\ -\x00\x00\x19\x8a\x00\x00\x00\x00\x00\x01\x00\x06\x9f\x6c\ -\x00\x00\x19\xa2\x00\x00\x00\x00\x00\x01\x00\x06\xa0\x98\ -\x00\x00\x19\xbc\x00\x00\x00\x00\x00\x01\x00\x06\xa6\x59\ -\x00\x00\x19\xde\x00\x00\x00\x00\x00\x01\x00\x06\xa7\x7b\ -\x00\x00\x19\xfc\x00\x00\x00\x00\x00\x01\x00\x06\xad\x6e\ -\x00\x00\x1a\x1c\x00\x00\x00\x00\x00\x01\x00\x06\xb0\x72\ -\x00\x00\x1a\x3e\x00\x00\x00\x00\x00\x01\x00\x06\xb1\x93\ -\x00\x00\x1a\x5e\x00\x00\x00\x00\x00\x01\x00\x06\xb4\x67\ -\x00\x00\x1a\x8c\x00\x00\x00\x00\x00\x01\x00\x06\xbc\xd3\ -\x00\x00\x1a\xb0\x00\x00\x00\x00\x00\x01\x00\x06\xc4\x93\ -\x00\x00\x1a\xd4\x00\x00\x00\x00\x00\x01\x00\x06\xc9\xae\ -\x00\x00\x1a\xfc\x00\x00\x00\x00\x00\x01\x00\x06\xcb\x01\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3f\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x14\x00\x00\x00\x40\ +\x00\x00\x06\xe0\x00\x00\x00\x00\x00\x01\x00\x02\x4c\x1d\ +\x00\x00\x07\x08\x00\x00\x00\x00\x00\x01\x00\x02\x56\x4c\ +\x00\x00\x07\x34\x00\x00\x00\x00\x00\x01\x00\x02\x60\x93\ +\x00\x00\x07\x5a\x00\x01\x00\x00\x00\x01\x00\x02\x6a\x62\ +\x00\x00\x07\x80\x00\x00\x00\x00\x00\x01\x00\x02\x6f\xe7\ +\x00\x00\x07\xa6\x00\x00\x00\x00\x00\x01\x00\x02\x77\x68\ +\x00\x00\x07\xcc\x00\x00\x00\x00\x00\x01\x00\x02\x7b\xbb\ +\x00\x00\x08\x08\x00\x00\x00\x00\x00\x01\x00\x02\x7d\xbc\ +\x00\x00\x08\x20\x00\x00\x00\x00\x00\x01\x00\x02\x83\xb1\ +\x00\x00\x08\x42\x00\x00\x00\x00\x00\x01\x00\x02\x88\x84\ +\x00\x00\x08\x6e\x00\x00\x00\x00\x00\x01\x00\x02\xa3\xc9\ +\x00\x00\x08\x9a\x00\x00\x00\x00\x00\x01\x00\x02\xa9\x12\ +\x00\x00\x08\xcc\x00\x01\x00\x00\x00\x01\x00\x02\xbc\x4e\ +\x00\x00\x08\xfe\x00\x00\x00\x00\x00\x01\x00\x02\xc8\x3c\ +\x00\x00\x09\x24\x00\x00\x00\x00\x00\x01\x00\x02\xd4\x0e\ +\x00\x00\x09\x3a\x00\x00\x00\x00\x00\x01\x00\x02\xd7\xc9\ +\x00\x00\x09\x6e\x00\x00\x00\x00\x00\x01\x00\x02\xdb\x41\ +\x00\x00\x09\x86\x00\x00\x00\x00\x00\x01\x00\x02\xdd\x42\ +\x00\x00\x09\xa4\x00\x00\x00\x00\x00\x01\x00\x02\xe3\xf0\ +\x00\x00\x09\xc4\x00\x00\x00\x00\x00\x01\x00\x02\xea\x7f\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x55\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x03\x00\x00\x00\x56\ +\x00\x00\x09\xf0\x00\x00\x00\x00\x00\x01\x00\x02\xf8\x15\ +\x00\x00\x0a\x0e\x00\x00\x00\x00\x00\x01\x00\x03\x01\xd2\ +\x00\x00\x0a\x22\x00\x00\x00\x00\x00\x01\x00\x03\x07\xa5\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x5a\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x5b\ +\x00\x00\x0a\x3c\x00\x00\x00\x00\x00\x01\x00\x03\x13\x1f\ +\x00\x00\x0a\x64\x00\x00\x00\x00\x00\x01\x00\x03\x18\x1a\ +\x00\x00\x0a\x9c\x00\x00\x00\x00\x00\x01\x00\x03\x20\xee\ +\x00\x00\x0a\xd4\x00\x00\x00\x00\x00\x01\x00\x03\x29\x92\ +\x00\x00\x0b\x04\x00\x00\x00\x00\x00\x01\x00\x03\x31\x31\ +\x00\x00\x0b\x28\x00\x00\x00\x00\x00\x01\x00\x03\x39\x0d\ +\x00\x00\x0b\x4c\x00\x00\x00\x00\x00\x01\x00\x03\x40\xc3\ +\x00\x00\x0b\x80\x00\x00\x00\x00\x00\x01\x00\x03\x48\xd1\ +\x00\x00\x0b\xb4\x00\x00\x00\x00\x00\x01\x00\x03\x50\xb3\ +\x00\x00\x0b\xe8\x00\x00\x00\x00\x00\x01\x00\x03\x58\x7d\ +\x00\x00\x0c\x22\x00\x00\x00\x00\x00\x01\x00\x03\x5f\xe4\ +\x00\x00\x0c\x46\x00\x00\x00\x00\x00\x01\x00\x03\x63\xa1\ +\x00\x00\x0c\x74\x00\x00\x00\x00\x00\x01\x00\x03\x67\x7a\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x69\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x08\x00\x00\x00\x6a\ +\x00\x00\x0c\x9a\x00\x00\x00\x00\x00\x01\x00\x03\x6d\x83\ +\x00\x00\x0c\xc6\x00\x00\x00\x00\x00\x01\x00\x03\x90\x07\ +\x00\x00\x0c\xf4\x00\x00\x00\x00\x00\x01\x00\x03\x95\xf4\ +\x00\x00\x0d\x1e\x00\x00\x00\x00\x00\x01\x00\x03\x98\x14\ +\x00\x00\x0d\x46\x00\x00\x00\x00\x00\x01\x00\x03\xa0\xac\ +\x00\x00\x0d\x60\x00\x00\x00\x00\x00\x01\x00\x03\xaf\xf5\ +\x00\x00\x0d\x8c\x00\x00\x00\x00\x00\x01\x00\x03\xb6\x73\ +\x00\x00\x0d\xb4\x00\x00\x00\x00\x00\x01\x00\x03\xc0\xed\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x73\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x74\ +\x00\x00\x0d\xea\x00\x00\x00\x00\x00\x01\x00\x03\xca\x34\ +\x00\x00\x0e\x18\x00\x00\x00\x00\x00\x01\x00\x03\xcc\xdb\ +\x00\x00\x0e\x46\x00\x01\x00\x00\x00\x01\x00\x03\xd9\x58\ +\x00\x00\x0e\x72\x00\x00\x00\x00\x00\x01\x00\x04\x05\xd6\ +\x00\x00\x0e\x92\x00\x00\x00\x00\x00\x01\x00\x04\x0a\x8d\ +\x00\x00\x0e\xc4\x00\x01\x00\x00\x00\x01\x00\x04\x63\x86\ +\x00\x00\x0e\xf6\x00\x00\x00\x00\x00\x01\x00\x04\x97\xdf\ +\x00\x00\x0f\x10\x00\x00\x00\x00\x00\x01\x00\x04\x9d\x29\ +\x00\x00\x0f\x2a\x00\x00\x00\x00\x00\x01\x00\x04\xa2\xb8\ +\x00\x00\x0f\x44\x00\x00\x00\x00\x00\x01\x00\x04\xa8\x21\ +\x00\x00\x0f\x5c\x00\x00\x00\x00\x00\x01\x00\x04\xb3\xff\ +\x00\x00\x0f\x7a\x00\x00\x00\x00\x00\x01\x00\x04\xba\x03\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x81\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x82\ +\x00\x00\x0f\xa2\x00\x00\x00\x00\x00\x01\x00\x04\xbf\x38\ +\x00\x00\x0f\xb6\x00\x00\x00\x00\x00\x01\x00\x04\xc5\x35\ +\x00\x00\x0f\xc8\x00\x00\x00\x00\x00\x01\x00\x04\xc6\xbb\ +\x00\x00\x0f\xda\x00\x00\x00\x00\x00\x01\x00\x04\xcc\xb5\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x87\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x88\ +\x00\x00\x0f\xee\x00\x00\x00\x00\x00\x01\x00\x04\xcf\x0b\ +\x00\x00\x10\x1a\x00\x00\x00\x00\x00\x01\x00\x04\xd5\xf2\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8b\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x8c\ +\x00\x00\x00\x46\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x90\ +\x00\x00\x10\x3e\x00\x01\x00\x00\x00\x01\x00\x04\xdf\x56\ +\x00\x00\x10\x62\x00\x00\x00\x00\x00\x01\x00\x04\xea\xb7\ +\x00\x00\x10\x84\x00\x00\x00\x00\x00\x01\x00\x04\xf2\x5c\ +\x00\x00\x10\xa0\x00\x00\x00\x00\x00\x01\x00\x05\x03\x5c\ +\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x01\x00\x05\x08\xf5\ +\x00\x00\x10\xe0\x00\x00\x00\x00\x00\x01\x00\x05\x0f\x1c\ +\x00\x00\x11\x00\x00\x00\x00\x00\x00\x01\x00\x05\x13\x71\ +\x00\x00\x11\x20\x00\x00\x00\x00\x00\x01\x00\x05\x18\xf5\ +\x00\x00\x11\x40\x00\x00\x00\x00\x00\x01\x00\x05\x1e\x8e\ +\x00\x00\x11\x72\x00\x00\x00\x00\x00\x01\x00\x05\x23\x90\ +\x00\x00\x11\x92\x00\x00\x00\x00\x00\x01\x00\x05\x29\x29\ +\x00\x00\x11\xc6\x00\x00\x00\x00\x00\x01\x00\x05\x33\x9d\ +\x00\x00\x11\xfa\x00\x00\x00\x00\x00\x01\x00\x05\x3e\x17\ +\x00\x00\x12\x2e\x00\x00\x00\x00\x00\x01\x00\x05\x48\x76\ +\x00\x00\x12\x62\x00\x00\x00\x00\x00\x01\x00\x05\x53\xc1\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x9d\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x09\x00\x00\x00\x9e\ +\x00\x00\x12\x96\x00\x00\x00\x00\x00\x01\x00\x05\x5e\x35\ +\x00\x00\x12\xc6\x00\x00\x00\x00\x00\x01\x00\x05\x67\xcb\ +\x00\x00\x12\xf6\x00\x00\x00\x00\x00\x01\x00\x05\x73\xa7\ +\x00\x00\x13\x1a\x00\x00\x00\x00\x00\x01\x00\x05\x79\xeb\ +\x00\x00\x13\x44\x00\x00\x00\x00\x00\x01\x00\x05\x81\x74\ +\x00\x00\x13\x70\x00\x00\x00\x00\x00\x01\x00\x05\x87\xd2\ +\x00\x00\x13\xa6\x00\x01\x00\x00\x00\x01\x00\x05\x8f\xc1\ +\x00\x00\x13\xc4\x00\x00\x00\x00\x00\x01\x00\x05\x93\xd4\ +\x00\x00\x13\xe2\x00\x00\x00\x00\x00\x01\x00\x05\x9a\x61\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa8\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa9\ +\x00\x00\x14\x0a\x00\x00\x00\x00\x00\x01\x00\x05\xa2\x2b\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xab\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x2b\x00\x00\x00\xac\ +\x00\x00\x14\x2a\x00\x00\x00\x00\x00\x01\x00\x05\xa6\xf1\ +\x00\x00\x14\x40\x00\x00\x00\x00\x00\x01\x00\x05\xae\xa5\ +\x00\x00\x14\x58\x00\x00\x00\x00\x00\x01\x00\x05\xb0\xca\ +\x00\x00\x14\x90\x00\x00\x00\x00\x00\x01\x00\x05\xb2\x4a\ +\x00\x00\x14\xac\x00\x00\x00\x00\x00\x01\x00\x05\xb9\xf7\ +\x00\x00\x14\xcc\x00\x00\x00\x00\x00\x01\x00\x05\xbe\xcc\ +\x00\x00\x14\xe2\x00\x00\x00\x00\x00\x01\x00\x05\xbf\xbc\ +\x00\x00\x15\x08\x00\x00\x00\x00\x00\x01\x00\x05\xc2\xe8\ +\x00\x00\x15\x1e\x00\x00\x00\x00\x00\x01\x00\x05\xc7\x11\ +\x00\x00\x15\x44\x00\x00\x00\x00\x00\x01\x00\x05\xcd\x48\ +\x00\x00\x15\x5e\x00\x00\x00\x00\x00\x01\x00\x05\xe2\x55\ +\x00\x00\x15\x80\x00\x00\x00\x00\x00\x01\x00\x05\xe7\x45\ +\x00\x00\x15\x96\x00\x00\x00\x00\x00\x01\x00\x05\xea\x44\ +\x00\x00\x15\xac\x00\x00\x00\x00\x00\x01\x00\x05\xf0\x4e\ +\x00\x00\x15\xde\x00\x00\x00\x00\x00\x01\x00\x05\xf3\x9d\ +\x00\x00\x15\xf6\x00\x00\x00\x00\x00\x01\x00\x05\xf6\x8f\ +\x00\x00\x16\x0c\x00\x00\x00\x00\x00\x01\x00\x05\xfc\x86\ +\x00\x00\x16\x20\x00\x00\x00\x00\x00\x01\x00\x05\xfe\x97\ +\x00\x00\x16\x38\x00\x00\x00\x00\x00\x01\x00\x06\x02\x5a\ +\x00\x00\x16\x5e\x00\x00\x00\x00\x00\x01\x00\x06\x0c\x0e\ +\x00\x00\x16\x7c\x00\x00\x00\x00\x00\x01\x00\x06\x11\xd6\ +\x00\x00\x16\xa6\x00\x00\x00\x00\x00\x01\x00\x06\x15\x24\ +\x00\x00\x16\xc8\x00\x00\x00\x00\x00\x01\x00\x06\x18\xb2\ +\x00\x00\x16\xee\x00\x00\x00\x00\x00\x01\x00\x06\x1d\x53\ +\x00\x00\x17\x02\x00\x00\x00\x00\x00\x01\x00\x06\x27\x25\ +\x00\x00\x17\x2e\x00\x00\x00\x00\x00\x01\x00\x06\x2c\x6f\ +\x00\x00\x17\x56\x00\x00\x00\x00\x00\x01\x00\x06\x32\x76\ +\x00\x00\x17\x6c\x00\x00\x00\x00\x00\x01\x00\x06\x33\x5a\ +\x00\x00\x17\x98\x00\x00\x00\x00\x00\x01\x00\x06\x35\xa3\ +\x00\x00\x17\xae\x00\x00\x00\x00\x00\x01\x00\x06\x3c\x53\ +\x00\x00\x17\xca\x00\x00\x00\x00\x00\x01\x00\x06\x3f\x97\ +\x00\x00\x17\xfe\x00\x00\x00\x00\x00\x01\x00\x06\x46\x7d\ +\x00\x00\x18\x16\x00\x00\x00\x00\x00\x01\x00\x06\x47\xa9\ +\x00\x00\x18\x30\x00\x00\x00\x00\x00\x01\x00\x06\x4d\x6a\ +\x00\x00\x18\x52\x00\x00\x00\x00\x00\x01\x00\x06\x4e\x8c\ +\x00\x00\x18\x70\x00\x00\x00\x00\x00\x01\x00\x06\x54\x7f\ +\x00\x00\x18\x90\x00\x00\x00\x00\x00\x01\x00\x06\x57\x83\ +\x00\x00\x18\xb2\x00\x00\x00\x00\x00\x01\x00\x06\x58\xa4\ +\x00\x00\x18\xd2\x00\x00\x00\x00\x00\x01\x00\x06\x5b\x78\ +\x00\x00\x19\x00\x00\x00\x00\x00\x00\x01\x00\x06\x63\xe4\ +\x00\x00\x19\x24\x00\x00\x00\x00\x00\x01\x00\x06\x6b\xa4\ +\x00\x00\x19\x48\x00\x00\x00\x00\x00\x01\x00\x06\x70\xbf\ +\x00\x00\x19\x70\x00\x00\x00\x00\x00\x01\x00\x06\x72\x12\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x10\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb4\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\xaa\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x0a\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb1\ +\x00\x00\x00\x0a\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa7\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa4\ +\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x9c\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x46\x00\x02\x00\x00\x00\x01\x00\x00\x00\x92\ +\x00\x00\x00\x46\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8a\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x5a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8e\ +\x00\x00\x00\x5a\x00\x02\x00\x00\x00\x01\x00\x00\x00\x86\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x6c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x88\ +\x00\x00\x00\x6c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x80\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x7e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x7a\ +\x00\x00\x00\x7e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x72\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x90\x00\x02\x00\x00\x00\x01\x00\x00\x00\x70\ +\x00\x00\x00\x90\x00\x02\x00\x00\x00\x01\x00\x00\x00\x68\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\xa2\x00\x02\x00\x00\x00\x01\x00\x00\x00\x61\ +\x00\x00\x00\xa2\x00\x02\x00\x00\x00\x01\x00\x00\x00\x59\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\xc0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x5c\ +\x00\x00\x00\xc0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x54\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\xdc\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3e\ \x00\x00\x00\x00\x00\x00\x00\x00\ @@ -29600,9 +28107,9 @@ \x00\x00\x04\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x40\xdd\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x04\x38\x00\x00\x00\x00\x00\x01\x00\x00\x43\x59\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ \x00\x00\x04\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x44\xf6\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ \x00\x00\x04\x78\x00\x00\x00\x00\x00\x01\x00\x00\x46\x91\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x04\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x49\x0d\ @@ -29647,331 +28154,311 @@ \x00\x00\x01\x9c\xe2\x99\x3f\x60\ \x00\x00\x06\xb0\x00\x00\x00\x00\x00\x01\x00\x02\x4a\x17\ \x00\x00\x01\x9c\xe2\x99\x3f\x60\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x3f\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x14\x00\x00\x00\x48\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x3f\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x06\xe0\x00\x02\x00\x00\x00\x07\x00\x00\x00\x41\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x14\x00\x00\x00\x40\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x06\xf2\x00\x00\x00\x00\x00\x01\x00\x02\x4c\x1d\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x07\x26\x00\x00\x00\x00\x00\x01\x00\x02\x56\x81\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x07\x5a\x00\x00\x00\x00\x00\x01\x00\x02\x60\xaa\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x07\x94\x00\x00\x00\x00\x00\x01\x00\x02\x6b\x02\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x07\xc8\x00\x00\x00\x00\x00\x01\x00\x02\x75\x1a\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x07\xfe\x00\x00\x00\x00\x00\x01\x00\x02\x7f\x43\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x08\x36\x00\x00\x00\x00\x00\x01\x00\x02\x89\x59\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x08\x6c\x00\x00\x00\x00\x00\x01\x00\x02\x93\xbf\ +\x00\x00\x06\xe0\x00\x00\x00\x00\x00\x01\x00\x02\x4c\x1d\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x08\x94\x00\x00\x00\x00\x00\x01\x00\x02\x9d\xee\ +\x00\x00\x07\x08\x00\x00\x00\x00\x00\x01\x00\x02\x56\x4c\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x01\x00\x02\xa8\x35\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x08\xe6\x00\x01\x00\x00\x00\x01\x00\x02\xb2\x04\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x09\x0c\x00\x00\x00\x00\x00\x01\x00\x02\xb7\x89\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x09\x32\x00\x00\x00\x00\x00\x01\x00\x02\xbf\x0a\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x09\x58\x00\x00\x00\x00\x00\x01\x00\x02\xc3\x5d\ +\x00\x00\x07\x34\x00\x00\x00\x00\x00\x01\x00\x02\x60\x93\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x18\ +\x00\x00\x07\x5a\x00\x01\x00\x00\x00\x01\x00\x02\x6a\x62\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x07\x80\x00\x00\x00\x00\x00\x01\x00\x02\x6f\xe7\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x07\xa6\x00\x00\x00\x00\x00\x01\x00\x02\x77\x68\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x07\xcc\x00\x00\x00\x00\x00\x01\x00\x02\x7b\xbb\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x09\x94\x00\x00\x00\x00\x00\x01\x00\x02\xc5\x5e\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x09\xac\x00\x00\x00\x00\x00\x01\x00\x02\xcb\x53\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x09\xce\x00\x00\x00\x00\x00\x01\x00\x02\xd0\x26\ +\x00\x00\x08\x08\x00\x00\x00\x00\x00\x01\x00\x02\x7d\xbc\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x18\ +\x00\x00\x08\x20\x00\x00\x00\x00\x00\x01\x00\x02\x83\xb1\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x18\ +\x00\x00\x08\x42\x00\x00\x00\x00\x00\x01\x00\x02\x88\x84\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x09\xfa\x00\x00\x00\x00\x00\x01\x00\x02\xeb\x6b\ +\x00\x00\x08\x6e\x00\x00\x00\x00\x00\x01\x00\x02\xa3\xc9\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0a\x26\x00\x00\x00\x00\x00\x01\x00\x02\xf0\xb4\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x0a\x58\x00\x01\x00\x00\x00\x01\x00\x03\x03\xf0\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x0a\x8a\x00\x00\x00\x00\x00\x01\x00\x03\x0f\xde\ -\x00\x00\x01\x9e\xdf\x43\x2b\xac\ -\x00\x00\x0a\xb0\x00\x00\x00\x00\x00\x01\x00\x03\x1b\xb0\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x0a\xc6\x00\x00\x00\x00\x00\x01\x00\x03\x1f\x6b\ +\x00\x00\x08\x9a\x00\x00\x00\x00\x00\x01\x00\x02\xa9\x12\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x08\xcc\x00\x01\x00\x00\x00\x01\x00\x02\xbc\x4e\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x08\xfe\x00\x00\x00\x00\x00\x01\x00\x02\xc8\x3c\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x09\x24\x00\x00\x00\x00\x00\x01\x00\x02\xd4\x0e\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x09\x3a\x00\x00\x00\x00\x00\x01\x00\x02\xd7\xc9\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0a\xfa\x00\x00\x00\x00\x00\x01\x00\x03\x22\xe3\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x0b\x12\x00\x00\x00\x00\x00\x01\x00\x03\x24\xe4\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x0b\x30\x00\x00\x00\x00\x00\x01\x00\x03\x2b\x92\ -\x00\x00\x01\x9e\xdf\x43\x2b\xac\ -\x00\x00\x0b\x50\x00\x00\x00\x00\x00\x01\x00\x03\x32\x21\ -\x00\x00\x01\x9e\xdf\x43\x2b\xad\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x5d\ +\x00\x00\x09\x6e\x00\x00\x00\x00\x00\x01\x00\x02\xdb\x41\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x09\x86\x00\x00\x00\x00\x00\x01\x00\x02\xdd\x42\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x18\ +\x00\x00\x09\xa4\x00\x00\x00\x00\x00\x01\x00\x02\xe3\xf0\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x17\ +\x00\x00\x09\xc4\x00\x00\x00\x00\x00\x01\x00\x02\xea\x7f\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x18\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x55\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x03\x00\x00\x00\x5e\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x03\x00\x00\x00\x56\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x0b\x7c\x00\x00\x00\x00\x00\x01\x00\x03\x3f\xb7\ -\x00\x00\x01\x9e\xdf\x66\x3b\xf9\ -\x00\x00\x0b\x9a\x00\x00\x00\x00\x00\x01\x00\x03\x49\x74\ -\x00\x00\x01\x9e\xdf\x66\x3b\xf9\ -\x00\x00\x0b\xae\x00\x00\x00\x00\x00\x01\x00\x03\x4f\x47\ -\x00\x00\x01\x9e\xdf\x66\x3b\xf9\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x62\ +\x00\x00\x09\xf0\x00\x00\x00\x00\x00\x01\x00\x02\xf8\x15\ +\x00\x00\x01\xa0\x19\xb8\x66\xbc\ +\x00\x00\x0a\x0e\x00\x00\x00\x00\x00\x01\x00\x03\x01\xd2\ +\x00\x00\x01\xa0\x19\xb8\x66\xbc\ +\x00\x00\x0a\x22\x00\x00\x00\x00\x00\x01\x00\x03\x07\xa5\ +\x00\x00\x01\xa0\x19\xb8\x66\xbc\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x5a\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x63\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x5b\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x0b\xc8\x00\x00\x00\x00\x00\x01\x00\x03\x5a\xc1\ +\x00\x00\x0a\x3c\x00\x00\x00\x00\x00\x01\x00\x03\x13\x1f\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0b\xf0\x00\x00\x00\x00\x00\x01\x00\x03\x5f\xbc\ +\x00\x00\x0a\x64\x00\x00\x00\x00\x00\x01\x00\x03\x18\x1a\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0c\x28\x00\x00\x00\x00\x00\x01\x00\x03\x68\x90\ +\x00\x00\x0a\x9c\x00\x00\x00\x00\x00\x01\x00\x03\x20\xee\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0c\x60\x00\x00\x00\x00\x00\x01\x00\x03\x71\x34\ +\x00\x00\x0a\xd4\x00\x00\x00\x00\x00\x01\x00\x03\x29\x92\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0c\x90\x00\x00\x00\x00\x00\x01\x00\x03\x78\xd3\ +\x00\x00\x0b\x04\x00\x00\x00\x00\x00\x01\x00\x03\x31\x31\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0c\xb4\x00\x00\x00\x00\x00\x01\x00\x03\x80\xaf\ +\x00\x00\x0b\x28\x00\x00\x00\x00\x00\x01\x00\x03\x39\x0d\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0c\xd8\x00\x00\x00\x00\x00\x01\x00\x03\x88\x65\ +\x00\x00\x0b\x4c\x00\x00\x00\x00\x00\x01\x00\x03\x40\xc3\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0d\x0c\x00\x00\x00\x00\x00\x01\x00\x03\x90\x73\ +\x00\x00\x0b\x80\x00\x00\x00\x00\x00\x01\x00\x03\x48\xd1\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0d\x40\x00\x00\x00\x00\x00\x01\x00\x03\x98\x55\ +\x00\x00\x0b\xb4\x00\x00\x00\x00\x00\x01\x00\x03\x50\xb3\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0d\x74\x00\x00\x00\x00\x00\x01\x00\x03\xa0\x1f\ +\x00\x00\x0b\xe8\x00\x00\x00\x00\x00\x01\x00\x03\x58\x7d\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0d\xae\x00\x00\x00\x00\x00\x01\x00\x03\xa7\x86\ +\x00\x00\x0c\x22\x00\x00\x00\x00\x00\x01\x00\x03\x5f\xe4\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0d\xd2\x00\x00\x00\x00\x00\x01\x00\x03\xab\x43\ +\x00\x00\x0c\x46\x00\x00\x00\x00\x00\x01\x00\x03\x63\xa1\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x01\x00\x03\xaf\x1c\ +\x00\x00\x0c\x74\x00\x00\x00\x00\x00\x01\x00\x03\x67\x7a\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x71\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x69\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x08\x00\x00\x00\x72\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x08\x00\x00\x00\x6a\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x0e\x26\x00\x00\x00\x00\x00\x01\x00\x03\xb5\x25\ +\x00\x00\x0c\x9a\x00\x00\x00\x00\x00\x01\x00\x03\x6d\x83\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0e\x52\x00\x00\x00\x00\x00\x01\x00\x03\xd7\xa9\ +\x00\x00\x0c\xc6\x00\x00\x00\x00\x00\x01\x00\x03\x90\x07\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0e\x80\x00\x00\x00\x00\x00\x01\x00\x03\xdd\x96\ +\x00\x00\x0c\xf4\x00\x00\x00\x00\x00\x01\x00\x03\x95\xf4\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0e\xaa\x00\x00\x00\x00\x00\x01\x00\x03\xdf\xb6\ +\x00\x00\x0d\x1e\x00\x00\x00\x00\x00\x01\x00\x03\x98\x14\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0e\xd2\x00\x00\x00\x00\x00\x01\x00\x03\xe8\x4e\ +\x00\x00\x0d\x46\x00\x00\x00\x00\x00\x01\x00\x03\xa0\xac\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0e\xec\x00\x00\x00\x00\x00\x01\x00\x03\xf7\x97\ +\x00\x00\x0d\x60\x00\x00\x00\x00\x00\x01\x00\x03\xaf\xf5\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0f\x18\x00\x00\x00\x00\x00\x01\x00\x03\xfe\x15\ +\x00\x00\x0d\x8c\x00\x00\x00\x00\x00\x01\x00\x03\xb6\x73\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0f\x40\x00\x00\x00\x00\x00\x01\x00\x04\x08\x8f\ +\x00\x00\x0d\xb4\x00\x00\x00\x00\x00\x01\x00\x03\xc0\xed\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x7b\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x73\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x7c\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x74\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x0f\x76\x00\x00\x00\x00\x00\x01\x00\x04\x11\xd6\ +\x00\x00\x0d\xea\x00\x00\x00\x00\x00\x01\x00\x03\xca\x34\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0f\xa4\x00\x00\x00\x00\x00\x01\x00\x04\x14\x7d\ +\x00\x00\x0e\x18\x00\x00\x00\x00\x00\x01\x00\x03\xcc\xdb\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0f\xd2\x00\x01\x00\x00\x00\x01\x00\x04\x20\xfa\ +\x00\x00\x0e\x46\x00\x01\x00\x00\x00\x01\x00\x03\xd9\x58\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0f\xfe\x00\x00\x00\x00\x00\x01\x00\x04\x4d\x78\ +\x00\x00\x0e\x72\x00\x00\x00\x00\x00\x01\x00\x04\x05\xd6\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\x1e\x00\x00\x00\x00\x00\x01\x00\x04\x52\x2f\ +\x00\x00\x0e\x92\x00\x00\x00\x00\x00\x01\x00\x04\x0a\x8d\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\x50\x00\x01\x00\x00\x00\x01\x00\x04\xab\x28\ +\x00\x00\x0e\xc4\x00\x01\x00\x00\x00\x01\x00\x04\x63\x86\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\x82\x00\x00\x00\x00\x00\x01\x00\x04\xdf\x81\ +\x00\x00\x0e\xf6\x00\x00\x00\x00\x00\x01\x00\x04\x97\xdf\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\x9c\x00\x00\x00\x00\x00\x01\x00\x04\xe4\xcb\ +\x00\x00\x0f\x10\x00\x00\x00\x00\x00\x01\x00\x04\x9d\x29\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\xb6\x00\x00\x00\x00\x00\x01\x00\x04\xea\x5a\ +\x00\x00\x0f\x2a\x00\x00\x00\x00\x00\x01\x00\x04\xa2\xb8\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\xd0\x00\x00\x00\x00\x00\x01\x00\x04\xef\xc3\ +\x00\x00\x0f\x44\x00\x00\x00\x00\x00\x01\x00\x04\xa8\x21\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x10\xe8\x00\x00\x00\x00\x00\x01\x00\x04\xfb\xa1\ +\x00\x00\x0f\x5c\x00\x00\x00\x00\x00\x01\x00\x04\xb3\xff\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x11\x06\x00\x00\x00\x00\x00\x01\x00\x05\x01\xa5\ +\x00\x00\x0f\x7a\x00\x00\x00\x00\x00\x01\x00\x04\xba\x03\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x89\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x81\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x8a\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x82\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x11\x2e\x00\x00\x00\x00\x00\x01\x00\x05\x06\xda\ +\x00\x00\x0f\xa2\x00\x00\x00\x00\x00\x01\x00\x04\xbf\x38\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x11\x42\x00\x00\x00\x00\x00\x01\x00\x05\x0c\xd7\ +\x00\x00\x0f\xb6\x00\x00\x00\x00\x00\x01\x00\x04\xc5\x35\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x11\x54\x00\x00\x00\x00\x00\x01\x00\x05\x0e\x5d\ +\x00\x00\x0f\xc8\x00\x00\x00\x00\x00\x01\x00\x04\xc6\xbb\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x11\x66\x00\x00\x00\x00\x00\x01\x00\x05\x14\x57\ +\x00\x00\x0f\xda\x00\x00\x00\x00\x00\x01\x00\x04\xcc\xb5\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8f\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x87\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x90\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x02\x00\x00\x00\x88\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x11\x7a\x00\x00\x00\x00\x00\x01\x00\x05\x16\xad\ +\x00\x00\x0f\xee\x00\x00\x00\x00\x00\x01\x00\x04\xcf\x0b\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x11\xa6\x00\x00\x00\x00\x00\x01\x00\x05\x1d\x94\ +\x00\x00\x10\x1a\x00\x00\x00\x00\x00\x01\x00\x04\xd5\xf2\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x93\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x8b\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x94\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x04\x00\x00\x00\x8c\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x46\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x98\ +\x00\x00\x00\x46\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x90\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x11\xca\x00\x01\x00\x00\x00\x01\x00\x05\x26\xf8\ +\x00\x00\x10\x3e\x00\x01\x00\x00\x00\x01\x00\x04\xdf\x56\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x11\xee\x00\x00\x00\x00\x00\x01\x00\x05\x32\x59\ +\x00\x00\x10\x62\x00\x00\x00\x00\x00\x01\x00\x04\xea\xb7\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x12\x10\x00\x00\x00\x00\x00\x01\x00\x05\x39\xfe\ +\x00\x00\x10\x84\x00\x00\x00\x00\x00\x01\x00\x04\xf2\x5c\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x12\x2c\x00\x00\x00\x00\x00\x01\x00\x05\x4a\xfe\ +\x00\x00\x10\xa0\x00\x00\x00\x00\x00\x01\x00\x05\x03\x5c\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x12\x4c\x00\x00\x00\x00\x00\x01\x00\x05\x50\x97\ +\x00\x00\x10\xc0\x00\x00\x00\x00\x00\x01\x00\x05\x08\xf5\ \x00\x00\x01\x9d\x48\x7c\x8b\xcc\ -\x00\x00\x12\x6c\x00\x00\x00\x00\x00\x01\x00\x05\x56\xbe\ +\x00\x00\x10\xe0\x00\x00\x00\x00\x00\x01\x00\x05\x0f\x1c\ \x00\x00\x01\x9d\x48\x7c\x8b\xce\ -\x00\x00\x12\x8c\x00\x00\x00\x00\x00\x01\x00\x05\x5b\x13\ +\x00\x00\x11\x00\x00\x00\x00\x00\x00\x01\x00\x05\x13\x71\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x12\xac\x00\x00\x00\x00\x00\x01\x00\x05\x60\x97\ +\x00\x00\x11\x20\x00\x00\x00\x00\x00\x01\x00\x05\x18\xf5\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x12\xcc\x00\x00\x00\x00\x00\x01\x00\x05\x66\x30\ +\x00\x00\x11\x40\x00\x00\x00\x00\x00\x01\x00\x05\x1e\x8e\ \x00\x00\x01\x9d\x48\x7c\x8b\xce\ -\x00\x00\x12\xfe\x00\x00\x00\x00\x00\x01\x00\x05\x6b\x32\ +\x00\x00\x11\x72\x00\x00\x00\x00\x00\x01\x00\x05\x23\x90\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x13\x1e\x00\x00\x00\x00\x00\x01\x00\x05\x70\xcb\ +\x00\x00\x11\x92\x00\x00\x00\x00\x00\x01\x00\x05\x29\x29\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x13\x52\x00\x00\x00\x00\x00\x01\x00\x05\x7b\x3f\ +\x00\x00\x11\xc6\x00\x00\x00\x00\x00\x01\x00\x05\x33\x9d\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x13\x86\x00\x00\x00\x00\x00\x01\x00\x05\x85\xb9\ +\x00\x00\x11\xfa\x00\x00\x00\x00\x00\x01\x00\x05\x3e\x17\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x13\xba\x00\x00\x00\x00\x00\x01\x00\x05\x90\x18\ +\x00\x00\x12\x2e\x00\x00\x00\x00\x00\x01\x00\x05\x48\x76\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x13\xee\x00\x00\x00\x00\x00\x01\x00\x05\x9b\x63\ +\x00\x00\x12\x62\x00\x00\x00\x00\x00\x01\x00\x05\x53\xc1\ \x00\x00\x01\x9d\x48\x7c\x8b\xcd\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa5\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x9d\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x0b\x00\x00\x00\xa6\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x09\x00\x00\x00\x9e\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x14\x22\x00\x00\x00\x00\x00\x01\x00\x05\xa5\xd7\ +\x00\x00\x12\x96\x00\x00\x00\x00\x00\x01\x00\x05\x5e\x35\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x14\x52\x00\x00\x00\x00\x00\x01\x00\x05\xaf\x6d\ +\x00\x00\x12\xc6\x00\x00\x00\x00\x00\x01\x00\x05\x67\xcb\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x14\x82\x00\x00\x00\x00\x00\x01\x00\x05\xbb\x49\ +\x00\x00\x12\xf6\x00\x00\x00\x00\x00\x01\x00\x05\x73\xa7\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x14\xa6\x00\x00\x00\x00\x00\x01\x00\x05\xc1\x8d\ +\x00\x00\x13\x1a\x00\x00\x00\x00\x00\x01\x00\x05\x79\xeb\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x14\xd0\x00\x00\x00\x00\x00\x01\x00\x05\xc9\x16\ +\x00\x00\x13\x44\x00\x00\x00\x00\x00\x01\x00\x05\x81\x74\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x14\xfc\x00\x00\x00\x00\x00\x01\x00\x05\xcf\x74\ +\x00\x00\x13\x70\x00\x00\x00\x00\x00\x01\x00\x05\x87\xd2\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x15\x32\x00\x01\x00\x00\x00\x01\x00\x05\xd7\x63\ +\x00\x00\x13\xa6\x00\x01\x00\x00\x00\x01\x00\x05\x8f\xc1\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x0b\x9a\x00\x00\x00\x00\x00\x01\x00\x05\xdb\x76\ -\x00\x00\x01\x9e\xdf\x66\x3b\xf9\ -\x00\x00\x15\x50\x00\x00\x00\x00\x00\x01\x00\x05\xe1\x49\ -\x00\x00\x01\x9e\xdf\x64\x88\xf8\ -\x00\x00\x0b\xae\x00\x00\x00\x00\x00\x01\x00\x05\xe7\xd6\ -\x00\x00\x01\x9e\xdf\x66\x3b\xf9\ -\x00\x00\x15\x6e\x00\x00\x00\x00\x00\x01\x00\x05\xf3\x50\ +\x00\x00\x13\xc4\x00\x00\x00\x00\x00\x01\x00\x05\x93\xd4\ +\x00\x00\x01\x9f\xa9\x7c\x2e\x18\ +\x00\x00\x13\xe2\x00\x00\x00\x00\x00\x01\x00\x05\x9a\x61\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb2\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa8\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb3\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xa9\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x15\x96\x00\x00\x00\x00\x00\x01\x00\x05\xfb\x1a\ +\x00\x00\x14\x0a\x00\x00\x00\x00\x00\x01\x00\x05\xa2\x2b\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xb5\ +\x00\x00\x01\xa0\x00\x02\x00\x00\x00\x01\x00\x00\x00\xab\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x2b\x00\x00\x00\xb6\ +\x00\x00\x01\xb0\x00\x02\x00\x00\x00\x2b\x00\x00\x00\xac\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x15\xb6\x00\x00\x00\x00\x00\x01\x00\x05\xff\xe0\ +\x00\x00\x14\x2a\x00\x00\x00\x00\x00\x01\x00\x05\xa6\xf1\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x15\xcc\x00\x00\x00\x00\x00\x01\x00\x06\x07\x94\ +\x00\x00\x14\x40\x00\x00\x00\x00\x00\x01\x00\x05\xae\xa5\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x15\xe4\x00\x00\x00\x00\x00\x01\x00\x06\x09\xb9\ +\x00\x00\x14\x58\x00\x00\x00\x00\x00\x01\x00\x05\xb0\xca\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x16\x1c\x00\x00\x00\x00\x00\x01\x00\x06\x0b\x39\ +\x00\x00\x14\x90\x00\x00\x00\x00\x00\x01\x00\x05\xb2\x4a\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x16\x38\x00\x00\x00\x00\x00\x01\x00\x06\x12\xe6\ +\x00\x00\x14\xac\x00\x00\x00\x00\x00\x01\x00\x05\xb9\xf7\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x16\x58\x00\x00\x00\x00\x00\x01\x00\x06\x17\xbb\ +\x00\x00\x14\xcc\x00\x00\x00\x00\x00\x01\x00\x05\xbe\xcc\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x16\x6e\x00\x00\x00\x00\x00\x01\x00\x06\x18\xab\ +\x00\x00\x14\xe2\x00\x00\x00\x00\x00\x01\x00\x05\xbf\xbc\ \x00\x00\x01\x9d\x48\x7c\x8b\xce\ -\x00\x00\x16\x94\x00\x00\x00\x00\x00\x01\x00\x06\x1b\xd7\ +\x00\x00\x15\x08\x00\x00\x00\x00\x00\x01\x00\x05\xc2\xe8\ \x00\x00\x01\x9c\xe2\x99\x3f\x60\ -\x00\x00\x16\xaa\x00\x00\x00\x00\x00\x01\x00\x06\x20\x00\ +\x00\x00\x15\x1e\x00\x00\x00\x00\x00\x01\x00\x05\xc7\x11\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x16\xd0\x00\x00\x00\x00\x00\x01\x00\x06\x26\x37\ +\x00\x00\x15\x44\x00\x00\x00\x00\x00\x01\x00\x05\xcd\x48\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x16\xea\x00\x00\x00\x00\x00\x01\x00\x06\x3b\x44\ +\x00\x00\x15\x5e\x00\x00\x00\x00\x00\x01\x00\x05\xe2\x55\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\x0c\x00\x00\x00\x00\x00\x01\x00\x06\x40\x34\ +\x00\x00\x15\x80\x00\x00\x00\x00\x00\x01\x00\x05\xe7\x45\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\x22\x00\x00\x00\x00\x00\x01\x00\x06\x43\x33\ +\x00\x00\x15\x96\x00\x00\x00\x00\x00\x01\x00\x05\xea\x44\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\x38\x00\x00\x00\x00\x00\x01\x00\x06\x49\x3d\ +\x00\x00\x15\xac\x00\x00\x00\x00\x00\x01\x00\x05\xf0\x4e\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\x6a\x00\x00\x00\x00\x00\x01\x00\x06\x4c\x8c\ +\x00\x00\x15\xde\x00\x00\x00\x00\x00\x01\x00\x05\xf3\x9d\ \x00\x00\x01\x9d\x48\x7c\x8b\xcb\ -\x00\x00\x17\x82\x00\x00\x00\x00\x00\x01\x00\x06\x4f\x7e\ +\x00\x00\x15\xf6\x00\x00\x00\x00\x00\x01\x00\x05\xf6\x8f\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\x98\x00\x00\x00\x00\x00\x01\x00\x06\x55\x75\ +\x00\x00\x16\x0c\x00\x00\x00\x00\x00\x01\x00\x05\xfc\x86\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\xac\x00\x00\x00\x00\x00\x01\x00\x06\x57\x86\ +\x00\x00\x16\x20\x00\x00\x00\x00\x00\x01\x00\x05\xfe\x97\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\xc4\x00\x00\x00\x00\x00\x01\x00\x06\x5b\x49\ +\x00\x00\x16\x38\x00\x00\x00\x00\x00\x01\x00\x06\x02\x5a\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x17\xea\x00\x00\x00\x00\x00\x01\x00\x06\x64\xfd\ +\x00\x00\x16\x5e\x00\x00\x00\x00\x00\x01\x00\x06\x0c\x0e\ \x00\x00\x01\x9d\x48\x7c\x8b\xd4\ -\x00\x00\x18\x08\x00\x00\x00\x00\x00\x01\x00\x06\x6a\xc5\ +\x00\x00\x16\x7c\x00\x00\x00\x00\x00\x01\x00\x06\x11\xd6\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\x32\x00\x00\x00\x00\x00\x01\x00\x06\x6e\x13\ +\x00\x00\x16\xa6\x00\x00\x00\x00\x00\x01\x00\x06\x15\x24\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\x54\x00\x00\x00\x00\x00\x01\x00\x06\x71\xa1\ +\x00\x00\x16\xc8\x00\x00\x00\x00\x00\x01\x00\x06\x18\xb2\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\x7a\x00\x00\x00\x00\x00\x01\x00\x06\x76\x42\ +\x00\x00\x16\xee\x00\x00\x00\x00\x00\x01\x00\x06\x1d\x53\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\x8e\x00\x00\x00\x00\x00\x01\x00\x06\x80\x14\ +\x00\x00\x17\x02\x00\x00\x00\x00\x00\x01\x00\x06\x27\x25\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\xba\x00\x00\x00\x00\x00\x01\x00\x06\x85\x5e\ +\x00\x00\x17\x2e\x00\x00\x00\x00\x00\x01\x00\x06\x2c\x6f\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\xe2\x00\x00\x00\x00\x00\x01\x00\x06\x8b\x65\ +\x00\x00\x17\x56\x00\x00\x00\x00\x00\x01\x00\x06\x32\x76\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x18\xf8\x00\x00\x00\x00\x00\x01\x00\x06\x8c\x49\ +\x00\x00\x17\x6c\x00\x00\x00\x00\x00\x01\x00\x06\x33\x5a\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\x24\x00\x00\x00\x00\x00\x01\x00\x06\x8e\x92\ +\x00\x00\x17\x98\x00\x00\x00\x00\x00\x01\x00\x06\x35\xa3\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\x3a\x00\x00\x00\x00\x00\x01\x00\x06\x95\x42\ +\x00\x00\x17\xae\x00\x00\x00\x00\x00\x01\x00\x06\x3c\x53\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\x56\x00\x00\x00\x00\x00\x01\x00\x06\x98\x86\ +\x00\x00\x17\xca\x00\x00\x00\x00\x00\x01\x00\x06\x3f\x97\ \x00\x00\x01\x9d\x48\x7c\x8b\xd4\ -\x00\x00\x19\x8a\x00\x00\x00\x00\x00\x01\x00\x06\x9f\x6c\ +\x00\x00\x17\xfe\x00\x00\x00\x00\x00\x01\x00\x06\x46\x7d\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\xa2\x00\x00\x00\x00\x00\x01\x00\x06\xa0\x98\ +\x00\x00\x18\x16\x00\x00\x00\x00\x00\x01\x00\x06\x47\xa9\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\xbc\x00\x00\x00\x00\x00\x01\x00\x06\xa6\x59\ +\x00\x00\x18\x30\x00\x00\x00\x00\x00\x01\x00\x06\x4d\x6a\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\xde\x00\x00\x00\x00\x00\x01\x00\x06\xa7\x7b\ +\x00\x00\x18\x52\x00\x00\x00\x00\x00\x01\x00\x06\x4e\x8c\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x19\xfc\x00\x00\x00\x00\x00\x01\x00\x06\xad\x6e\ +\x00\x00\x18\x70\x00\x00\x00\x00\x00\x01\x00\x06\x54\x7f\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\x1c\x00\x00\x00\x00\x00\x01\x00\x06\xb0\x72\ +\x00\x00\x18\x90\x00\x00\x00\x00\x00\x01\x00\x06\x57\x83\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\x3e\x00\x00\x00\x00\x00\x01\x00\x06\xb1\x93\ +\x00\x00\x18\xb2\x00\x00\x00\x00\x00\x01\x00\x06\x58\xa4\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\x5e\x00\x00\x00\x00\x00\x01\x00\x06\xb4\x67\ +\x00\x00\x18\xd2\x00\x00\x00\x00\x00\x01\x00\x06\x5b\x78\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\x8c\x00\x00\x00\x00\x00\x01\x00\x06\xbc\xd3\ +\x00\x00\x19\x00\x00\x00\x00\x00\x00\x01\x00\x06\x63\xe4\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\xb0\x00\x00\x00\x00\x00\x01\x00\x06\xc4\x93\ +\x00\x00\x19\x24\x00\x00\x00\x00\x00\x01\x00\x06\x6b\xa4\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\xd4\x00\x00\x00\x00\x00\x01\x00\x06\xc9\xae\ +\x00\x00\x19\x48\x00\x00\x00\x00\x00\x01\x00\x06\x70\xbf\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ -\x00\x00\x1a\xfc\x00\x00\x00\x00\x00\x01\x00\x06\xcb\x01\ +\x00\x00\x19\x70\x00\x00\x00\x00\x00\x01\x00\x06\x72\x12\ \x00\x00\x01\x9a\x72\xe1\x92\x28\ " diff --git a/BlocksScreen/lib/ui/resources/system_resources.qrc b/BlocksScreen/lib/ui/resources/system_resources.qrc deleted file mode 100644 index f5f47ecc..00000000 --- a/BlocksScreen/lib/ui/resources/system_resources.qrc +++ /dev/null @@ -1,9 +0,0 @@ - - - - - media/btn_icons/restart_klipper.svg - - - - \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/system_resources_rc.py b/BlocksScreen/lib/ui/resources/system_resources_rc.py deleted file mode 100644 index 6773b1a9..00000000 --- a/BlocksScreen/lib/ui/resources/system_resources_rc.py +++ /dev/null @@ -1,623 +0,0 @@ -# -*- coding: utf-8 -*- - -# Resource object code -# -# Created by: The Resource Compiler for PyQt5 (Qt v5.15.18) -# -# WARNING! All changes made in this file will be lost! - -from PyQt6 import QtCore - -qt_resource_data = b"\ -\x00\x00\x22\x80\ -\x3c\ -\x73\x76\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\ -\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ -\x30\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\ -\x22\x30\x20\x30\x20\x36\x30\x30\x20\x36\x30\x30\x22\x3e\x3c\x64\ -\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\x63\x6c\x73\x2d\ -\x31\x7b\x66\x69\x6c\x6c\x3a\x23\x65\x30\x65\x30\x64\x66\x3b\x7d\ -\x2e\x63\x6c\x73\x2d\x32\x7b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x30\x39\x2e\x34\x38\x2c\ -\x33\x36\x37\x2e\x32\x35\x56\x31\x38\x39\x2e\x37\x34\x48\x33\x38\ -\x37\x56\x33\x36\x37\x2e\x32\x35\x5a\x6d\x38\x39\x2e\x31\x33\x2d\ -\x31\x37\x31\x2e\x36\x34\x71\x2d\x33\x34\x2e\x36\x31\x2c\x30\x2d\ -\x36\x39\x2e\x32\x32\x2c\x30\x63\x2d\x36\x2e\x39\x32\x2c\x30\x2d\ -\x31\x32\x2e\x35\x37\x2c\x34\x2e\x34\x34\x2d\x31\x33\x2e\x37\x31\ -\x2c\x31\x31\x2e\x32\x36\x2d\x2e\x35\x36\x2c\x33\x2e\x33\x38\x2d\ -\x2e\x32\x36\x2c\x36\x2e\x39\x2d\x2e\x33\x2c\x31\x30\x2e\x33\x35\ -\x2c\x30\x2c\x32\x2e\x32\x34\x2e\x38\x31\x2c\x33\x2e\x31\x2c\x33\ -\x2c\x33\x2e\x33\x61\x38\x2e\x33\x31\x2c\x38\x2e\x33\x31\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x30\x2c\x31\x36\x2e\x36\x63\x2d\x32\x2e\x32\ -\x34\x2e\x32\x31\x2d\x33\x2e\x30\x36\x2c\x31\x2e\x30\x36\x2d\x33\ -\x2e\x30\x36\x2c\x33\x2e\x33\x71\x30\x2c\x35\x33\x2e\x38\x31\x2c\ -\x30\x2c\x31\x30\x37\x2e\x36\x32\x41\x31\x33\x2e\x37\x2c\x31\x33\ -\x2e\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x32\x39\x2c\x33\x36\x31\ -\x2e\x37\x71\x36\x39\x2e\x33\x39\x2c\x30\x2c\x31\x33\x38\x2e\x37\ -\x38\x2c\x30\x61\x31\x33\x2e\x33\x34\x2c\x31\x33\x2e\x33\x34\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x31\x33\x2e\x32\x38\x2d\x31\x30\x2e\x39\ -\x33\x63\x2e\x35\x38\x2d\x33\x2e\x34\x33\x2e\x33\x32\x2d\x37\x2c\ -\x2e\x33\x38\x2d\x31\x30\x2e\x35\x31\x2c\x30\x2d\x32\x2e\x34\x35\ -\x2d\x2e\x37\x32\x2d\x33\x2e\x32\x32\x2d\x33\x2e\x32\x32\x2d\x33\ -\x2e\x34\x38\x61\x38\x2e\x33\x2c\x38\x2e\x33\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x2e\x31\x37\x2d\x31\x36\x2e\x35\x37\x63\x32\x2e\x38\x33\ -\x2d\x2e\x33\x32\x2c\x33\x2e\x34\x2d\x31\x2c\x33\x2e\x34\x2d\x33\ -\x2e\x38\x34\x71\x30\x2d\x35\x33\x2e\x31\x32\x2c\x30\x2d\x31\x30\ -\x36\x2e\x32\x33\x63\x30\x2d\x38\x2e\x36\x38\x2d\x35\x2e\x38\x35\ -\x2d\x31\x34\x2e\x35\x33\x2d\x31\x34\x2e\x35\x33\x2d\x31\x34\x2e\ -\x35\x33\x51\x33\x33\x32\x2e\x37\x39\x2c\x31\x39\x35\x2e\x35\x39\ -\x2c\x32\x39\x38\x2e\x36\x31\x2c\x31\x39\x35\x2e\x36\x31\x5a\x22\ -\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x32\x30\x2e\x39\x31\ -\x2c\x32\x31\x35\x2e\x31\x38\x63\x30\x2d\x32\x2e\x31\x32\x2d\x2e\ -\x31\x2d\x34\x2e\x31\x34\x2c\x30\x2d\x36\x2e\x31\x34\x61\x38\x2e\ -\x33\x31\x2c\x38\x2e\x33\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x38\x2e\ -\x32\x39\x2d\x37\x2e\x38\x39\x63\x32\x2e\x37\x31\x2d\x2e\x30\x37\ -\x2c\x35\x2e\x34\x32\x2c\x30\x2c\x38\x2e\x31\x34\x2c\x30\x68\x36\ -\x39\x2e\x33\x37\x63\x30\x2c\x34\x2e\x32\x31\x2c\x30\x2c\x38\x2e\ -\x32\x38\x2d\x2e\x30\x35\x2c\x31\x32\x2e\x33\x36\x2c\x30\x2c\x2e\ -\x35\x37\x2d\x2e\x36\x32\x2c\x31\x2e\x31\x39\x2d\x31\x2e\x30\x36\ -\x2c\x31\x2e\x37\x2d\x34\x2e\x37\x35\x2c\x35\x2e\x35\x37\x2d\x39\ -\x2e\x35\x36\x2c\x31\x31\x2e\x30\x39\x2d\x31\x34\x2e\x32\x34\x2c\ -\x31\x36\x2e\x37\x32\x61\x35\x2e\x35\x37\x2c\x35\x2e\x35\x37\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x32\x2c\x33\x2e\x32\x33\x63\x2d\ -\x2e\x31\x32\x2c\x36\x2e\x31\x31\x2d\x2e\x30\x36\x2c\x31\x32\x2e\ -\x32\x32\x2d\x2e\x30\x36\x2c\x31\x38\x2e\x34\x37\x68\x2d\x35\x2e\ -\x35\x35\x63\x30\x2d\x32\x2e\x33\x36\x2d\x2e\x31\x31\x2d\x34\x2e\ -\x37\x36\x2c\x30\x2d\x37\x2e\x31\x35\x2e\x31\x34\x2d\x32\x2e\x31\ -\x33\x2d\x2e\x37\x38\x2d\x33\x2e\x32\x36\x2d\x32\x2e\x36\x37\x2d\ -\x34\x2e\x30\x38\x2d\x37\x2d\x33\x2d\x31\x34\x2d\x36\x2e\x32\x32\ -\x2d\x32\x31\x2d\x39\x2e\x32\x37\x61\x31\x2e\x38\x2c\x31\x2e\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x33\x2d\x32\x63\x2e\x30\x38\ -\x2d\x32\x2e\x32\x34\x2e\x30\x38\x2d\x34\x2e\x35\x2c\x30\x2d\x36\ -\x2e\x37\x34\x61\x32\x2c\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\ -\x32\x34\x2d\x32\x2e\x31\x33\x2c\x38\x2e\x33\x31\x2c\x38\x2e\x33\ -\x31\x2c\x30\x2c\x31\x2c\x30\x2d\x38\x2c\x30\x2c\x32\x2e\x31\x32\ -\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x33\x31\ -\x2c\x32\x2e\x32\x36\x63\x2d\x2e\x30\x37\x2c\x33\x2c\x2e\x30\x35\ -\x2c\x36\x2e\x31\x31\x2c\x30\x2c\x39\x2e\x31\x37\x61\x33\x2e\x34\ -\x39\x2c\x33\x2e\x34\x39\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x2e\x34\ -\x34\x2c\x33\x2e\x36\x39\x63\x37\x2e\x30\x36\x2c\x33\x2e\x30\x38\ -\x2c\x31\x34\x2e\x30\x38\x2c\x36\x2e\x32\x37\x2c\x32\x31\x2e\x31\ -\x35\x2c\x39\x2e\x33\x35\x61\x31\x2e\x39\x2c\x31\x2e\x39\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x31\x2e\x33\x38\x2c\x32\x2e\x31\x37\x63\x2d\ -\x2e\x31\x2c\x31\x2e\x35\x35\x2c\x30\x2c\x33\x2e\x31\x31\x2c\x30\ -\x2c\x34\x2e\x35\x38\x2d\x31\x2e\x36\x2e\x33\x37\x2d\x33\x2e\x35\ -\x34\x2e\x32\x36\x2d\x34\x2e\x35\x32\x2c\x31\x2e\x31\x38\x73\x2d\ -\x31\x2c\x32\x2e\x38\x36\x2d\x31\x2e\x35\x2c\x34\x2e\x36\x37\x63\ -\x2d\x33\x2d\x2e\x32\x33\x2d\x36\x2e\x36\x32\x2c\x31\x2d\x39\x2e\ -\x37\x32\x2d\x31\x2e\x37\x36\x61\x33\x32\x2e\x37\x33\x2c\x33\x32\ -\x2e\x37\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x34\x2e\x35\x38\x2d\x33\ -\x2e\x30\x38\x63\x2d\x31\x2e\x36\x33\x2d\x31\x2d\x33\x2e\x31\x38\ -\x2d\x2e\x38\x31\x2d\x34\x2e\x31\x31\x2e\x35\x35\x73\x2d\x2e\x35\ -\x35\x2c\x33\x2c\x31\x2e\x30\x39\x2c\x34\x2e\x31\x33\x63\x2e\x32\ -\x38\x2e\x32\x2e\x36\x2e\x33\x36\x2e\x38\x36\x2e\x35\x38\x2c\x34\ -\x2e\x36\x35\x2c\x34\x2c\x39\x2e\x38\x36\x2c\x36\x2e\x32\x31\x2c\ -\x31\x36\x2e\x31\x33\x2c\x35\x2e\x31\x36\x61\x32\x2e\x38\x36\x2c\ -\x32\x2e\x38\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x37\x31\x2e\x30\ -\x39\x63\x30\x2c\x2e\x32\x38\x2e\x30\x39\x2e\x34\x39\x2e\x30\x39\ -\x2e\x37\x31\x2c\x30\x2c\x31\x2e\x34\x39\x2c\x30\x2c\x33\x2c\x30\ -\x2c\x34\x2e\x37\x34\x68\x2d\x31\x2e\x37\x32\x63\x2d\x35\x2e\x30\ -\x38\x2c\x30\x2d\x31\x30\x2e\x31\x35\x2c\x30\x2d\x31\x35\x2e\x32\ -\x33\x2c\x30\x61\x34\x2e\x37\x2c\x34\x2e\x37\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x32\x2e\x35\x2d\x2e\x38\x31\x63\x2d\x32\x2e\x34\x31\x2d\ -\x31\x2e\x36\x37\x2d\x34\x2e\x37\x2d\x33\x2e\x35\x32\x2d\x37\x2e\ -\x30\x39\x2d\x35\x2e\x32\x33\x61\x32\x2e\x34\x31\x2c\x32\x2e\x34\ -\x31\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x31\x38\x2d\x32\x2e\x32\ -\x37\x63\x2e\x30\x38\x2d\x32\x2e\x34\x32\x2e\x30\x39\x2d\x34\x2e\ -\x38\x35\x2c\x30\x2d\x37\x2e\x32\x36\x61\x32\x2c\x32\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x31\x2e\x32\x38\x2d\x32\x2e\x31\x2c\x38\x2e\x33\ -\x32\x2c\x38\x2e\x33\x32\x2c\x30\x2c\x31\x2c\x30\x2d\x38\x2c\x30\ -\x2c\x32\x2e\x31\x32\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x31\x2e\x32\x37\x2c\x32\x2e\x32\x38\x63\x2d\x2e\x30\x36\x2c\ -\x33\x2e\x31\x31\x2d\x2e\x31\x34\x2c\x36\x2e\x32\x34\x2e\x30\x35\ -\x2c\x39\x2e\x33\x34\x61\x34\x2e\x36\x39\x2c\x34\x2e\x36\x39\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x34\x36\x2c\x33\x63\x33\x2e\x33\ -\x31\x2c\x32\x2e\x36\x39\x2c\x36\x2e\x37\x35\x2c\x35\x2e\x32\x31\ -\x2c\x31\x30\x2e\x32\x32\x2c\x37\x2e\x36\x39\x61\x35\x2c\x35\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x32\x2e\x36\x39\x2e\x38\x35\x63\x36\x2e\ -\x31\x37\x2e\x30\x38\x2c\x31\x32\x2e\x33\x34\x2c\x30\x2c\x31\x38\ -\x2e\x36\x35\x2c\x30\x76\x35\x2e\x34\x35\x63\x2d\x2e\x34\x35\x2c\ -\x30\x2d\x2e\x39\x34\x2e\x31\x2d\x31\x2e\x34\x34\x2e\x31\x2d\x39\ -\x2e\x32\x39\x2c\x30\x2d\x31\x38\x2e\x35\x37\x2c\x30\x2d\x32\x37\ -\x2e\x38\x36\x2c\x30\x41\x32\x2c\x32\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x32\x34\x32\x2c\x32\x38\x30\x2e\x32\x61\x38\x2e\x32\x39\x2c\x38\ -\x2e\x32\x39\x2c\x30\x2c\x31\x2c\x30\x2d\x39\x2e\x32\x38\x2c\x31\ -\x32\x2e\x30\x36\x2c\x38\x2e\x33\x36\x2c\x38\x2e\x33\x36\x2c\x30\ -\x2c\x30\x2c\x30\x2c\x39\x2e\x33\x31\x2d\x34\x63\x2e\x33\x33\x2d\ -\x2e\x35\x34\x2c\x31\x2d\x31\x2e\x32\x34\x2c\x31\x2e\x35\x32\x2d\ -\x31\x2e\x32\x35\x2c\x39\x2e\x39\x31\x2d\x2e\x30\x37\x2c\x31\x39\ -\x2e\x38\x33\x2d\x2e\x30\x35\x2c\x32\x39\x2e\x38\x37\x2d\x2e\x30\ -\x35\x76\x35\x2e\x35\x35\x63\x2d\x33\x2e\x33\x31\x2c\x30\x2d\x36\ -\x2e\x36\x35\x2e\x31\x38\x2d\x31\x30\x2d\x2e\x30\x36\x61\x31\x30\ -\x2e\x38\x31\x2c\x31\x30\x2e\x38\x31\x2c\x30\x2c\x30\x2c\x30\x2d\ -\x38\x2e\x35\x2c\x32\x2e\x38\x32\x2c\x39\x33\x2e\x30\x39\x2c\x39\ -\x33\x2e\x30\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x37\x2e\x34\x35\x2c\ -\x35\x2e\x36\x32\x2c\x33\x2e\x36\x38\x2c\x33\x2e\x36\x38\x2c\x30\ -\x2c\x30\x2c\x30\x2d\x31\x2e\x36\x37\x2c\x33\x2e\x33\x36\x63\x2e\ -\x30\x37\x2c\x33\x2e\x31\x38\x2c\x30\x2c\x36\x2e\x33\x35\x2c\x30\ -\x2c\x39\x2e\x35\x32\x61\x31\x2e\x37\x38\x2c\x31\x2e\x37\x38\x2c\ -\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x30\x39\x2c\x31\x2e\x38\x37\x2c\ -\x38\x2e\x33\x32\x2c\x38\x2e\x33\x32\x2c\x30\x2c\x31\x2c\x30\x2c\ -\x37\x2e\x37\x33\x2e\x30\x35\x2c\x31\x2e\x38\x39\x2c\x31\x2e\x38\ -\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x31\x36\x2d\x32\x63\x2e\ -\x30\x36\x2d\x32\x2e\x35\x34\x2c\x30\x2d\x35\x2e\x30\x38\x2e\x30\ -\x36\x2d\x37\x2e\x36\x32\x61\x34\x2e\x31\x31\x2c\x34\x2e\x31\x31\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x38\x33\x2d\x31\x2e\x37\x31\x63\ -\x2e\x31\x34\x2d\x2e\x32\x33\x2e\x34\x35\x2d\x2e\x33\x34\x2e\x36\ -\x39\x2d\x2e\x35\x31\x2c\x32\x2e\x35\x39\x2d\x31\x2e\x39\x32\x2c\ -\x34\x2e\x39\x34\x2d\x34\x2e\x38\x32\x2c\x37\x2e\x38\x33\x2d\x35\ -\x2e\x35\x32\x2c\x34\x2d\x2e\x39\x35\x2c\x38\x2e\x33\x34\x2d\x2e\ -\x32\x34\x2c\x31\x32\x2e\x34\x32\x2d\x2e\x32\x34\x2e\x33\x37\x2c\ -\x31\x2e\x35\x39\x2e\x32\x39\x2c\x33\x2e\x35\x33\x2c\x31\x2e\x32\ -\x32\x2c\x34\x2e\x34\x39\x73\x32\x2e\x38\x37\x2c\x31\x2c\x34\x2e\ -\x36\x36\x2c\x31\x2e\x34\x35\x63\x30\x2c\x33\x2e\x37\x37\x2c\x30\ -\x2c\x37\x2e\x39\x2c\x30\x2c\x31\x32\x2c\x30\x2c\x2e\x34\x38\x2d\ -\x2e\x35\x34\x2c\x31\x2d\x2e\x39\x31\x2c\x31\x2e\x34\x31\x2d\x34\ -\x2e\x37\x39\x2c\x35\x2e\x36\x32\x2d\x39\x2e\x36\x34\x2c\x31\x31\ -\x2e\x31\x38\x2d\x31\x34\x2e\x33\x36\x2c\x31\x36\x2e\x38\x36\x61\ -\x35\x2e\x38\x35\x2c\x35\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x30\x2d\ -\x31\x2e\x32\x33\x2c\x33\x2e\x33\x39\x63\x2d\x2e\x31\x33\x2c\x35\ -\x2e\x35\x33\x2d\x2e\x30\x36\x2c\x31\x31\x2e\x30\x37\x2d\x2e\x30\ -\x36\x2c\x31\x36\x2e\x36\x76\x31\x2e\x37\x38\x48\x32\x34\x38\x2e\ -\x35\x38\x63\x30\x2d\x2e\x39\x32\x2c\x30\x2d\x31\x2e\x38\x37\x2c\ -\x30\x2d\x32\x2e\x38\x32\x2d\x2e\x30\x37\x2d\x33\x2e\x31\x2e\x36\ -\x35\x2d\x36\x2e\x35\x34\x2d\x2e\x34\x37\x2d\x39\x2e\x32\x31\x73\ -\x2d\x34\x2d\x34\x2e\x36\x31\x2d\x36\x2e\x32\x31\x2d\x36\x2e\x38\ -\x32\x63\x2d\x32\x2e\x34\x32\x2d\x32\x2e\x34\x37\x2d\x34\x2e\x39\ -\x32\x2d\x34\x2e\x38\x38\x2d\x37\x2e\x33\x32\x2d\x37\x2e\x33\x36\ -\x61\x34\x2e\x32\x33\x2c\x34\x2e\x32\x33\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x33\x2e\x33\x36\x2d\x31\x2e\x34\x63\x2d\x33\x2e\x33\x39\x2e\ -\x30\x37\x2d\x36\x2e\x37\x37\x2c\x30\x2d\x31\x30\x2e\x32\x34\x2c\ -\x30\x56\x32\x34\x32\x2e\x34\x34\x61\x31\x34\x2c\x31\x34\x2c\x30\ -\x2c\x30\x2c\x30\x2c\x31\x31\x2d\x31\x34\x2e\x36\x35\x43\x32\x33\ -\x31\x2e\x36\x37\x2c\x32\x32\x32\x2c\x32\x32\x37\x2e\x35\x35\x2c\ -\x32\x31\x37\x2e\x31\x36\x2c\x32\x32\x30\x2e\x39\x31\x2c\x32\x31\ -\x35\x2e\x31\x38\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\ -\x33\x32\x33\x2e\x34\x33\x2c\x32\x38\x31\x2e\x33\x35\x76\x2d\x35\ -\x2e\x34\x37\x68\x35\x2e\x32\x31\x63\x36\x2e\x32\x39\x2c\x30\x2c\ -\x31\x32\x2e\x35\x38\x2e\x30\x35\x2c\x31\x38\x2e\x38\x37\x2d\x2e\ -\x30\x35\x61\x35\x2e\x34\x37\x2c\x35\x2e\x34\x37\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x33\x2e\x31\x31\x2d\x31\x2e\x30\x38\x63\x34\x2e\x33\ -\x2d\x33\x2e\x32\x39\x2c\x38\x2e\x34\x39\x2d\x36\x2e\x37\x34\x2c\ -\x31\x32\x2e\x37\x34\x2d\x31\x30\x2e\x30\x39\x61\x33\x2e\x36\x37\ -\x2c\x33\x2e\x36\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x35\x34\ -\x2d\x33\x2e\x32\x37\x63\x2d\x2e\x30\x37\x2d\x32\x2e\x31\x39\x2c\ -\x30\x2d\x34\x2e\x33\x38\x2c\x30\x2d\x36\x2e\x35\x37\x61\x32\x2c\ -\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x31\ -\x35\x41\x38\x2e\x32\x37\x2c\x38\x2e\x32\x37\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x33\x36\x32\x2c\x32\x33\x37\x2e\x31\x31\x61\x38\x2e\x32\ -\x37\x2c\x38\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2d\x33\x2e\x38\ -\x31\x2c\x31\x35\x2e\x35\x38\x2c\x32\x2e\x31\x39\x2c\x32\x2e\x31\ -\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x32\x2c\x32\x63\x2e\x36\ -\x37\x2c\x34\x2e\x33\x31\x2d\x2e\x36\x38\x2c\x37\x2e\x34\x34\x2d\ -\x34\x2e\x35\x36\x2c\x39\x2e\x37\x32\x2d\x32\x2e\x34\x31\x2c\x31\ -\x2e\x34\x31\x2d\x34\x2e\x34\x33\x2c\x33\x2e\x34\x39\x2d\x36\x2e\ -\x36\x37\x2c\x35\x2e\x32\x61\x33\x2e\x33\x37\x2c\x33\x2e\x33\x37\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x33\x2e\x37\x34\x63\x2d\ -\x37\x2e\x34\x34\x2c\x30\x2d\x31\x34\x2e\x38\x38\x2c\x30\x2d\x32\ -\x32\x2e\x33\x32\x2c\x30\x61\x33\x2c\x33\x2c\x30\x2c\x30\x2c\x31\ -\x2d\x2e\x35\x38\x2d\x2e\x31\x33\x76\x2d\x35\x2e\x34\x31\x68\x31\ -\x2e\x37\x38\x63\x34\x2e\x37\x33\x2c\x30\x2c\x39\x2e\x34\x36\x2c\ -\x30\x2c\x31\x34\x2e\x31\x39\x2c\x30\x2c\x32\x2e\x33\x38\x2c\x30\ -\x2c\x33\x2e\x33\x31\x2d\x2e\x39\x35\x2c\x33\x2e\x33\x32\x2d\x33\ -\x2e\x33\x36\x2c\x30\x2d\x35\x2c\x30\x2d\x31\x30\x2c\x30\x2d\x31\ -\x35\x2e\x30\x36\x61\x31\x2e\x39\x2c\x31\x2e\x39\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x31\x2e\x31\x37\x2d\x32\x2c\x38\x2e\x33\x32\x2c\x38\ -\x2e\x33\x32\x2c\x30\x2c\x31\x2c\x30\x2d\x37\x2e\x38\x38\x2c\x30\ -\x2c\x32\x2c\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x32\x33\x2c\ -\x32\x2e\x31\x34\x63\x2d\x2e\x30\x37\x2c\x34\x2e\x30\x39\x2c\x30\ -\x2c\x38\x2e\x31\x39\x2d\x2e\x30\x36\x2c\x31\x32\x2e\x32\x38\x61\ -\x31\x2e\x37\x37\x2c\x31\x2e\x37\x37\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x2e\x31\x34\x2e\x34\x31\x48\x33\x32\x33\x2e\x35\x31\x63\x2d\x2e\ -\x37\x31\x2d\x35\x2e\x32\x35\x2d\x2e\x37\x31\x2d\x35\x2e\x32\x35\ -\x2d\x35\x2e\x37\x2d\x35\x2e\x35\x32\x61\x35\x35\x2c\x35\x35\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x30\x2d\x36\x2e\x32\x39\x2c\x31\x32\x2e\ -\x36\x39\x2c\x31\x32\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x34\ -\x2e\x30\x35\x2d\x31\x31\x2e\x32\x33\x63\x34\x2e\x30\x36\x2d\x34\ -\x2e\x30\x37\x2c\x37\x2e\x35\x34\x2d\x38\x2e\x37\x31\x2c\x31\x31\ -\x2e\x33\x33\x2d\x31\x33\x2e\x30\x35\x61\x35\x2c\x35\x2c\x30\x2c\ -\x30\x2c\x30\x2c\x31\x2e\x33\x2d\x33\x2e\x36\x63\x2d\x2e\x30\x36\ -\x2d\x36\x2e\x30\x35\x2c\x30\x2d\x31\x32\x2e\x31\x2c\x30\x2d\x31\ -\x38\x2e\x32\x36\x68\x31\x33\x2e\x38\x36\x63\x30\x2c\x33\x2e\x34\ -\x32\x2e\x30\x35\x2c\x36\x2e\x38\x31\x2c\x30\x2c\x31\x30\x2e\x31\ -\x39\x61\x34\x2e\x32\x36\x2c\x34\x2e\x32\x36\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x31\x2e\x33\x38\x2c\x33\x2e\x33\x36\x63\x34\x2e\x32\x38\ -\x2c\x34\x2e\x32\x31\x2c\x38\x2e\x34\x36\x2c\x38\x2e\x35\x32\x2c\ -\x31\x32\x2e\x37\x38\x2c\x31\x32\x2e\x36\x37\x61\x35\x2e\x33\x38\ -\x2c\x35\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x33\x2e\x31\x37\ -\x2c\x31\x2e\x33\x63\x33\x2e\x33\x38\x2e\x31\x36\x2c\x36\x2e\x37\ -\x38\x2e\x30\x36\x2c\x31\x30\x2e\x32\x38\x2e\x30\x36\x76\x38\x35\ -\x2e\x39\x35\x63\x2d\x37\x2e\x31\x31\x2c\x32\x2e\x32\x37\x2d\x31\ -\x31\x2e\x33\x35\x2c\x37\x2d\x31\x30\x2e\x38\x39\x2c\x31\x34\x2e\ -\x37\x2e\x33\x39\x2c\x36\x2e\x37\x36\x2c\x34\x2e\x35\x33\x2c\x31\ -\x30\x2e\x38\x2c\x31\x31\x2c\x31\x32\x2e\x37\x31\x2c\x30\x2c\x32\ -\x2e\x30\x37\x2e\x31\x33\x2c\x34\x2e\x31\x35\x2c\x30\x2c\x36\x2e\ -\x32\x31\x2d\x2e\x33\x35\x2c\x34\x2e\x36\x32\x2d\x33\x2e\x39\x32\ -\x2c\x37\x2e\x37\x37\x2d\x38\x2e\x37\x35\x2c\x37\x2e\x37\x39\x2d\ -\x38\x2e\x32\x34\x2c\x30\x2d\x31\x36\x2e\x34\x39\x2c\x30\x2d\x32\ -\x34\x2e\x37\x34\x2c\x30\x68\x2d\x35\x32\x2e\x33\x63\x30\x2d\x33\ -\x2e\x32\x34\x2e\x31\x33\x2d\x36\x2e\x34\x2d\x2e\x30\x35\x2d\x39\ -\x2e\x35\x33\x61\x37\x2e\x33\x36\x2c\x37\x2e\x33\x36\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x32\x2e\x31\x2d\x35\x2e\x37\x31\x63\x34\x2e\x35\ -\x38\x2d\x35\x2e\x31\x2c\x39\x2d\x31\x30\x2e\x33\x35\x2c\x31\x33\ -\x2e\x33\x39\x2d\x31\x35\x2e\x36\x33\x61\x35\x2e\x33\x37\x2c\x35\ -\x2e\x33\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x31\x32\x2d\x33\ -\x2e\x30\x39\x63\x2e\x31\x31\x2d\x35\x2e\x35\x33\x2e\x30\x35\x2d\ -\x31\x31\x2e\x30\x37\x2e\x30\x35\x2d\x31\x36\x2e\x36\x31\x76\x2d\ -\x31\x2e\x39\x35\x68\x35\x2e\x35\x35\x76\x31\x2e\x36\x32\x63\x30\ -\x2c\x33\x2e\x38\x36\x2c\x30\x2c\x37\x2e\x37\x33\x2c\x30\x2c\x31\ -\x31\x2e\x35\x39\x61\x33\x2e\x34\x2c\x33\x2e\x34\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x31\x2e\x38\x32\x2c\x33\x2e\x32\x35\x63\x33\x2e\x36\ -\x38\x2c\x32\x2e\x31\x37\x2c\x37\x2e\x33\x34\x2c\x34\x2e\x33\x34\ -\x2c\x31\x30\x2e\x39\x35\x2c\x36\x2e\x36\x31\x61\x33\x2e\x38\x34\ -\x2c\x33\x2e\x38\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x30\x37\ -\x2c\x31\x2e\x38\x36\x2c\x35\x2e\x32\x37\x2c\x35\x2e\x32\x37\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x30\x2c\x31\x2e\x33\x38\x63\x2e\x31\x38\ -\x2c\x32\x2e\x35\x33\x2e\x31\x32\x2c\x34\x2e\x36\x31\x2d\x32\x2e\ -\x36\x36\x2c\x36\x2e\x32\x37\x2d\x33\x2c\x31\x2e\x38\x31\x2d\x33\ -\x2e\x36\x34\x2c\x36\x2d\x32\x2e\x32\x35\x2c\x39\x2e\x33\x32\x61\ -\x38\x2e\x32\x35\x2c\x38\x2e\x32\x35\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x38\x2e\x37\x36\x2c\x35\x2e\x30\x36\x2c\x38\x2e\x33\x37\x2c\x38\ -\x2e\x33\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x37\x2e\x30\x36\x2d\x36\ -\x2e\x34\x37\x2c\x38\x2e\x31\x2c\x38\x2e\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2d\x33\x2e\x38\x39\x2d\x38\x2e\x38\x37\x2c\x32\x2e\x34\x36\ -\x2c\x32\x2e\x34\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x32\ -\x2d\x32\x2e\x36\x37\x63\x2e\x31\x2d\x31\x2e\x39\x35\x2d\x2e\x30\ -\x38\x2d\x33\x2e\x39\x32\x2e\x30\x35\x2d\x35\x2e\x38\x38\x61\x33\ -\x2e\x39\x33\x2c\x33\x2e\x39\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x32\ -\x2e\x33\x31\x2d\x34\x63\x2d\x33\x2e\x35\x2d\x32\x2d\x36\x2e\x39\ -\x32\x2d\x34\x2e\x31\x36\x2d\x31\x30\x2e\x34\x2d\x36\x2e\x31\x38\ -\x61\x32\x2c\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x31\x39\x2d\ -\x32\x63\x2e\x30\x37\x2d\x33\x2e\x35\x37\x2c\x30\x2d\x37\x2e\x31\ -\x34\x2c\x30\x2d\x31\x30\x2e\x35\x35\x2c\x31\x2e\x36\x35\x2d\x2e\ -\x34\x2c\x33\x2e\x35\x39\x2d\x2e\x33\x32\x2c\x34\x2e\x35\x36\x2d\ -\x31\x2e\x32\x35\x73\x2e\x39\x35\x2d\x32\x2e\x38\x37\x2c\x31\x2e\ -\x34\x34\x2d\x34\x2e\x36\x37\x68\x35\x2e\x32\x39\x63\x33\x2e\x36\ -\x33\x2c\x30\x2c\x37\x2e\x32\x37\x2d\x2e\x30\x36\x2c\x31\x30\x2e\ -\x39\x2e\x30\x35\x61\x33\x2e\x34\x2c\x33\x2e\x34\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x32\x2e\x30\x38\x2c\x31\x2e\x30\x37\x63\x2e\x39\x35\ -\x2c\x31\x2c\x31\x2e\x35\x37\x2c\x32\x2e\x33\x2c\x32\x2e\x35\x35\ -\x2c\x33\x2e\x32\x36\x61\x31\x32\x2e\x37\x2c\x31\x32\x2e\x37\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x33\x2e\x36\x39\x2c\x31\x31\x2e\x32\x38\ -\x2c\x32\x2e\x31\x34\x2c\x32\x2e\x31\x34\x2c\x30\x2c\x30\x2c\x31\ -\x2d\x31\x2e\x31\x38\x2c\x32\x2c\x38\x2e\x32\x37\x2c\x38\x2e\x32\ -\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x33\x2e\x39\x35\x2c\x31\x35\x2e\ -\x35\x38\x41\x38\x2e\x32\x37\x2c\x38\x2e\x32\x37\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x33\x35\x35\x2c\x33\x31\x35\x2e\x37\x33\x61\x31\x2e\ -\x38\x36\x2c\x31\x2e\x38\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\ -\x32\x32\x2d\x32\x2e\x31\x34\x63\x30\x2d\x2e\x31\x31\x2c\x30\x2d\ -\x2e\x32\x33\x2c\x30\x2d\x2e\x33\x34\x41\x31\x35\x2e\x38\x38\x2c\ -\x31\x35\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x33\x34\x39\x2e\ -\x30\x38\x2c\x32\x39\x39\x61\x33\x37\x2e\x35\x38\x2c\x33\x37\x2e\ -\x35\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x33\x2e\x36\x34\x2d\x34\x2e\ -\x38\x32\x2c\x33\x2e\x37\x31\x2c\x33\x2e\x37\x31\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x33\x2e\x33\x35\x2d\x31\x2e\x37\x63\x2d\x36\x2e\x31\ -\x37\x2e\x30\x36\x2d\x31\x32\x2e\x33\x34\x2c\x30\x2d\x31\x38\x2e\ -\x36\x32\x2c\x30\x76\x2d\x35\x2e\x34\x36\x63\x2e\x35\x2c\x30\x2c\ -\x31\x2d\x2e\x30\x39\x2c\x31\x2e\x35\x2d\x2e\x30\x39\x2c\x39\x2e\ -\x32\x33\x2c\x30\x2c\x31\x38\x2e\x34\x36\x2c\x30\x2c\x32\x37\x2e\ -\x36\x39\x2c\x30\x61\x32\x2e\x31\x35\x2c\x32\x2e\x31\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x32\x2e\x32\x36\x2c\x31\x2e\x33\x2c\x38\x2e\ -\x32\x39\x2c\x38\x2e\x32\x39\x2c\x30\x2c\x31\x2c\x30\x2c\x39\x2e\ -\x32\x2d\x31\x32\x2e\x31\x32\x2c\x38\x2e\x32\x32\x2c\x38\x2e\x32\ -\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x39\x2e\x32\x34\x2c\x34\x2e\x30\ -\x38\x63\x2d\x2e\x34\x31\x2e\x37\x34\x2d\x2e\x37\x31\x2c\x31\x2e\ -\x32\x38\x2d\x31\x2e\x37\x36\x2c\x31\x2e\x32\x37\x2d\x39\x2e\x36\ -\x33\x2c\x30\x2d\x31\x39\x2e\x32\x36\x2c\x30\x2d\x32\x38\x2e\x39\ -\x2c\x30\x43\x33\x32\x34\x2c\x32\x38\x31\x2e\x34\x33\x2c\x33\x32\ -\x33\x2e\x37\x38\x2c\x32\x38\x31\x2e\x33\x38\x2c\x33\x32\x33\x2e\ -\x34\x33\x2c\x32\x38\x31\x2e\x33\x35\x5a\x22\x2f\x3e\x3c\x70\x61\ -\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\ -\x20\x64\x3d\x22\x4d\x33\x30\x31\x2e\x32\x31\x2c\x32\x35\x33\x2e\ -\x36\x37\x68\x2d\x35\x2e\x35\x35\x63\x30\x2d\x34\x2e\x32\x37\x2e\ -\x32\x37\x2d\x38\x2e\x34\x38\x2d\x2e\x30\x38\x2d\x31\x32\x2e\x36\ -\x34\x73\x31\x2d\x37\x2e\x30\x36\x2c\x33\x2e\x37\x33\x2d\x31\x30\ -\x63\x34\x2e\x31\x36\x2d\x34\x2e\x33\x38\x2c\x38\x2d\x39\x2e\x31\ -\x2c\x31\x31\x2e\x38\x32\x2d\x31\x33\x2e\x37\x36\x61\x35\x2e\x31\ -\x35\x2c\x35\x2e\x31\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x30\ -\x39\x2d\x32\x2e\x39\x33\x63\x2e\x31\x32\x2d\x34\x2e\x33\x32\x2c\ -\x30\x2d\x38\x2e\x36\x34\x2c\x30\x2d\x31\x33\x2e\x31\x68\x35\x2e\ -\x34\x37\x63\x30\x2c\x2e\x35\x2e\x30\x38\x2c\x31\x2c\x2e\x30\x38\ -\x2c\x31\x2e\x36\x31\x2c\x30\x2c\x34\x2d\x2e\x30\x35\x2c\x38\x2e\ -\x30\x37\x2c\x30\x2c\x31\x32\x2e\x31\x61\x34\x2e\x32\x35\x2c\x34\ -\x2e\x32\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x31\x38\x2c\x33\ -\x2e\x30\x38\x63\x2d\x34\x2e\x38\x2c\x35\x2e\x35\x33\x2d\x39\x2e\ -\x35\x38\x2c\x31\x31\x2e\x30\x37\x2d\x31\x34\x2e\x32\x37\x2c\x31\ -\x36\x2e\x36\x39\x61\x35\x2e\x32\x39\x2c\x35\x2e\x32\x39\x2c\x30\ -\x2c\x30\x2c\x30\x2d\x31\x2e\x31\x34\x2c\x33\x2e\x30\x38\x43\x33\ -\x30\x31\x2e\x31\x35\x2c\x32\x34\x33\x2e\x30\x36\x2c\x33\x30\x31\ -\x2e\x32\x31\x2c\x32\x34\x38\x2e\x33\x2c\x33\x30\x31\x2e\x32\x31\ -\x2c\x32\x35\x33\x2e\x36\x37\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\ -\x3d\x22\x4d\x33\x32\x33\x2e\x33\x35\x2c\x32\x30\x31\x2e\x32\x31\ -\x68\x35\x2e\x35\x35\x76\x31\x2e\x36\x35\x63\x30\x2c\x35\x2c\x2e\ -\x30\x35\x2c\x31\x30\x2c\x30\x2c\x31\x35\x61\x34\x2e\x37\x39\x2c\ -\x34\x2e\x37\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2c\x32\x2e\x37\ -\x34\x71\x2d\x37\x2c\x38\x2e\x33\x34\x2d\x31\x34\x2e\x31\x37\x2c\ -\x31\x36\x2e\x35\x35\x61\x35\x2e\x33\x34\x2c\x35\x2e\x33\x34\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x39\x2c\x33\x2e\x39\x63\x2e\ -\x30\x37\x2c\x34\x2e\x31\x35\x2c\x30\x2c\x38\x2e\x32\x39\x2c\x30\ -\x2c\x31\x32\x2e\x35\x34\x68\x2d\x35\x2e\x35\x35\x63\x30\x2d\x34\ -\x2e\x32\x32\x2e\x30\x38\x2d\x38\x2e\x34\x31\x2c\x30\x2d\x31\x32\ -\x2e\x35\x39\x61\x36\x2e\x35\x33\x2c\x36\x2e\x35\x33\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x31\x2e\x37\x38\x2d\x34\x2e\x39\x34\x63\x34\x2e\ -\x36\x2d\x35\x2e\x31\x37\x2c\x39\x2d\x31\x30\x2e\x35\x2c\x31\x33\ -\x2e\x35\x35\x2d\x31\x35\x2e\x37\x32\x61\x35\x2c\x35\x2c\x30\x2c\ -\x30\x2c\x30\x2c\x31\x2e\x33\x34\x2d\x33\x2e\x35\x37\x63\x2d\x2e\ -\x30\x37\x2d\x34\x2e\x36\x31\x2c\x30\x2d\x39\x2e\x32\x32\x2c\x30\ -\x2d\x31\x33\x2e\x38\x34\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\ -\x22\x4d\x32\x36\x38\x2c\x33\x35\x36\x2e\x30\x38\x63\x30\x2d\x34\ -\x2e\x32\x35\x2e\x32\x38\x2d\x38\x2e\x34\x37\x2d\x2e\x30\x38\x2d\ -\x31\x32\x2e\x36\x33\x73\x31\x2d\x37\x2e\x30\x35\x2c\x33\x2e\x37\ -\x34\x2d\x31\x30\x63\x34\x2e\x31\x36\x2d\x34\x2e\x33\x38\x2c\x38\ -\x2d\x39\x2e\x31\x31\x2c\x31\x31\x2e\x38\x32\x2d\x31\x33\x2e\x37\ -\x37\x61\x35\x2e\x30\x38\x2c\x35\x2e\x30\x38\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x31\x2e\x30\x38\x2d\x32\x2e\x39\x33\x63\x2e\x31\x32\x2d\ -\x34\x2e\x33\x31\x2e\x30\x35\x2d\x38\x2e\x36\x34\x2e\x30\x35\x2d\ -\x31\x33\x2e\x30\x39\x68\x35\x2e\x35\x35\x76\x31\x2e\x38\x63\x30\ -\x2c\x33\x2d\x2e\x32\x33\x2c\x36\x2c\x2e\x30\x36\x2c\x39\x2c\x2e\ -\x33\x34\x2c\x33\x2e\x33\x38\x2d\x2e\x38\x36\x2c\x35\x2e\x38\x34\ -\x2d\x33\x2e\x31\x2c\x38\x2e\x32\x38\x2d\x34\x2e\x33\x2c\x34\x2e\ -\x36\x36\x2d\x38\x2e\x33\x34\x2c\x39\x2e\x35\x35\x2d\x31\x32\x2e\ -\x33\x39\x2c\x31\x34\x2e\x34\x33\x61\x35\x2e\x33\x35\x2c\x35\x2e\ -\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x31\x33\x2c\x33\x2e\ -\x30\x38\x63\x2d\x2e\x31\x31\x2c\x35\x2e\x32\x33\x2d\x2e\x30\x35\ -\x2c\x31\x30\x2e\x34\x37\x2d\x2e\x30\x35\x2c\x31\x35\x2e\x38\x5a\ -\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x39\x35\x2e\x36\ -\x36\x2c\x33\x30\x33\x2e\x36\x34\x68\x35\x2e\x35\x35\x76\x33\x2e\ -\x32\x39\x63\x30\x2c\x32\x2e\x33\x37\x2c\x30\x2c\x34\x2e\x37\x33\ -\x2c\x30\x2c\x37\x2e\x30\x39\x2c\x30\x2c\x32\x2e\x36\x35\x2e\x35\ -\x37\x2c\x35\x2e\x35\x33\x2d\x2e\x33\x2c\x37\x2e\x38\x36\x53\x32\ -\x39\x37\x2e\x36\x37\x2c\x33\x32\x36\x2c\x32\x39\x36\x2c\x33\x32\ -\x38\x63\x2d\x33\x2e\x33\x33\x2c\x33\x2e\x39\x2d\x36\x2e\x36\x34\ -\x2c\x37\x2e\x38\x32\x2d\x31\x30\x2c\x31\x31\x2e\x36\x37\x61\x35\ -\x2e\x31\x31\x2c\x35\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x31\ -\x2e\x33\x35\x2c\x33\x2e\x37\x35\x63\x2e\x30\x37\x2c\x34\x2e\x31\ -\x39\x2c\x30\x2c\x38\x2e\x33\x38\x2c\x30\x2c\x31\x32\x2e\x36\x36\ -\x48\x32\x37\x39\x56\x33\x35\x32\x63\x30\x2d\x33\x2e\x32\x38\x2d\ -\x2e\x30\x37\x2d\x36\x2e\x35\x37\x2c\x30\x2d\x39\x2e\x38\x35\x61\ -\x34\x2e\x38\x33\x2c\x34\x2e\x38\x33\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x31\x2d\x32\x2e\x37\x34\x71\x37\x2d\x38\x2e\x33\x35\x2c\x31\x34\ -\x2e\x31\x36\x2d\x31\x36\x2e\x35\x35\x61\x35\x2e\x34\x2c\x35\x2e\ -\x34\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x34\x2d\x33\x2e\x39\x31\ -\x43\x32\x39\x35\x2e\x36\x32\x2c\x33\x31\x33\x2e\x39\x33\x2c\x32\ -\x39\x35\x2e\x36\x36\x2c\x33\x30\x38\x2e\x38\x37\x2c\x32\x39\x35\ -\x2e\x36\x36\x2c\x33\x30\x33\x2e\x36\x34\x5a\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\ -\x22\x20\x64\x3d\x22\x4d\x33\x37\x35\x2e\x38\x34\x2c\x32\x32\x33\ -\x2e\x32\x39\x63\x2d\x33\x2e\x31\x2c\x30\x2d\x36\x2e\x30\x38\x2c\ -\x30\x2d\x39\x2e\x30\x37\x2c\x30\x61\x32\x2e\x34\x38\x2c\x32\x2e\ -\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x34\x34\x2d\x2e\x37\ -\x34\x63\x2d\x33\x2e\x36\x2d\x33\x2e\x35\x36\x2d\x37\x2e\x31\x39\ -\x2d\x37\x2e\x31\x34\x2d\x31\x30\x2e\x37\x33\x2d\x31\x30\x2e\x37\ -\x35\x61\x32\x2e\x35\x39\x2c\x32\x2e\x35\x39\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x2e\x37\x36\x2d\x31\x2e\x36\x63\x2d\x2e\x30\x37\x2d\x32\ -\x2e\x39\x33\x2c\x30\x2d\x35\x2e\x38\x36\x2c\x30\x2d\x38\x2e\x39\ -\x31\x68\x35\x2e\x35\x35\x61\x34\x37\x2e\x35\x2c\x34\x37\x2e\x35\ -\x2c\x30\x2c\x30\x2c\x30\x2c\x30\x2c\x34\x2e\x39\x32\x2c\x34\x2e\ -\x39\x33\x2c\x34\x2e\x39\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\ -\x30\x38\x2c\x32\x2e\x37\x33\x71\x33\x2e\x37\x2c\x34\x2c\x37\x2e\ -\x36\x39\x2c\x37\x2e\x36\x39\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x32\x2e\x37\x34\x2c\x31\x2e\x30\x39\x2c\x34\x34\x2e\x36\ -\x35\x2c\x34\x34\x2e\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x34\x2e\ -\x39\x33\x2e\x30\x35\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x64\x3d\x22\ -\x4d\x32\x34\x33\x2e\x30\x36\x2c\x33\x35\x36\x2e\x31\x31\x68\x2d\ -\x35\x2e\x35\x35\x63\x30\x2d\x31\x2e\x37\x31\x2e\x31\x31\x2d\x33\ -\x2e\x34\x32\x2c\x30\x2d\x35\x2e\x31\x31\x61\x34\x2e\x36\x37\x2c\ -\x34\x2e\x36\x37\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x30\x35\x2d\ -\x32\x2e\x35\x38\x63\x2d\x32\x2e\x34\x38\x2d\x32\x2e\x36\x34\x2d\ -\x35\x2d\x35\x2e\x32\x32\x2d\x37\x2e\x36\x39\x2d\x37\x2e\x36\x39\ -\x61\x35\x2e\x30\x37\x2c\x35\x2e\x30\x37\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x32\x2e\x37\x33\x2d\x31\x2e\x31\x31\x2c\x34\x35\x2e\x31\x37\ -\x2c\x34\x35\x2e\x31\x37\x2c\x30\x2c\x30\x2c\x30\x2d\x35\x2d\x2e\ -\x30\x35\x56\x33\x33\x34\x63\x33\x2e\x30\x39\x2c\x30\x2c\x36\x2e\ -\x32\x33\x2c\x30\x2c\x39\x2e\x33\x37\x2c\x30\x61\x31\x2e\x37\x36\ -\x2c\x31\x2e\x37\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2c\x2e\x35\ -\x39\x63\x33\x2e\x36\x38\x2c\x33\x2e\x36\x35\x2c\x37\x2e\x33\x35\ -\x2c\x37\x2e\x33\x2c\x31\x31\x2c\x31\x31\x61\x32\x2e\x34\x31\x2c\ -\x32\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x37\x2c\x31\ -\x2e\x34\x37\x43\x32\x34\x33\x2e\x30\x39\x2c\x33\x35\x30\x2c\x32\ -\x34\x33\x2e\x30\x36\x2c\x33\x35\x33\x2c\x32\x34\x33\x2e\x30\x36\ -\x2c\x33\x35\x36\x2e\x31\x31\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x64\ -\x3d\x22\x4d\x33\x37\x35\x2e\x38\x36\x2c\x32\x31\x32\x63\x2d\x32\ -\x2e\x37\x32\x2e\x36\x33\x2d\x34\x2e\x39\x35\x2e\x31\x38\x2d\x36\ -\x2e\x36\x2d\x32\x2e\x31\x35\x61\x38\x2e\x38\x2c\x38\x2e\x38\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x32\x2e\x30\x37\x2d\x32\x2e\x30\x36\x63\ -\x2d\x32\x2e\x33\x35\x2d\x31\x2e\x36\x35\x2d\x32\x2e\x37\x34\x2d\ -\x33\x2e\x39\x2d\x32\x2e\x31\x36\x2d\x36\x2e\x35\x43\x33\x37\x31\ -\x2e\x31\x33\x2c\x32\x30\x30\x2e\x30\x38\x2c\x33\x37\x36\x2e\x39\ -\x34\x2c\x32\x30\x34\x2e\x31\x33\x2c\x33\x37\x35\x2e\x38\x36\x2c\ -\x32\x31\x32\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x64\x3d\x22\x4d\x32\ -\x33\x31\x2e\x38\x32\x2c\x33\x35\x36\x2e\x31\x31\x63\x2d\x37\x2e\ -\x36\x39\x2e\x34\x38\x2d\x31\x31\x2e\x35\x38\x2d\x33\x2e\x34\x35\ -\x2d\x31\x30\x2e\x37\x39\x2d\x31\x30\x2e\x38\x39\x2c\x32\x2e\x33\ -\x34\x2d\x2e\x33\x2c\x34\x2e\x36\x2d\x2e\x35\x31\x2c\x36\x2e\x32\ -\x34\x2c\x31\x2e\x38\x35\x61\x31\x30\x2e\x36\x35\x2c\x31\x30\x2e\ -\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x2e\x35\x35\x2c\x32\x2e\ -\x35\x35\x43\x32\x33\x32\x2e\x31\x34\x2c\x33\x35\x31\x2e\x32\x37\ -\x2c\x32\x33\x32\x2e\x33\x32\x2c\x33\x35\x33\x2e\x35\x31\x2c\x32\ -\x33\x31\x2e\x38\x32\x2c\x33\x35\x36\x2e\x31\x31\x5a\x22\x2f\x3e\ -\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ -\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x35\x39\x2e\x36\x35\x2c\x32\ -\x31\x34\x2e\x38\x39\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\x2c\ -\x30\x2c\x31\x2c\x31\x2d\x32\x2e\x38\x34\x2d\x32\x2e\x36\x37\x41\ -\x32\x2e\x39\x2c\x32\x2e\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x35\ -\x39\x2e\x36\x35\x2c\x32\x31\x34\x2e\x38\x39\x5a\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x31\x22\x20\x64\x3d\x22\x4d\x33\x33\x39\x2e\x39\x31\x2c\x32\x33\ -\x39\x2e\x38\x38\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\x2c\x30\ -\x2c\x31\x2c\x31\x2c\x32\x2e\x38\x31\x2d\x32\x2e\x37\x31\x41\x32\ -\x2e\x38\x38\x2c\x32\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x33\ -\x33\x39\x2e\x39\x31\x2c\x32\x33\x39\x2e\x38\x38\x5a\x22\x2f\x3e\ -\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ -\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x34\x35\x2e\x38\x31\x2c\x32\ -\x34\x35\x2e\x33\x35\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\x2c\ -\x30\x2c\x31\x2c\x31\x2d\x32\x2e\x38\x34\x2d\x32\x2e\x36\x38\x41\ -\x32\x2e\x39\x31\x2c\x32\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x32\x34\x35\x2e\x38\x31\x2c\x32\x34\x35\x2e\x33\x35\x5a\x22\x2f\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x32\x22\x20\x64\x3d\x22\x4d\x33\x36\x34\x2e\x38\x37\x2c\ -\x32\x34\x35\x2e\x33\x35\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\ -\x2c\x30\x2c\x31\x2c\x31\x2d\x32\x2e\x38\x34\x2d\x32\x2e\x36\x38\ -\x41\x32\x2e\x39\x2c\x32\x2e\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x33\ -\x36\x34\x2e\x38\x37\x2c\x32\x34\x35\x2e\x33\x35\x5a\x22\x2f\x3e\ -\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ -\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x33\x34\x2e\x38\x31\x2c\x32\ -\x38\x31\x2e\x34\x34\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\x2c\ -\x30\x2c\x31\x2c\x31\x2d\x32\x2e\x38\x32\x2c\x32\x2e\x36\x39\x41\ -\x32\x2e\x38\x38\x2c\x32\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x32\x33\x34\x2e\x38\x31\x2c\x32\x38\x31\x2e\x34\x34\x5a\x22\x2f\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x32\x22\x20\x64\x3d\x22\x4d\x33\x36\x34\x2e\x38\x37\x2c\ -\x32\x38\x34\x2e\x31\x31\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\ -\x2c\x30\x2c\x31\x2c\x31\x2d\x32\x2e\x38\x33\x2d\x32\x2e\x36\x38\ -\x41\x32\x2e\x38\x39\x2c\x32\x2e\x38\x39\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x33\x36\x34\x2e\x38\x37\x2c\x32\x38\x34\x2e\x31\x31\x5a\x22\ -\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x34\x38\x2e\x35\x33\ -\x2c\x33\x32\x35\x2e\x37\x31\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\ -\x36\x2c\x30\x2c\x31\x2c\x31\x2c\x32\x2e\x38\x32\x2d\x32\x2e\x37\ -\x41\x32\x2e\x38\x37\x2c\x32\x2e\x38\x37\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x32\x34\x38\x2e\x35\x33\x2c\x33\x32\x35\x2e\x37\x31\x5a\x22\ -\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x32\x22\x20\x64\x3d\x22\x4d\x33\x35\x31\x2c\x33\x32\ -\x35\x2e\x37\x31\x41\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\x2c\x30\ -\x2c\x31\x2c\x31\x2c\x33\x35\x33\x2e\x38\x2c\x33\x32\x33\x2c\x32\ -\x2e\x39\x2c\x32\x2e\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x33\x35\x31\ -\x2c\x33\x32\x35\x2e\x37\x31\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x64\ -\x3d\x22\x4d\x33\x33\x31\x2e\x36\x35\x2c\x33\x34\x32\x2e\x33\x35\ -\x61\x32\x2e\x37\x36\x2c\x32\x2e\x37\x36\x2c\x30\x2c\x31\x2c\x31\ -\x2d\x32\x2e\x37\x34\x2d\x32\x2e\x37\x37\x41\x32\x2e\x39\x2c\x32\ -\x2e\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x33\x33\x31\x2e\x36\x35\x2c\ -\x33\x34\x32\x2e\x33\x35\x5a\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\ -\x22\x4d\x32\x32\x31\x2e\x31\x34\x2c\x34\x37\x30\x2e\x38\x37\x63\ -\x31\x30\x2e\x35\x36\x2d\x31\x30\x2e\x35\x39\x2c\x32\x30\x2e\x38\ -\x34\x2d\x32\x30\x2e\x37\x36\x2c\x33\x30\x2e\x39\x32\x2d\x33\x31\ -\x2e\x31\x32\x2c\x31\x2e\x38\x32\x2d\x31\x2e\x38\x37\x2c\x33\x2e\ -\x34\x39\x2d\x32\x2c\x35\x2e\x36\x34\x2d\x31\x2e\x33\x37\x61\x31\ -\x35\x32\x2e\x33\x38\x2c\x31\x35\x32\x2e\x33\x38\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x35\x38\x2e\x38\x31\x2c\x34\x2e\x36\x37\x63\x34\x32\ -\x2e\x34\x37\x2d\x34\x2e\x37\x34\x2c\x37\x38\x2e\x33\x35\x2d\x32\ -\x32\x2e\x38\x38\x2c\x31\x30\x37\x2e\x31\x32\x2d\x35\x34\x2e\x36\ -\x36\x61\x31\x36\x33\x2e\x31\x36\x2c\x31\x36\x33\x2e\x31\x36\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x33\x39\x2e\x31\x35\x2d\x37\x37\x2e\x31\ -\x2c\x31\x36\x31\x2e\x33\x31\x2c\x31\x36\x31\x2e\x33\x31\x2c\x30\ -\x2c\x30\x2c\x30\x2c\x32\x2e\x31\x36\x2d\x35\x33\x2e\x33\x39\x63\ -\x2d\x34\x2e\x34\x39\x2d\x33\x36\x2e\x33\x36\x2d\x31\x39\x2e\x34\ -\x34\x2d\x36\x37\x2e\x37\x31\x2d\x34\x34\x2e\x34\x32\x2d\x39\x34\ -\x2e\x32\x33\x2d\x32\x33\x2e\x33\x32\x2d\x32\x34\x2e\x37\x36\x2d\ -\x35\x31\x2e\x38\x31\x2d\x34\x30\x2e\x37\x34\x2d\x38\x35\x2d\x34\ -\x38\x2e\x32\x33\x61\x31\x35\x37\x2e\x33\x33\x2c\x31\x35\x37\x2e\ -\x33\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x35\x31\x2e\x37\x36\x2d\x33\ -\x2e\x31\x32\x63\x2d\x33\x31\x2e\x32\x36\x2c\x33\x2e\x34\x2d\x35\ -\x39\x2e\x35\x37\x2c\x31\x34\x2e\x34\x35\x2d\x38\x34\x2e\x35\x37\ -\x2c\x33\x33\x2e\x37\x39\x2d\x32\x39\x2e\x33\x31\x2c\x32\x32\x2e\ -\x36\x38\x2d\x34\x38\x2e\x39\x32\x2c\x35\x31\x2e\x38\x32\x2d\x35\ -\x39\x2e\x31\x34\x2c\x38\x37\x2e\x33\x38\x61\x31\x36\x38\x2e\x35\ -\x39\x2c\x31\x36\x38\x2e\x35\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x36\ -\x2e\x31\x2c\x34\x30\x2e\x39\x31\x63\x2d\x2e\x30\x39\x2c\x32\x2e\ -\x35\x35\x2d\x2e\x35\x37\x2c\x33\x2e\x34\x31\x2d\x33\x2e\x33\x31\ -\x2c\x33\x2e\x33\x38\x71\x2d\x31\x37\x2e\x36\x34\x2d\x2e\x32\x35\ -\x2d\x33\x35\x2e\x32\x39\x2c\x30\x63\x2d\x32\x2e\x36\x33\x2c\x30\ -\x2d\x33\x2e\x31\x2d\x2e\x38\x2d\x33\x2d\x33\x2e\x32\x41\x32\x30\ -\x38\x2e\x32\x39\x2c\x32\x30\x38\x2e\x32\x39\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x31\x35\x39\x2e\x37\x34\x2c\x31\x32\x34\x2e\x38\x61\x32\ -\x30\x35\x2e\x37\x34\x2c\x32\x30\x35\x2e\x37\x34\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x38\x35\x2e\x34\x37\x2d\x34\x37\x2e\x34\x33\x41\x32\ -\x31\x33\x2e\x39\x34\x2c\x32\x31\x33\x2e\x39\x34\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x32\x38\x35\x2c\x37\x30\x2e\x36\x32\x61\x32\x30\x34\ -\x2e\x38\x38\x2c\x32\x30\x34\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x33\x30\x2e\x32\x32\x2d\x2e\x34\x31\x2c\x32\x30\x30\x2e\x31\ -\x31\x2c\x32\x30\x30\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x35\ -\x33\x2e\x38\x35\x2c\x31\x31\x2e\x36\x34\x2c\x32\x30\x37\x2e\x38\ -\x38\x2c\x32\x30\x37\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x38\ -\x36\x2e\x38\x36\x2c\x35\x39\x2c\x32\x30\x35\x2e\x39\x31\x2c\x32\ -\x30\x35\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x31\x2e\x32\ -\x2c\x31\x35\x32\x2c\x32\x30\x31\x2e\x37\x39\x2c\x32\x30\x31\x2e\ -\x37\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x34\x31\x2e\x35\x31\x2c\x31\ -\x30\x39\x2e\x38\x33\x63\x2d\x33\x30\x2e\x37\x31\x2c\x34\x30\x2e\ -\x32\x38\x2d\x37\x31\x2c\x36\x36\x2e\x33\x2d\x31\x32\x30\x2e\x35\ -\x2c\x37\x37\x2e\x37\x31\x61\x31\x39\x35\x2c\x31\x39\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x36\x34\x2e\x32\x31\x2c\x34\x43\x32\x36\x30\ -\x2e\x36\x35\x2c\x34\x38\x32\x2e\x34\x2c\x32\x34\x30\x2e\x39\x32\ -\x2c\x34\x37\x37\x2e\x35\x38\x2c\x32\x32\x31\x2e\x31\x34\x2c\x34\ -\x37\x30\x2e\x38\x37\x5a\x22\x2f\x3e\x3c\x70\x6f\x6c\x79\x67\x6f\ -\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x70\x6f\x69\x6e\x74\x73\x3d\x22\x32\x34\x35\x2e\x35\x37\x20\x34\ -\x35\x31\x2e\x36\x20\x33\x30\x38\x2e\x38\x33\x20\x34\x31\x39\x2e\ -\x34\x35\x20\x32\x39\x34\x2e\x32\x38\x20\x33\x39\x30\x2e\x38\x34\ -\x20\x32\x30\x31\x2e\x39\x20\x34\x33\x37\x2e\x37\x39\x20\x32\x34\ -\x38\x2e\x38\x36\x20\x35\x33\x30\x2e\x31\x38\x20\x32\x37\x37\x2e\ -\x39\x38\x20\x35\x31\x35\x2e\x33\x38\x20\x32\x34\x35\x2e\x35\x37\ -\x20\x34\x35\x31\x2e\x36\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\ -" - -qt_resource_name = b"\ -\x00\x0c\ -\x0c\x3e\xf3\xd3\ -\x00\x73\ -\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x5f\x00\x69\x00\x63\x00\x6f\x00\x6e\x00\x73\ -\x00\x05\ -\x00\x73\xba\xf1\ -\x00\x6d\ -\x00\x65\x00\x64\x00\x69\x00\x61\ -\x00\x09\ -\x04\x5f\x79\x33\ -\x00\x62\ -\x00\x74\x00\x6e\x00\x5f\x00\x69\x00\x63\x00\x6f\x00\x6e\x00\x73\ -\x00\x13\ -\x01\x2b\x9b\x87\ -\x00\x72\ -\x00\x65\x00\x73\x00\x74\x00\x61\x00\x72\x00\x74\x00\x5f\x00\x6b\x00\x6c\x00\x69\x00\x70\x00\x70\x00\x65\x00\x72\x00\x2e\x00\x73\ -\x00\x76\x00\x67\ -" - -qt_resource_struct_v1 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00\x1e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ -\x00\x00\x00\x2e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\ -\x00\x00\x00\x46\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -" - -qt_resource_struct_v2 = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x1e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x2e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\ -\x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x46\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x9a\x72\xe1\x92\x28\ -" - -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/tests/panels/conftest.py b/tests/panels/conftest.py index 2c53f7ac..71665418 100644 --- a/tests/panels/conftest.py +++ b/tests/panels/conftest.py @@ -45,7 +45,6 @@ "lib.ui.resources.graphic_resources_rc", "lib.ui.resources.icon_resources_rc", "lib.ui.resources.main_menu_resources_rc", - "lib.ui.resources.system_resources_rc", "lib.ui.resources.top_bar_resources_rc", "lib.updater_worker", "screensaver", From 4ec11964d84f8470585b550f7c67717d8dce4160 Mon Sep 17 00:00:00 2001 From: Guilherme Costa Date: Tue, 1 Sep 2026 11:37:10 +0100 Subject: [PATCH 7/7] fix(topbar): render filament icons in the bundled Momcake face --- BlocksScreen/lib/panels/mainWindow.py | 3 + .../lib/panels/widgets/inputshaperPage.py | 6 +- .../lib/panels/widgets/sensorsPanel.py | 6 +- BlocksScreen/lib/panels/widgets/updatePage.py | 14 +- .../media/topbar/abs_filament_topbar.svg | 2 +- .../media/topbar/custom_filament_topbar.svg | 2 +- .../media/topbar/hips_filament_topbar.svg | 2 +- .../topbar/not_available_filament_topbar.svg | 2 +- .../media/topbar/nylon_filament_topbar.svg | 2 +- .../media/topbar/pc_filament_topbar.svg | 3 +- .../media/topbar/petg_filament_topbar.svg | 2 +- .../media/topbar/pla_filament_topbar.svg | 2 +- .../media/topbar/pp_filament_topbar.svg | 3 +- .../media/topbar/tpu_filament_topbar.svg | 2 +- .../lib/ui/resources/top_bar_resources_rc.py | 3166 ++++++++--------- BlocksScreen/lib/utils/fonts.py | 45 + tests/panels/conftest.py | 3 + tests/ui/test_resource_keys_unit.py | 84 +- 18 files changed, 1731 insertions(+), 1618 deletions(-) create mode 100644 BlocksScreen/lib/utils/fonts.py diff --git a/BlocksScreen/lib/panels/mainWindow.py b/BlocksScreen/lib/panels/mainWindow.py index b11ea055..2b9290ad 100644 --- a/BlocksScreen/lib/panels/mainWindow.py +++ b/BlocksScreen/lib/panels/mainWindow.py @@ -37,6 +37,7 @@ from lib.ui.resources.main_menu_resources_rc import * from lib.ui.resources.top_bar_resources_rc import * from lib.updater_worker import UpdaterWorker +from lib.utils.fonts import register_momcake from PyQt6 import QtCore, QtGui, QtWidgets from screensaver import ScreenSaver @@ -121,6 +122,8 @@ def __init__(self): """Set up UI, instantiate subsystems, and wire all inter-component signals.""" super(MainWindow, self).__init__() self.config: BlocksScreenConfig = get_configparser() + # Before setupUi: the topbar .svg icons carry text and paint on first show. + register_momcake() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.screensaver = ScreenSaver(self) diff --git a/BlocksScreen/lib/panels/widgets/inputshaperPage.py b/BlocksScreen/lib/panels/widgets/inputshaperPage.py index c5d046a9..addde31e 100644 --- a/BlocksScreen/lib/panels/widgets/inputshaperPage.py +++ b/BlocksScreen/lib/panels/widgets/inputshaperPage.py @@ -2,6 +2,7 @@ from lib.utils.blocks_button import BlocksCustomButton from lib.utils.blocks_frame import BlocksCustomFrame +from lib.utils.fonts import register_momcake from lib.utils.icon_button import IconButton from lib.utils.list_model import EntryDelegate, EntryListModel, ListItem from PyQt6 import QtCore, QtGui, QtWidgets @@ -135,10 +136,7 @@ def add_type_entry(self, cli_name: str, recommended: str = "") -> None: def _setupUI(self) -> None: """Setup UI for updatePage""" - font_id = QtGui.QFontDatabase.addApplicationFont( - ":/font/media/fonts for text/Momcake-Bold.ttf" - ) - font_family = QtGui.QFontDatabase.applicationFontFamilies(font_id)[0] + font_family = register_momcake() sizePolicy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding, diff --git a/BlocksScreen/lib/panels/widgets/sensorsPanel.py b/BlocksScreen/lib/panels/widgets/sensorsPanel.py index df63cfb5..b1823977 100644 --- a/BlocksScreen/lib/panels/widgets/sensorsPanel.py +++ b/BlocksScreen/lib/panels/widgets/sensorsPanel.py @@ -2,6 +2,7 @@ from lib.panels.widgets.sensorWidget import SensorWidget from lib.utils.blocks_frame import BlocksCustomFrame +from lib.utils.fonts import register_momcake from lib.utils.icon_button import IconButton from lib.utils.list_model import EntryDelegate, EntryListModel, ListItem from PyQt6 import QtCore, QtGui, QtWidgets @@ -130,10 +131,7 @@ def create_sensor_widget(self, name: str) -> SensorWidget: def _setupUi(self) -> None: """Setup UI for updatePage""" - font_id = QtGui.QFontDatabase.addApplicationFont( - ":/font/media/fonts for text/Momcake-Bold.ttf" - ) - font_family = QtGui.QFontDatabase.applicationFontFamilies(font_id)[0] + font_family = register_momcake() sizePolicy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding, diff --git a/BlocksScreen/lib/panels/widgets/updatePage.py b/BlocksScreen/lib/panels/widgets/updatePage.py index d08404fb..afe8e708 100644 --- a/BlocksScreen/lib/panels/widgets/updatePage.py +++ b/BlocksScreen/lib/panels/widgets/updatePage.py @@ -5,6 +5,7 @@ import typing from types import MappingProxyType +from lib.utils.fonts import register_momcake from PyQt6 import QtCore, QtGui, QtWidgets from BlocksScreen.lib.panels.widgets.basePopup import BasePopup @@ -492,15 +493,10 @@ def show_loading(self, loading: bool = False) -> None: self.disable_popups.emit(loading) def _setupUI(self) -> None: - bold_id = QtGui.QFontDatabase.addApplicationFont( - ":/font/media/fonts for text/Momcake-Bold.ttf" - ) - self._font_family = QtGui.QFontDatabase.applicationFontFamilies(bold_id)[0] - thin_id = QtGui.QFontDatabase.addApplicationFont( - ":/font/media/fonts for text/Momcake-Thin.ttf" - ) - thin_families = QtGui.QFontDatabase.applicationFontFamilies(thin_id) - _title_family = thin_families[0] if thin_families else "" + # Qt files the Thin and Bold faces under one family, so both ids gave the + # same name here; the weight is chosen per QFont, not per family. + self._font_family = register_momcake() + _title_family = self._font_family self.setObjectName("updatePage") self.setStyleSheet( diff --git a/BlocksScreen/lib/ui/resources/media/topbar/abs_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/abs_filament_topbar.svg index 1db6ccf5..ecc5724e 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/abs_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/abs_filament_topbar.svg @@ -1 +1 @@ -abs \ No newline at end of file +abs \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/custom_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/custom_filament_topbar.svg index 5a92d5de..e0adbcb6 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/custom_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/custom_filament_topbar.svg @@ -1 +1 @@ -costum \ No newline at end of file +custom \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/hips_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/hips_filament_topbar.svg index 8df1d2e7..bda92409 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/hips_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/hips_filament_topbar.svg @@ -1 +1 @@ -hips \ No newline at end of file +hips \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/not_available_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/not_available_filament_topbar.svg index 62f91660..d2c8af26 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/not_available_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/not_available_filament_topbar.svg @@ -1 +1 @@ -n/a \ No newline at end of file +n/a \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/nylon_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/nylon_filament_topbar.svg index 5f06b403..3cb3f3cd 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/nylon_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/nylon_filament_topbar.svg @@ -1 +1 @@ -nyl \ No newline at end of file +nyl \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/pc_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/pc_filament_topbar.svg index 777a60a7..50569e28 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/pc_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/pc_filament_topbar.svg @@ -7,7 +7,8 @@ } .cls-2 { - font-family: Montserrat-Regular, Montserrat; + font-family: Momcake Pro; + font-weight: 200; font-size: 18px; } diff --git a/BlocksScreen/lib/ui/resources/media/topbar/petg_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/petg_filament_topbar.svg index a2cce51f..03ebfb47 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/petg_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/petg_filament_topbar.svg @@ -1 +1 @@ -petg \ No newline at end of file +petg \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/pla_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/pla_filament_topbar.svg index 0d8a2aad..e42620a8 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/pla_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/pla_filament_topbar.svg @@ -1 +1 @@ -pla \ No newline at end of file +pla \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/media/topbar/pp_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/pp_filament_topbar.svg index 7a1726c6..9752bdcd 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/pp_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/pp_filament_topbar.svg @@ -7,7 +7,8 @@ } .cls-2 { - font-family: Montserrat-Regular, Montserrat; + font-family: Momcake Pro; + font-weight: 200; font-size: 18px; } diff --git a/BlocksScreen/lib/ui/resources/media/topbar/tpu_filament_topbar.svg b/BlocksScreen/lib/ui/resources/media/topbar/tpu_filament_topbar.svg index eeccc797..9c629d10 100644 --- a/BlocksScreen/lib/ui/resources/media/topbar/tpu_filament_topbar.svg +++ b/BlocksScreen/lib/ui/resources/media/topbar/tpu_filament_topbar.svg @@ -1 +1 @@ -tpu \ No newline at end of file +tpu \ No newline at end of file diff --git a/BlocksScreen/lib/ui/resources/top_bar_resources_rc.py b/BlocksScreen/lib/ui/resources/top_bar_resources_rc.py index 1cb6c1b1..3123f48d 100644 --- a/BlocksScreen/lib/ui/resources/top_bar_resources_rc.py +++ b/BlocksScreen/lib/ui/resources/top_bar_resources_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.15.14) +# Created by: The Resource Compiler for PyQt5 (Qt v5.15.18) # # WARNING! All changes made in this file will be lost! @@ -658,7 +658,7 @@ \x73\x2e\x38\x34\x2d\x31\x2e\x33\x38\x2c\x31\x2e\x32\x33\x2d\x32\ \x4c\x33\x35\x2e\x30\x39\x2c\x30\x5a\x22\x2f\x3e\x3c\x2f\x67\x3e\ \x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ -\x00\x00\x0a\x60\ +\x00\x00\x0a\x56\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -667,166 +667,166 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x32\x65\ -\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x35\x65\x6d\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\ -\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ -\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x32\x22\x3e\x61\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x78\x3d\x22\x33\x32\x2e\x36\x39\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x62\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\ -\x73\x70\x61\x6e\x20\x78\x3d\x22\x35\x38\x2e\x34\x31\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x73\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\ -\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\ -\x37\x38\x2c\x31\x38\x2e\x31\x34\x63\x32\x2e\x35\x36\x2c\x31\x2e\ -\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\ -\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\ -\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\ -\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\ -\x31\x2e\x32\x32\x2d\x32\x2e\x37\x34\x2e\x32\x33\x61\x39\x2e\x31\ -\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\ -\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\ -\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\ -\x2e\x39\x2e\x35\x38\x2d\x31\x2e\x34\x32\x2c\x31\x2e\x33\x31\x2d\ -\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\x39\x5a\x4d\x32\x33\x2e\ -\x35\x33\x2c\x34\x39\x2e\x37\x32\x61\x2e\x38\x38\x2e\x38\x38\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\x39\x31\x2e\x39\ -\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\ -\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\ -\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\ -\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\x39\x2e\x39\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\ -\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\ -\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\ -\x33\x31\x2e\x36\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x34\ -\x31\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x37\x32\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ -\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x34\x61\x35\x2e\x31\ -\x33\x2c\x35\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\ -\x2e\x32\x37\x63\x2d\x2e\x37\x32\x2c\x30\x2d\x31\x2e\x33\x39\x2c\ -\x30\x2d\x32\x2e\x30\x36\x2c\x30\x73\x2d\x31\x2c\x2e\x31\x2d\x31\ -\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\x2e\x34\x38\x2c\x31\ -\x2c\x34\x31\x2e\x31\x39\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x37\ -\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\x39\ -\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\x35\x2e\x30\x37\x2c\ -\x35\x2e\x30\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\ -\x35\x32\x2e\x34\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\ -\x34\x2d\x2e\x38\x38\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x31\x43\ -\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x33\x2d\x2e\x37\x34\x2c\x33\ -\x30\x2e\x32\x38\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\x37\x34\x63\ -\x2e\x35\x39\x2d\x31\x2e\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\ -\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x33\ -\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x63\x30\x2d\x35\x2c\x2e\x33\ -\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\ -\x31\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\ -\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\x2c\x31\x2e\x32\x2c\ -\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\x2c\x30\x2c\x2e\x33\ -\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\x35\x2c\ -\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\ -\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x39\x2d\x31\x2e\x30\ -\x38\x2c\x31\x34\x2e\x37\x35\x2c\x31\x2e\x33\x37\x2c\x32\x31\x2e\ -\x33\x38\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x34\x2d\x2e\x32\ -\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\ -\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x33\x2e\x34\x33\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\x34\x34\ -\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x38\x2c\x33\ -\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x5a\x22\x20\x74\x72\x61\x6e\ -\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ -\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x38\ -\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x63\x2e\x32\x38\x2e\x30\x35\ -\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x39\x73\x2d\x2e\ -\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\ -\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x31\ -\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x36\x31\x2c\ -\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\ -\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x32\x2e\x30\x35\x2e\ -\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\x2c\x30\x2d\x31\x2e\ -\x35\x33\x2c\x30\x61\x2e\x34\x39\x2e\x34\x39\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\ -\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\ -\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\ -\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\ -\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\ -\x37\x41\x37\x2e\x34\x31\x2c\x37\x2e\x34\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ -\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x34\x61\x31\x31\x2e\ -\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\ -\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\ -\x2e\x35\x37\x2d\x38\x2e\x32\x38\x2c\x32\x2e\x32\x35\x2d\x31\x32\ -\x2e\x31\x31\x61\x2e\x33\x36\x2e\x33\x36\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\ -\x38\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\ -\x2c\x33\x30\x2e\x34\x35\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\x31\ -\x31\x2e\x36\x38\x2c\x34\x38\x2e\x35\x63\x2e\x31\x32\x2e\x33\x31\ -\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\ -\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\ -\x31\x41\x33\x36\x2e\x31\x34\x2c\x33\x36\x2e\x31\x34\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x34\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\ +\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\ +\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\ +\x2d\x30\x2e\x30\x32\x65\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\ +\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\ +\x30\x2e\x30\x35\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\ +\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\ +\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ +\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\ +\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\ +\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\ +\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ +\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\ +\x34\x39\x2e\x39\x33\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x3e\x61\x3c\x2f\ +\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x78\x3d\x22\x33\x32\ +\x2e\x36\x39\x22\x20\x79\x3d\x22\x30\x22\x3e\x62\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x35\x38\ +\x2e\x34\x31\x22\x20\x79\x3d\x22\x30\x22\x3e\x73\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\ \x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x36\x63\x30\ -\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\ -\x31\x37\x2d\x31\x33\x2e\x34\x39\x61\x2e\x34\x2e\x34\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\ -\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\ -\x31\x37\x2e\x36\x33\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\ -\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\ -\x32\x37\x2c\x32\x35\x2e\x35\x36\x2e\x31\x34\x2e\x33\x36\x2c\x30\ -\x2c\x2e\x34\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\ -\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\ -\x33\x35\x2e\x37\x34\x2c\x33\x35\x2e\x37\x34\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x36\x5a\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ -\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x37\x63\x2e\x39\ -\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\ -\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\ -\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\ -\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\ -\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\ -\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2c\x35\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x33\x2c\x32\x2e\x31\x31\x2c\ -\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\x38\x2c\ -\x31\x2e\x37\x37\x2c\x35\x2e\x37\x34\x2c\x35\x2e\x37\x34\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\x2d\x2e\ -\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\x34\x2e\x34\x31\x2e\ -\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\x32\x22\ -\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x34\x22\x20\x72\x78\x3d\x22\ -\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\x22\x2f\ -\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ -\x00\x00\x0a\x25\ +\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x34\x63\x32\ +\x2e\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\ +\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\ +\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\ +\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\ +\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x32\x2d\x32\x2e\x37\x34\x2e\ +\x32\x33\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\ +\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\ +\x38\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\ +\x39\x2c\x30\x2d\x32\x36\x2e\x39\x2e\x35\x38\x2d\x31\x2e\x34\x32\ +\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\ +\x39\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x37\x32\x61\x2e\ +\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\ +\x36\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\ +\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\ +\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\ +\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\ +\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\ +\x61\x2e\x39\x2e\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\ +\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\ +\x39\x2e\x36\x31\x2c\x31\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\ +\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\ +\x32\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x34\x2c\x31\x39\x2e\x34\ +\x31\x2c\x34\x30\x2e\x34\x31\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\ +\x2e\x37\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ +\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ +\x2d\x34\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\ +\x31\x34\x61\x35\x2e\x31\x33\x2c\x35\x2e\x31\x33\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x37\x63\x2d\x2e\x37\x32\x2c\x30\ +\x2d\x31\x2e\x33\x39\x2c\x30\x2d\x32\x2e\x30\x36\x2c\x30\x73\x2d\ +\x31\x2c\x2e\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\ +\x38\x2e\x34\x38\x2c\x31\x2c\x34\x31\x2e\x31\x39\x2c\x33\x2e\x39\ +\x32\x2c\x34\x38\x2e\x37\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\ +\x2e\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\ +\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\ +\x41\x35\x2e\x30\x37\x2c\x35\x2e\x30\x37\x2c\x30\x2c\x30\x2c\x31\ +\x2c\x35\x2e\x39\x32\x2c\x35\x32\x2e\x34\x63\x2d\x31\x2e\x32\x34\ +\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x38\x2d\x32\x2e\x39\x33\ +\x2d\x31\x2e\x38\x31\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x33\ +\x2d\x2e\x37\x34\x2c\x33\x30\x2e\x32\x38\x2c\x31\x2e\x38\x33\x2c\ +\x32\x32\x2e\x37\x34\x63\x2e\x35\x39\x2d\x31\x2e\x36\x34\x2c\x31\ +\x2e\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\ +\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\ +\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\ +\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x63\ +\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\ +\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\ +\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\x2c\ +\x30\x2c\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\x32\ +\x39\x2c\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x33\x61\ +\x32\x37\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\ +\x30\x2d\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\ +\x2e\x39\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\x35\x2c\x31\x2e\ +\x33\x37\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\x34\x2e\x30\x39\ +\x2e\x33\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\ +\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\ +\x33\x2e\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\ +\x33\x43\x34\x2c\x34\x34\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\ +\x39\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x5a\ +\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ +\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ +\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\ +\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x63\ +\x2e\x32\x38\x2e\x30\x35\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\ +\x2e\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\ +\x39\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\ +\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\ +\x33\x39\x2e\x36\x31\x2c\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\ +\x33\x32\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\x2d\ +\x31\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\x2e\x34\x39\x2e\x34\ +\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\ +\x32\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\ +\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\ +\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\ +\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\ +\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x34\x31\x2c\x37\x2e\x34\ +\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\ +\x2e\x38\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ +\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ +\x2d\x34\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\ +\x35\x34\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\ +\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\ +\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x38\x2c\x32\ +\x2e\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x36\x2e\x33\x36\ +\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\ +\x2e\x33\x39\x2d\x2e\x30\x38\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\ +\x2c\x31\x2c\x31\x43\x39\x2c\x33\x30\x2e\x34\x35\x2c\x38\x2e\x39\ +\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x35\x63\ +\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\ +\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\ +\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\x31\x34\x2c\x33\x36\ +\x2e\x31\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\ +\x36\x2e\x35\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ +\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ +\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\ +\x35\x2e\x36\x36\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\ +\x2e\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x34\x39\x61\x2e\ +\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\ +\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\ +\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\x33\x2d\x2e\x32\x38\x2c\ +\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\ +\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x36\x2e\x31\ +\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x34\x2d\x2e\x33\x35\x2e\x33\x39\ +\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\ +\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\x34\x2c\x33\x35\x2e\x37\ +\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\ +\x2e\x36\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ +\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ +\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\ +\x2e\x37\x37\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\ +\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\ +\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\ +\x38\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\ +\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\ +\x32\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\ +\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x33\ +\x2c\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\ +\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x37\x2c\x35\x2e\x37\x34\x2c\ +\x35\x2e\x37\x34\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\ +\x2e\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\ +\x34\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\ +\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ +\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\ +\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\ +\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x34\ +\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\ +\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x73\x76\x67\x3e\ +\x00\x00\x0a\x1b\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -835,163 +835,162 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\x6d\ -\x3b\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\ -\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x32\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\ -\x3a\x2d\x30\x2e\x30\x33\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\ -\x65\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\ -\x4c\x61\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\ -\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\ -\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\ +\x30\x2e\x30\x31\x65\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\ +\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\ +\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x33\x65\x6d\x3b\x7d\ +\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\ +\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\x20\x64\ \x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\ -\x31\x22\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\ -\x31\x20\x34\x39\x2e\x39\x33\x29\x22\x3e\x70\x6c\x3c\x74\x73\x70\ -\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\ -\x20\x78\x3d\x22\x35\x35\x2e\x31\x39\x22\x20\x79\x3d\x22\x30\x22\ -\x3e\x61\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\ -\x38\x2e\x31\x32\x63\x32\x2e\x35\x36\x2c\x31\x2e\x33\x34\x2c\x33\ -\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\ -\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\ -\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\ -\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x31\ -\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\x2c\x39\x2c\x30\x2c\x30\ -\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x63\x2d\x32\x2e\x38\ -\x33\x2d\x37\x2e\x36\x31\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x33\ -\x2c\x30\x2d\x32\x36\x2e\x39\x31\x2e\x35\x38\x2d\x31\x2e\x34\x31\ -\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\ -\x38\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\x39\x61\x2e\ -\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\ -\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\ -\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\ -\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\ -\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\ -\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\ -\x31\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\ -\x38\x35\x2d\x2e\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x2e\x39\x2e\x36\x32\x2c\x31\x34\x2e\x39\x34\x2c\x31\ -\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\ -\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x32\x2c\ -\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x33\x39\x2c\x32\x33\x2e\x35\ -\x33\x2c\x34\x39\x2e\x36\x39\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ +\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\ +\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\ +\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\x72\x61\ +\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ +\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\x22\x3e\ +\x70\x6c\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ +\x63\x6c\x73\x2d\x32\x22\x20\x78\x3d\x22\x35\x35\x2e\x31\x39\x22\ +\x20\x79\x3d\x22\x30\x22\x3e\x61\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ +\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x32\ +\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x32\x63\x32\x2e\x35\x36\x2c\ +\x31\x2e\x33\x34\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\ +\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\x35\ +\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\ +\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\ +\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\ +\x2c\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\ +\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x31\x2d\x32\x2e\x38\ +\x38\x2d\x31\x39\x2e\x33\x2c\x30\x2d\x32\x36\x2e\x39\x31\x2e\x35\ +\x38\x2d\x31\x2e\x34\x31\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\ +\x37\x35\x2d\x33\x2e\x37\x38\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\ +\x39\x2e\x36\x39\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x2e\x38\x36\x2e\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\x30\ +\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\ +\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\ +\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\ +\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x32\ +\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\ +\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x31\x2e\x39\x34\x2e\ +\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x32\x2c\x31\ +\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\ +\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\ +\x33\x31\x2e\x36\x32\x2c\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x33\ +\x39\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\x39\x5a\x22\x20\ +\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ +\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ +\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ +\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x32\x61\x35\x2e\x31\ +\x36\x2c\x35\x2e\x31\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\ +\x2e\x32\x36\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\ +\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\ +\x38\x2e\x34\x35\x2c\x31\x2c\x34\x31\x2e\x31\x37\x2c\x33\x2e\x39\ +\x32\x2c\x34\x38\x2e\x36\x38\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\ +\x33\x2e\x37\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\ +\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x63\x2e\x37\x37\x2c\ +\x30\x2c\x31\x2e\x34\x31\x2c\x30\x2c\x32\x2e\x32\x32\x2c\x30\x61\ +\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x37\x35\x2c\x32\ +\x2e\x30\x37\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\ +\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\ +\x38\x32\x2c\x34\x33\x2e\x35\x2d\x2e\x37\x34\x2c\x33\x30\x2e\x32\ +\x35\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\x37\x32\x63\x2e\x35\x39\ +\x2d\x31\x2e\x36\x35\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\x33\ +\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ \x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ \x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\ -\x2c\x31\x38\x2e\x31\x32\x61\x35\x2e\x31\x36\x2c\x35\x2e\x31\x36\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x36\x48\x35\x2e\ -\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\ -\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\x2e\x34\x35\x2c\x31\ -\x2c\x34\x31\x2e\x31\x37\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x36\ -\x38\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x2e\x34\x39\ -\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x2e\x35\x37\x63\x2e\x37\x37\x2c\x30\x2c\x31\x2e\x34\x31\ -\x2c\x30\x2c\x32\x2e\x32\x32\x2c\x30\x61\x35\x2c\x35\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x31\x2e\x37\x35\x2c\x32\x2e\x30\x37\x63\x2d\x31\ -\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\ -\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\ -\x35\x2d\x2e\x37\x34\x2c\x33\x30\x2e\x32\x35\x2c\x31\x2e\x38\x33\ -\x2c\x32\x32\x2e\x37\x32\x63\x2e\x35\x39\x2d\x31\x2e\x36\x35\x2c\ -\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\ -\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ -\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\ -\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x35\ -\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x34\x2c\x32\x2e\ -\x31\x37\x2d\x31\x33\x2e\x36\x32\x61\x2e\x34\x34\x2e\x34\x34\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\ -\x2c\x30\x2c\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\ -\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x32\ -\x39\x61\x32\x37\x2e\x34\x35\x2c\x32\x37\x2e\x34\x35\x2c\x30\x2c\ -\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\x43\x35\x2e\x36\x38\x2c\ -\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\x31\x2e\x38\x39\x2c\x38\x2e\ -\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\x2e\x31\x2e\x32\x34\x2e\x30\ -\x39\x2e\x33\x33\x2d\x2e\x32\x35\x2e\x33\x32\x2d\x2e\x36\x2c\x30\ -\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\ -\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\ -\x2e\x32\x39\x43\x34\x2c\x34\x34\x2e\x36\x36\x2c\x33\x2e\x35\x32\ -\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\ -\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ -\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\ -\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\ -\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\ -\x31\x2c\x2e\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x2d\x2e\x32\x32\ -\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\ -\x2c\x33\x39\x2e\x38\x37\x2c\x33\x39\x2e\x38\x37\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\ -\x2e\x33\x32\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\ -\x2d\x31\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\x2e\x34\x37\x2e\ -\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\ -\x2c\x32\x33\x2e\x36\x32\x2c\x32\x33\x2e\x36\x32\x2c\x30\x2c\x30\ -\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x32\x39\x63\x2d\x31\x2e\ -\x30\x39\x2d\x36\x2e\x35\x39\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\ -\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x38\x41\x37\x2e\x31\x33\x2c\x37\ -\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\ -\x32\x31\x2e\x38\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\ -\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\ -\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\ -\x36\x2e\x35\x32\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\ -\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\ -\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x38\x2e\ -\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\ -\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\ -\x30\x38\x2c\x31\x2c\x31\x2e\x30\x35\x43\x39\x2c\x33\x30\x2e\x34\ -\x33\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\ -\x34\x38\x2e\x34\x38\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\ -\x33\x36\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\ -\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\ -\x2e\x31\x39\x2c\x33\x36\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\ -\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x63\x30\x2d\x34\x2e\x38\ -\x36\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\ -\x33\x2e\x35\x61\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x2e\x34\x37\x2d\x2e\x32\x39\x63\x2e\x34\x2c\x30\x2c\x31\x2d\ -\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x36\x73\x2d\x2e\x31\x37\ -\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\ -\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\ -\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\ -\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\ -\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\ -\x35\x2e\x37\x37\x2c\x33\x35\x2e\x37\x37\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\ -\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x35\x63\x2e\x39\x32\ -\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\ -\x38\x2e\x38\x36\x2d\x32\x2e\x38\x37\x2d\x2e\x32\x35\x2d\x35\x2e\ -\x34\x36\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\x31\ -\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\ -\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\ -\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2e\x33\x32\x2c\x35\x2e\x33\ -\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\ -\x32\x2e\x31\x32\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x35\ -\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\ -\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\ -\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ +\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\ +\x2c\x33\x35\x2e\x37\x35\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\ +\x2e\x32\x34\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x32\x61\x2e\ +\x34\x34\x2e\x34\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\ +\x2e\x32\x39\x63\x2e\x36\x2c\x30\x2c\x31\x2e\x32\x2c\x30\x2c\x31\ +\x2e\x38\x2c\x30\x2c\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2c\x30\ +\x2c\x2e\x32\x35\x2e\x32\x39\x61\x32\x37\x2e\x34\x35\x2c\x32\x37\ +\x2e\x34\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\ +\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\x31\ +\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\x2e\ +\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x33\x2d\x2e\x32\x35\x2e\x33\ +\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\ +\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\ +\x31\x2d\x2e\x34\x37\x2d\x2e\x32\x39\x43\x34\x2c\x34\x34\x2e\x36\ +\x36\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\x35\ +\x32\x2c\x33\x35\x2e\x37\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ \x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\ -\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x32\x22\ -\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\ -\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\ -\x73\x76\x67\x3e\ -\x00\x00\x0a\x54\ +\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ +\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\ +\x38\x2c\x32\x31\x2e\x38\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\ +\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x39\x73\x2d\x2e\x31\x33\ +\x2e\x36\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\x2c\ +\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\ +\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x38\x37\x2c\x33\x39\x2e\ +\x38\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\ +\x33\x31\x63\x2e\x31\x31\x2e\x33\x32\x2e\x30\x35\x2e\x34\x2d\x2e\ +\x33\x33\x2e\x33\x38\x73\x2d\x31\x2c\x30\x2d\x31\x2e\x35\x33\x2c\ +\x30\x61\x2e\x34\x37\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\ +\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x36\x32\x2c\x32\x33\x2e\ +\x36\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\ +\x32\x39\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x39\x2d\x31\x2d\ +\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\ +\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x38\x41\ +\x37\x2e\x31\x33\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\ +\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x35\x5a\x22\x20\x74\x72\ +\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ +\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ +\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\ +\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x61\x31\x31\x2e\x32\x36\ +\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\ +\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\ +\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\ +\x31\x61\x2e\x33\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\ +\x33\x38\x2d\x2e\x32\x34\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\ +\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x2e\x30\x35\x43\ +\x39\x2c\x33\x30\x2e\x34\x33\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\ +\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x34\x38\x63\x2e\x31\x32\x2e\ +\x33\x31\x2e\x30\x35\x2e\x33\x36\x2d\x2e\x33\x2e\x33\x36\x2d\x31\ +\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\ +\x34\x2d\x31\x41\x33\x36\x2e\x31\x39\x2c\x33\x36\x2e\x31\x39\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\ +\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\ +\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\ +\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\ +\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\ +\x32\x2e\x31\x37\x2d\x31\x33\x2e\x35\x61\x2e\x34\x31\x2e\x34\x31\ +\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x32\x39\x63\x2e\ +\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\ +\x36\x73\x2d\x2e\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\ +\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\ +\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\ +\x33\x36\x2c\x30\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\ +\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\ +\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\x37\x2c\x33\x35\x2e\x37\x37\ +\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\ +\x36\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ +\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ +\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ +\x33\x22\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\ +\x37\x35\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\ +\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x37\x2d\ +\x2e\x32\x35\x2d\x35\x2e\x34\x36\x2d\x33\x2e\x35\x2d\x35\x2e\x38\ +\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\ +\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\ +\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2e\ +\x33\x32\x2c\x35\x2e\x33\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\ +\x34\x39\x2e\x32\x32\x2c\x32\x2e\x31\x32\x2c\x32\x2e\x31\x32\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x2c\ +\x35\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2d\ +\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\ +\x2d\x2e\x31\x35\x2e\x34\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\ +\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ +\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\ +\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\ +\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\ +\x33\x35\x2e\x35\x32\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\ +\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\ +\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x0a\x4a\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -1000,166 +999,165 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x35\x65\ -\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x34\x65\x6d\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\ -\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ -\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\ +\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\ +\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\ +\x2d\x30\x2e\x30\x35\x65\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\ +\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\ +\x30\x2e\x30\x34\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\ +\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\ +\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ +\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\ +\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\ +\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\ +\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ +\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\ +\x34\x39\x2e\x39\x33\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x3e\x63\x3c\x2f\ +\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x78\x3d\x22\x33\x31\ +\x2e\x39\x22\x20\x79\x3d\x22\x30\x22\x3e\x75\x73\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x39\x31\ +\x2e\x33\x32\x22\x20\x79\x3d\x22\x30\x22\x3e\x74\x6f\x6d\x3c\x2f\ +\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\ +\x20\x64\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x38\x34\ +\x63\x32\x2e\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\ +\x36\x2e\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x37\x2c\x31\ +\x2e\x32\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\ +\x31\x2d\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\ +\x2c\x31\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\ +\x34\x2e\x32\x32\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\ +\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\ +\x32\x2e\x38\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\ +\x2e\x32\x39\x2c\x30\x2d\x32\x36\x2e\x39\x41\x37\x2e\x30\x36\x2c\ +\x37\x2e\x30\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\x2c\x31\x38\ +\x2e\x38\x34\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\ +\x61\x2e\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\ +\x36\x2e\x36\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\ +\x2e\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\ +\x34\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\ +\x39\x2d\x32\x33\x2e\x35\x37\x61\x32\x30\x2e\x32\x37\x2c\x32\x30\ +\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x37\x2d\x35\x2e\ +\x31\x32\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\ +\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\ +\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\x2c\ +\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\x2e\ +\x35\x32\x2c\x33\x32\x2e\x33\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\ +\x31\x2e\x31\x31\x2c\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\ +\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\ +\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\ +\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x38\x34\x61\ +\x35\x2e\x31\x39\x2c\x35\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\ +\x32\x2c\x32\x2e\x32\x37\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\ +\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\ +\x31\x2c\x32\x39\x2e\x31\x38\x2c\x31\x2c\x34\x31\x2e\x39\x2c\x33\ +\x2e\x39\x32\x2c\x34\x39\x2e\x34\x63\x2e\x31\x35\x2e\x33\x36\x2e\ +\x33\x33\x2e\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\ +\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\ +\x36\x37\x41\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\ +\x32\x2c\x35\x33\x2e\x31\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\ +\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\ +\x43\x2d\x2e\x38\x32\x2c\x34\x34\x2e\x32\x33\x2d\x2e\x37\x34\x2c\ +\x33\x31\x2c\x31\x2e\x38\x33\x2c\x32\x33\x2e\x34\x34\x63\x2e\x35\ +\x39\x2d\x31\x2e\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x38\x2c\ +\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\ +\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ +\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ +\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\ +\x32\x2c\x33\x36\x2e\x34\x37\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\ +\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\ +\x2e\x34\x33\x2e\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\ +\x2d\x2e\x32\x39\x71\x2e\x39\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x63\ +\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2e\x30\x35\x2e\x32\x35\x2e\ +\x33\x61\x32\x37\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\ +\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\ +\x2c\x36\x2e\x39\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\x36\x2c\ +\x31\x2e\x33\x37\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\x35\x2e\ +\x30\x39\x2e\x33\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\ +\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\ +\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\ +\x2d\x2e\x33\x43\x34\x2c\x34\x35\x2e\x33\x39\x2c\x33\x2e\x35\x32\ +\x2c\x34\x30\x2e\x33\x38\x2c\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\ +\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ +\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ +\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\ +\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\ +\x38\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\ +\x31\x2c\x2e\x30\x38\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\ +\x32\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\ +\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\ +\x39\x2c\x33\x39\x2e\x36\x31\x2c\x33\x39\x2e\x36\x31\x2c\x30\x2c\ +\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\ +\x31\x2e\x33\x33\x2e\x30\x35\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\ +\x39\x61\x31\x33\x2c\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\ +\x35\x33\x2c\x30\x2c\x2e\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\ +\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\ +\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\ +\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\ +\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\ +\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\ +\x37\x41\x37\x2e\x31\x33\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\x38\x5a\x22\x20\ +\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ +\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ +\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\ +\x22\x4d\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\x35\x61\x31\x31\x2e\ +\x32\x38\x2c\x31\x31\x2e\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\ +\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\ +\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\ +\x2e\x31\x32\x61\x2e\x33\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\ +\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\ +\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\ +\x2c\x33\x31\x2e\x31\x35\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2e\x37\ +\x33\x2c\x31\x31\x2e\x36\x38\x2c\x34\x39\x2e\x32\x63\x2e\x31\x32\ +\x2e\x33\x31\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x37\x2d\ +\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\ +\x36\x34\x2d\x31\x41\x33\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\ +\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\ +\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ +\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ +\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\ +\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\ +\x37\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\ +\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\ +\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\ +\x2d\x2e\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\ +\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\ +\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\ +\x2c\x30\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\ +\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\ +\x2d\x31\x41\x33\x35\x2e\x37\x32\x2c\x33\x35\x2e\x37\x32\x2c\x30\ +\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\ +\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\ +\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\ +\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x31\x2e\x34\x37\ +\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\ +\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\ +\x35\x2d\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\ +\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\ +\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\ +\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x34\x61\x34\x2e\x36\ +\x38\x2c\x34\x2e\x36\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\ +\x39\x2e\x32\x32\x2c\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\ +\x2c\x30\x2c\x31\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x41\x35\ +\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ +\x38\x2e\x33\x33\x2c\x32\x31\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\ +\x2e\x31\x35\x2e\x34\x33\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\ \x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x32\x22\x3e\x63\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x78\x3d\x22\x33\x31\x2e\x39\x22\x20\x79\x3d\ -\x22\x30\x22\x3e\x6f\x73\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\ -\x73\x70\x61\x6e\x20\x78\x3d\x22\x39\x34\x2e\x37\x39\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x74\x75\x6d\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x32\ -\x34\x2e\x37\x38\x2c\x31\x38\x2e\x38\x34\x63\x32\x2e\x35\x36\x2c\ -\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\ -\x2e\x31\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\x2c\x36\x2e\x35\ -\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\ -\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\ -\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\ -\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2d\x31\ -\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\ -\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\x30\x2d\ -\x32\x36\x2e\x39\x41\x37\x2e\x30\x36\x2c\x37\x2e\x30\x36\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x32\x34\x2c\x31\x38\x2e\x38\x34\x5a\x4d\x32\ -\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x61\x2e\x38\x38\x2e\x38\ -\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\x39\x31\ -\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\ -\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\ -\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\ -\x37\x61\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\ -\x30\x2c\x30\x2d\x31\x2e\x37\x2d\x35\x2e\x31\x32\x2e\x39\x31\x2e\ -\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\ -\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\ -\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\ -\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\x2e\x35\x32\x2c\x33\x32\x2e\ -\x33\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\x31\x2e\x31\x31\x2c\x32\ -\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x35\ -\x2e\x36\x34\x2c\x31\x38\x2e\x38\x34\x61\x35\x2e\x31\x39\x2c\x35\ -\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x37\ -\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\x2e\x31\ -\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x39\x2e\x31\ -\x38\x2c\x31\x2c\x34\x31\x2e\x39\x2c\x33\x2e\x39\x32\x2c\x34\x39\ -\x2e\x34\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\ -\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\x35\x2c\x35\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\x35\x33\x2e\x31\ -\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\ -\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\ -\x34\x34\x2e\x32\x33\x2d\x2e\x37\x34\x2c\x33\x31\x2c\x31\x2e\x38\ -\x33\x2c\x32\x33\x2e\x34\x34\x63\x2e\x35\x39\x2d\x31\x2e\x36\x34\ -\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x38\x2c\x33\x2e\x30\x35\x2d\x34\ -\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x34\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\ -\x37\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\ -\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\x34\x33\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x71\x2e\ -\x39\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\x30\x2c\ -\x2e\x33\x35\x2e\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\ -\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\ -\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x39\x2d\x31\ -\x2e\x30\x38\x2c\x31\x34\x2e\x37\x36\x2c\x31\x2e\x33\x37\x2c\x32\ -\x31\x2e\x33\x38\x2e\x31\x2e\x32\x35\x2e\x30\x39\x2e\x33\x34\x2d\ -\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\ -\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\ -\x34\x35\x2e\x33\x39\x2c\x33\x2e\x35\x32\x2c\x34\x30\x2e\x33\x38\ -\x2c\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\x37\x5a\x22\x20\x74\x72\ -\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ -\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\ -\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\x38\x63\x2e\x32\x38\x2c\ -\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x38\x73\ -\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\ -\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x36\ -\x31\x2c\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\ -\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\ -\x35\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\ -\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\ -\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\ -\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\ -\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\ -\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\ -\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x31\x33\ -\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\ -\x38\x2c\x32\x32\x2e\x35\x38\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\ -\x2c\x33\x37\x2e\x32\x35\x61\x31\x31\x2e\x32\x38\x2c\x31\x31\x2e\ -\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\ -\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\ -\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x32\x61\x2e\x33\ -\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\ -\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\ -\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\x2c\x33\x31\x2e\x31\x35\ -\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2e\x37\x33\x2c\x31\x31\x2e\x36\ -\x38\x2c\x34\x39\x2e\x32\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\ -\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x37\x2d\x31\x2e\x32\x35\x2c\x30\ -\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\ -\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\x35\x5a\x22\x20\x74\x72\ -\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ -\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\ -\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x63\x30\x2d\x34\x2e\ -\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\x2c\x32\x2e\x31\x37\x2d\ -\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\ -\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\ -\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\ -\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\ -\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\ -\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\ -\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\ -\x37\x32\x2c\x33\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\ -\x39\x2e\x31\x32\x2c\x32\x31\x2e\x34\x37\x63\x2e\x39\x32\x2c\x30\ -\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\ -\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\ -\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\x31\x2e\x35\x31\x2d\x2e\ -\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\ -\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\ -\x2e\x33\x37\x2e\x33\x34\x61\x34\x2e\x36\x38\x2c\x34\x2e\x36\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\ -\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x2e\x35\x38\x2c\x31\x2e\x37\x38\x41\x35\x2e\x37\x38\x2c\x35\x2e\ -\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x38\x2e\x33\x33\x2c\x32\ -\x31\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\x35\x2e\x34\x33\ -\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ -\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ -\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\x32\x34\ -\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x36\x2e\x32\x35\x22\x20\ -\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\ -\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\ -\x76\x67\x3e\ -\x00\x00\x0a\x14\ +\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\ +\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\ +\x63\x78\x3d\x22\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\ +\x36\x2e\x32\x35\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\ +\x72\x79\x3d\x22\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x0a\x0a\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -1168,161 +1166,160 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\ -\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\ -\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\ -\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\ -\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\ -\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\ -\x29\x22\x3e\x74\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x78\x3d\x22\x33\x33\x2e\x33\ -\x35\x22\x20\x79\x3d\x22\x30\x22\x3e\x70\x3c\x2f\x74\x73\x70\x61\ -\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x36\x31\x2e\x33\ -\x37\x22\x20\x79\x3d\x22\x30\x22\x3e\x75\x3c\x2f\x74\x73\x70\x61\ -\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\ -\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x38\x34\x63\x32\x2e\x35\ -\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\ -\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\x2c\x36\ -\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\ -\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\ -\x2e\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\ -\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\ -\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\ -\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\ -\x30\x2d\x32\x36\x2e\x39\x41\x37\x2e\x30\x36\x2c\x37\x2e\x30\x36\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\x2c\x31\x38\x2e\x38\x34\x5a\ -\x4d\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x61\x2e\x38\x38\ -\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\ -\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\ -\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\ -\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\ -\x2e\x35\x37\x61\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x37\x2d\x35\x2e\x31\x32\x2e\x39\ -\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\ -\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\ -\x2e\x36\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\x2c\x30\x2c\x30\x2d\ -\x31\x2e\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\x2e\x35\x32\x2c\x33\ -\x32\x2e\x33\x34\x2c\x31\x39\x2e\x34\x31\x2c\x34\x31\x2e\x31\x31\ -\x2c\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\x34\x32\x5a\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\ -\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x38\x34\x61\x35\x2e\x31\x39\ -\x2c\x35\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\ -\x32\x37\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\ -\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x39\ -\x2e\x31\x38\x2c\x31\x2c\x34\x31\x2e\x39\x2c\x33\x2e\x39\x32\x2c\ -\x34\x39\x2e\x34\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\ -\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\x35\ -\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\x35\x33\ -\x2e\x31\x63\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\ -\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\ -\x32\x2c\x34\x34\x2e\x32\x33\x2d\x2e\x37\x34\x2c\x33\x31\x2c\x31\ -\x2e\x38\x33\x2c\x32\x33\x2e\x34\x34\x63\x2e\x35\x39\x2d\x31\x2e\ -\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x38\x2c\x33\x2e\x30\x35\ -\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ -\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x36\ -\x2e\x34\x37\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\ -\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\ -\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\ -\x71\x2e\x39\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\ -\x30\x2c\x2e\x33\x35\x2e\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\ -\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\ -\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x39\ -\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\x36\x2c\x31\x2e\x33\x37\ -\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\x35\x2e\x30\x39\x2e\x33\ -\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\ -\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\ -\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\ -\x34\x2c\x34\x35\x2e\x33\x39\x2c\x33\x2e\x35\x32\x2c\x34\x30\x2e\ -\x33\x38\x2c\x33\x2e\x35\x32\x2c\x33\x36\x2e\x34\x37\x5a\x22\x20\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\ +\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\ +\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\ +\x2d\x30\x2e\x30\x31\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\ +\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\ +\x61\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ +\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\ +\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\ +\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\ +\x22\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ +\x6c\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\ +\x20\x34\x39\x2e\x39\x33\x29\x22\x3e\x74\x3c\x74\x73\x70\x61\x6e\ +\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x78\ +\x3d\x22\x33\x33\x2e\x33\x35\x22\x20\x79\x3d\x22\x30\x22\x3e\x70\ +\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\ +\x3d\x22\x36\x31\x2e\x33\x37\x22\x20\x79\x3d\x22\x30\x22\x3e\x75\ +\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\ +\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ +\x33\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\ +\x38\x34\x63\x32\x2e\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\ +\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x37\ +\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\ +\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\ +\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\ +\x2e\x37\x34\x2e\x32\x32\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\ +\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\ +\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\ +\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\x2e\x39\x41\x37\x2e\x30\ +\x36\x2c\x37\x2e\x30\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\x2c\ +\x31\x38\x2e\x38\x34\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\ +\x34\x32\x61\x2e\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\ +\x2e\x38\x36\x2e\x36\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\ +\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\ +\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x61\x32\x30\x2e\x32\x37\x2c\ +\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x37\x2d\ +\x35\x2e\x31\x32\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\ +\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\ +\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\x35\x2c\x31\x35\x2c\ +\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x39\x43\x32\ +\x30\x2e\x35\x32\x2c\x33\x32\x2e\x33\x34\x2c\x31\x39\x2e\x34\x31\ +\x2c\x34\x31\x2e\x31\x31\x2c\x32\x33\x2e\x35\x33\x2c\x35\x30\x2e\ +\x34\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ +\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ +\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ +\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x38\ +\x34\x61\x35\x2e\x31\x39\x2c\x35\x2e\x31\x39\x2c\x30\x2c\x30\x2c\ +\x31\x2c\x32\x2c\x32\x2e\x32\x37\x48\x35\x2e\x36\x31\x63\x2d\x2e\ +\x38\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\ +\x34\x43\x31\x2c\x32\x39\x2e\x31\x38\x2c\x31\x2c\x34\x31\x2e\x39\ +\x2c\x33\x2e\x39\x32\x2c\x34\x39\x2e\x34\x63\x2e\x31\x35\x2e\x33\ +\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\ +\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\ +\x37\x2e\x36\x37\x41\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x35\ +\x2e\x39\x32\x2c\x35\x33\x2e\x31\x63\x2d\x31\x2e\x32\x34\x2e\x37\ +\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\ +\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\x34\x2e\x32\x33\x2d\x2e\x37\ +\x34\x2c\x33\x31\x2c\x31\x2e\x38\x33\x2c\x32\x33\x2e\x34\x34\x63\ +\x2e\x35\x39\x2d\x31\x2e\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\ +\x38\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\ +\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ +\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\ +\x2e\x35\x32\x2c\x33\x36\x2e\x34\x37\x63\x30\x2d\x35\x2c\x2e\x33\ +\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\ +\x31\x61\x2e\x34\x33\x2e\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\ +\x34\x38\x2d\x2e\x32\x39\x71\x2e\x39\x2c\x30\x2c\x31\x2e\x38\x2c\ +\x30\x63\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2e\x30\x35\x2e\x32\ +\x35\x2e\x33\x61\x32\x37\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\ +\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\ +\x31\x37\x2c\x36\x2e\x39\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\ +\x36\x2c\x31\x2e\x33\x37\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\ +\x35\x2e\x30\x39\x2e\x33\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\ +\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\ +\x30\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\ +\x34\x37\x2d\x2e\x33\x43\x34\x2c\x34\x35\x2e\x33\x39\x2c\x33\x2e\ +\x35\x32\x2c\x34\x30\x2e\x33\x38\x2c\x33\x2e\x35\x32\x2c\x33\x36\ +\x2e\x34\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ +\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ +\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x32\ +\x2e\x35\x38\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\ +\x36\x2c\x31\x2c\x2e\x30\x38\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\ +\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x37\x32\x2c\x34\x35\x2e\ +\x37\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\ +\x2e\x33\x2c\x33\x39\x2e\x36\x35\x2c\x33\x39\x2e\x36\x35\x2c\x30\ +\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x63\x2e\x31\ +\x31\x2e\x33\x33\x2e\x30\x35\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\ +\x39\x61\x31\x33\x2c\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\ +\x35\x33\x2c\x30\x2c\x2e\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\ +\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\ +\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\ +\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\ +\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\ +\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\ +\x37\x41\x37\x2e\x31\x33\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\x38\x5a\x22\x20\ \x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ \x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ \x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ -\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x32\x2e\x35\x38\x63\x2e\x32\ -\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\ -\x38\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\ -\x61\x34\x35\x2e\x37\x32\x2c\x34\x35\x2e\x37\x32\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x33\x2c\x33\x39\x2e\ -\x36\x35\x2c\x33\x39\x2e\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x31\ -\x2e\x37\x32\x2c\x38\x2e\x33\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\ -\x35\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\ -\x33\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\ -\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\ -\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\ -\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\ -\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\ -\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x31\x33\ -\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\ -\x38\x2c\x32\x32\x2e\x35\x38\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\ -\x2c\x33\x37\x2e\x32\x35\x61\x31\x31\x2e\x32\x38\x2c\x31\x31\x2e\ -\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\ -\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\ -\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x32\x61\x2e\x33\ -\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\ -\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\ -\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\x2c\x33\x31\x2e\x31\x35\ -\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2e\x37\x33\x2c\x31\x31\x2e\x36\ -\x38\x2c\x34\x39\x2e\x32\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\ -\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x37\x2d\x31\x2e\x32\x35\x2c\x30\ -\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\ -\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\x35\x5a\x22\x20\x74\x72\ -\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ -\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\ -\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x63\x30\x2d\x34\x2e\ -\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\x2c\x32\x2e\x31\x37\x2d\ -\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\ -\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\ -\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\ -\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\ -\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\ -\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\ -\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\ -\x37\x32\x2c\x33\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\x5a\x22\x20\x74\x72\x61\ -\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ -\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\ -\x39\x2e\x31\x32\x2c\x32\x31\x2e\x34\x37\x63\x2e\x39\x32\x2c\x30\ -\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\ -\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\ -\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\x31\x2e\x35\x31\x2d\x2e\ -\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\ -\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\ -\x2e\x33\x37\x2e\x33\x34\x61\x34\x2e\x36\x38\x2c\x34\x2e\x36\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\ -\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ -\x2e\x35\x38\x2c\x31\x2e\x37\x38\x41\x35\x2e\x37\x38\x2c\x35\x2e\ -\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x38\x2e\x33\x33\x2c\x32\ -\x31\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\x35\x2e\x34\x33\ -\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ -\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ -\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\x34\ -\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x36\x2e\x32\x35\x22\x20\ -\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\ -\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\ -\x76\x67\x3e\ +\x22\x4d\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\x35\x61\x31\x31\x2e\ +\x32\x38\x2c\x31\x31\x2e\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\ +\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\ +\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\ +\x2e\x31\x32\x61\x2e\x33\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\ +\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\ +\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\ +\x2c\x33\x31\x2e\x31\x35\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2e\x37\ +\x33\x2c\x31\x31\x2e\x36\x38\x2c\x34\x39\x2e\x32\x63\x2e\x31\x32\ +\x2e\x33\x31\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\x33\x37\x2d\ +\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\ +\x36\x34\x2d\x31\x41\x33\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\ +\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x37\x2e\x32\ +\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ +\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ +\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\ +\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\ +\x37\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\ +\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\ +\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\ +\x2d\x2e\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\ +\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\ +\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\ +\x2c\x30\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\ +\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\ +\x2d\x31\x41\x33\x35\x2e\x37\x32\x2c\x33\x35\x2e\x37\x32\x2c\x30\ +\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x36\x2e\x33\x37\ +\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\ +\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\ +\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x31\x2e\x34\x37\ +\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\ +\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\ +\x35\x2d\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\ +\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\ +\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\ +\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x34\x61\x34\x2e\x36\ +\x38\x2c\x34\x2e\x36\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\ +\x39\x2e\x32\x32\x2c\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\ +\x2c\x30\x2c\x31\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x41\x35\ +\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\ +\x38\x2e\x33\x33\x2c\x32\x31\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\ +\x2e\x31\x35\x2e\x34\x33\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\ +\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ +\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\ +\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\ +\x63\x78\x3d\x22\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\ +\x36\x2e\x32\x35\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\ +\x72\x79\x3d\x22\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ \x00\x00\x01\x21\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ @@ -1344,7 +1341,7 @@ \x36\x2e\x34\x39\x56\x38\x2e\x36\x34\x48\x33\x35\x2e\x32\x5a\x22\ \x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ \ -\x00\x00\x0a\x9a\ +\x00\x00\x0a\x90\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -1355,167 +1352,166 @@ \x6c\x3a\x23\x64\x30\x64\x32\x64\x33\x3b\x7d\x2e\x63\x6c\x73\x2d\ \x32\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\x36\x35\x2e\x30\ \x35\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\x69\x6c\x79\x3a\ -\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\x2c\x20\x4d\x6f\ -\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\ -\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\ -\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\ -\x30\x32\x65\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x34\x7b\x6c\x65\x74\ -\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\ -\x33\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\ -\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\ -\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\ -\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\ -\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\ -\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\ -\x22\x20\x64\x3d\x22\x4d\x34\x2e\x37\x35\x2c\x32\x32\x2e\x33\x35\ -\x63\x31\x2e\x35\x35\x2d\x32\x2e\x39\x31\x2c\x37\x2e\x34\x2d\x34\ -\x2e\x32\x31\x2c\x31\x30\x2e\x34\x32\x2d\x34\x2e\x37\x35\x2c\x37\ -\x2e\x35\x35\x2d\x31\x2e\x33\x36\x2c\x32\x32\x2d\x31\x2e\x33\x2c\ -\x32\x38\x2e\x31\x39\x2c\x33\x2e\x35\x31\x2c\x31\x2e\x31\x33\x2e\ -\x39\x32\x2c\x31\x2e\x34\x2c\x32\x2e\x30\x37\x2e\x32\x36\x2c\x33\ -\x2e\x31\x32\x41\x31\x30\x2e\x33\x36\x2c\x31\x30\x2e\x33\x36\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x34\x30\x2c\x32\x36\x2e\x33\x33\x63\x2d\ -\x38\x2e\x37\x34\x2c\x33\x2e\x32\x32\x2d\x32\x32\x2e\x31\x38\x2c\ -\x33\x2e\x32\x38\x2d\x33\x30\x2e\x39\x34\x2c\x30\x2d\x31\x2e\x36\ -\x33\x2d\x2e\x36\x35\x2d\x33\x2e\x34\x35\x2d\x31\x2e\x34\x39\x2d\ -\x34\x2e\x33\x35\x2d\x33\x2e\x31\x33\x5a\x6d\x33\x36\x2e\x33\x31\ -\x2c\x31\x2e\x34\x33\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x2e\x37\x2d\x31\x2c\x31\x2e\x30\x38\x2c\x31\x2e\x30\x38\x2c\x30\ -\x2c\x30\x2c\x30\x2d\x2e\x37\x31\x2d\x31\x63\x2d\x37\x2e\x35\x33\ -\x2d\x33\x2e\x35\x31\x2d\x31\x39\x2d\x33\x2e\x35\x36\x2d\x32\x37\ -\x2e\x31\x31\x2d\x31\x2e\x39\x32\x61\x32\x33\x2e\x36\x34\x2c\x32\ -\x33\x2e\x36\x34\x2c\x30\x2c\x30\x2c\x30\x2d\x35\x2e\x38\x39\x2c\ -\x31\x2e\x39\x33\x2c\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\ -\x36\x39\x2c\x31\x2c\x31\x2e\x30\x36\x2c\x31\x2e\x30\x36\x2c\x30\ -\x2c\x30\x2c\x30\x2c\x2e\x37\x2c\x31\x2c\x31\x37\x2e\x39\x34\x2c\ -\x31\x37\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2c\x34\x2c\x31\x2e\ -\x34\x38\x43\x32\x30\x2e\x32\x37\x2c\x32\x37\x2e\x32\x2c\x33\x30\ -\x2e\x33\x36\x2c\x32\x38\x2e\x34\x36\x2c\x34\x31\x2e\x30\x36\x2c\ -\x32\x33\x2e\x37\x38\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\ -\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\ -\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\x2e\x37\x35\x2c\x34\ -\x34\x2e\x31\x32\x61\x35\x2e\x38\x38\x2c\x35\x2e\x38\x38\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x32\x2e\x36\x2d\x32\x2e\x33\x31\x76\x32\x2e\ -\x33\x35\x63\x30\x2c\x2e\x39\x2e\x31\x33\x2c\x31\x2e\x31\x32\x2e\ -\x38\x35\x2c\x31\x2e\x34\x36\x2c\x38\x2e\x34\x33\x2c\x33\x2e\x38\ -\x2c\x32\x33\x2e\x30\x36\x2c\x33\x2e\x37\x38\x2c\x33\x31\x2e\x36\ -\x39\x2e\x34\x35\x2e\x34\x32\x2d\x2e\x31\x36\x2e\x38\x32\x2d\x2e\ -\x33\x36\x2c\x31\x2e\x32\x32\x2d\x2e\x35\x35\x61\x31\x2e\x31\x34\ -\x2c\x31\x2e\x31\x34\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x36\x36\x2d\ -\x31\x2e\x31\x38\x63\x30\x2d\x2e\x38\x38\x2c\x30\x2d\x31\x2e\x36\ -\x2c\x30\x2d\x32\x2e\x35\x33\x61\x35\x2e\x38\x2c\x35\x2e\x38\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x32\x2e\x33\x39\x2c\x32\x63\x2e\x38\x35\ -\x2c\x31\x2e\x34\x31\x2d\x31\x2c\x32\x2e\x37\x33\x2d\x32\x2e\x30\ -\x38\x2c\x33\x2e\x33\x32\x2d\x38\x2e\x31\x33\x2c\x34\x2e\x33\x34\ -\x2d\x32\x33\x2e\x33\x36\x2c\x34\x2e\x32\x34\x2d\x33\x32\x2c\x31\ -\x2e\x33\x32\x43\x38\x2e\x31\x35\x2c\x34\x37\x2e\x37\x39\x2c\x35\ -\x2e\x38\x2c\x34\x36\x2e\x38\x36\x2c\x34\x2e\x37\x35\x2c\x34\x35\ -\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\ -\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\ -\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\ -\x20\x64\x3d\x22\x4d\x32\x35\x2c\x34\x36\x2e\x35\x33\x63\x2d\x35\ -\x2e\x37\x36\x2d\x2e\x30\x35\x2d\x31\x30\x2e\x36\x31\x2d\x2e\x34\ -\x32\x2d\x31\x35\x2e\x36\x35\x2d\x32\x2e\x34\x37\x41\x2e\x34\x37\ -\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x39\x2c\x34\x33\x2e\x35\ -\x32\x63\x30\x2d\x2e\x36\x38\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x30\ -\x2d\x32\x2e\x30\x35\x2c\x30\x2d\x2e\x33\x33\x2e\x30\x35\x2d\x2e\ -\x34\x2e\x33\x34\x2d\x2e\x32\x39\x61\x33\x30\x2e\x34\x39\x2c\x33\ -\x30\x2e\x34\x39\x2c\x30\x2c\x30\x2c\x30\x2c\x35\x2e\x37\x34\x2c\ -\x31\x2e\x35\x36\x63\x37\x2e\x39\x33\x2c\x31\x2e\x33\x33\x2c\x31\ -\x37\x2c\x31\x2e\x32\x33\x2c\x32\x34\x2e\x35\x39\x2d\x31\x2e\x35\ -\x36\x2e\x32\x38\x2d\x2e\x31\x2e\x33\x39\x2d\x2e\x31\x2e\x33\x38\ -\x2e\x32\x39\x2c\x30\x2c\x2e\x36\x39\x2c\x30\x2c\x31\x2e\x33\x37\ -\x2c\x30\x2c\x32\x2e\x30\x36\x61\x2e\x34\x37\x2e\x34\x37\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x33\x35\x2e\x35\x33\x43\x33\x35\x2e\x32\ -\x38\x2c\x34\x36\x2c\x32\x39\x2e\x35\x32\x2c\x34\x36\x2e\x35\x33\ -\x2c\x32\x35\x2c\x34\x36\x2e\x35\x33\x5a\x22\x20\x74\x72\x61\x6e\ +\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\x66\x6f\x6e\x74\ +\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\ +\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\ +\x6e\x67\x3a\x2d\x30\x2e\x30\x32\x65\x6d\x3b\x7d\x2e\x63\x6c\x73\ +\x2d\x34\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\ +\x67\x3a\x2d\x30\x2e\x30\x33\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\ +\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\ +\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\ +\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\ +\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\ +\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\ +\x20\x31\x22\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ +\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\x2e\x37\x35\ +\x2c\x32\x32\x2e\x33\x35\x63\x31\x2e\x35\x35\x2d\x32\x2e\x39\x31\ +\x2c\x37\x2e\x34\x2d\x34\x2e\x32\x31\x2c\x31\x30\x2e\x34\x32\x2d\ +\x34\x2e\x37\x35\x2c\x37\x2e\x35\x35\x2d\x31\x2e\x33\x36\x2c\x32\ +\x32\x2d\x31\x2e\x33\x2c\x32\x38\x2e\x31\x39\x2c\x33\x2e\x35\x31\ +\x2c\x31\x2e\x31\x33\x2e\x39\x32\x2c\x31\x2e\x34\x2c\x32\x2e\x30\ +\x37\x2e\x32\x36\x2c\x33\x2e\x31\x32\x41\x31\x30\x2e\x33\x36\x2c\ +\x31\x30\x2e\x33\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x34\x30\x2c\x32\ +\x36\x2e\x33\x33\x63\x2d\x38\x2e\x37\x34\x2c\x33\x2e\x32\x32\x2d\ +\x32\x32\x2e\x31\x38\x2c\x33\x2e\x32\x38\x2d\x33\x30\x2e\x39\x34\ +\x2c\x30\x2d\x31\x2e\x36\x33\x2d\x2e\x36\x35\x2d\x33\x2e\x34\x35\ +\x2d\x31\x2e\x34\x39\x2d\x34\x2e\x33\x35\x2d\x33\x2e\x31\x33\x5a\ +\x6d\x33\x36\x2e\x33\x31\x2c\x31\x2e\x34\x33\x61\x31\x2c\x31\x2c\ +\x30\x2c\x30\x2c\x30\x2c\x2e\x37\x2d\x31\x2c\x31\x2e\x30\x38\x2c\ +\x31\x2e\x30\x38\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x37\x31\x2d\x31\ +\x63\x2d\x37\x2e\x35\x33\x2d\x33\x2e\x35\x31\x2d\x31\x39\x2d\x33\ +\x2e\x35\x36\x2d\x32\x37\x2e\x31\x31\x2d\x31\x2e\x39\x32\x61\x32\ +\x33\x2e\x36\x34\x2c\x32\x33\x2e\x36\x34\x2c\x30\x2c\x30\x2c\x30\ +\x2d\x35\x2e\x38\x39\x2c\x31\x2e\x39\x33\x2c\x31\x2c\x31\x2c\x30\ +\x2c\x30\x2c\x30\x2d\x2e\x36\x39\x2c\x31\x2c\x31\x2e\x30\x36\x2c\ +\x31\x2e\x30\x36\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x37\x2c\x31\x2c\ +\x31\x37\x2e\x39\x34\x2c\x31\x37\x2e\x39\x34\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x34\x2c\x31\x2e\x34\x38\x43\x32\x30\x2e\x32\x37\x2c\x32\ +\x37\x2e\x32\x2c\x33\x30\x2e\x33\x36\x2c\x32\x38\x2e\x34\x36\x2c\ +\x34\x31\x2e\x30\x36\x2c\x32\x33\x2e\x37\x38\x5a\x22\x20\x74\x72\ +\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ +\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ +\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\ +\x34\x2e\x37\x35\x2c\x34\x34\x2e\x31\x32\x61\x35\x2e\x38\x38\x2c\ +\x35\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2e\x36\x2d\x32\ +\x2e\x33\x31\x76\x32\x2e\x33\x35\x63\x30\x2c\x2e\x39\x2e\x31\x33\ +\x2c\x31\x2e\x31\x32\x2e\x38\x35\x2c\x31\x2e\x34\x36\x2c\x38\x2e\ +\x34\x33\x2c\x33\x2e\x38\x2c\x32\x33\x2e\x30\x36\x2c\x33\x2e\x37\ +\x38\x2c\x33\x31\x2e\x36\x39\x2e\x34\x35\x2e\x34\x32\x2d\x2e\x31\ +\x36\x2e\x38\x32\x2d\x2e\x33\x36\x2c\x31\x2e\x32\x32\x2d\x2e\x35\ +\x35\x61\x31\x2e\x31\x34\x2c\x31\x2e\x31\x34\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x2e\x36\x36\x2d\x31\x2e\x31\x38\x63\x30\x2d\x2e\x38\x38\ +\x2c\x30\x2d\x31\x2e\x36\x2c\x30\x2d\x32\x2e\x35\x33\x61\x35\x2e\ +\x38\x2c\x35\x2e\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2e\x33\x39\ +\x2c\x32\x63\x2e\x38\x35\x2c\x31\x2e\x34\x31\x2d\x31\x2c\x32\x2e\ +\x37\x33\x2d\x32\x2e\x30\x38\x2c\x33\x2e\x33\x32\x2d\x38\x2e\x31\ +\x33\x2c\x34\x2e\x33\x34\x2d\x32\x33\x2e\x33\x36\x2c\x34\x2e\x32\ +\x34\x2d\x33\x32\x2c\x31\x2e\x33\x32\x43\x38\x2e\x31\x35\x2c\x34\ +\x37\x2e\x37\x39\x2c\x35\x2e\x38\x2c\x34\x36\x2e\x38\x36\x2c\x34\ +\x2e\x37\x35\x2c\x34\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ +\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ +\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\ +\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x35\x2c\x34\x36\ +\x2e\x35\x33\x63\x2d\x35\x2e\x37\x36\x2d\x2e\x30\x35\x2d\x31\x30\ +\x2e\x36\x31\x2d\x2e\x34\x32\x2d\x31\x35\x2e\x36\x35\x2d\x32\x2e\ +\x34\x37\x41\x2e\x34\x37\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2c\ +\x39\x2c\x34\x33\x2e\x35\x32\x63\x30\x2d\x2e\x36\x38\x2c\x30\x2d\ +\x31\x2e\x33\x37\x2c\x30\x2d\x32\x2e\x30\x35\x2c\x30\x2d\x2e\x33\ +\x33\x2e\x30\x35\x2d\x2e\x34\x2e\x33\x34\x2d\x2e\x32\x39\x61\x33\ +\x30\x2e\x34\x39\x2c\x33\x30\x2e\x34\x39\x2c\x30\x2c\x30\x2c\x30\ +\x2c\x35\x2e\x37\x34\x2c\x31\x2e\x35\x36\x63\x37\x2e\x39\x33\x2c\ +\x31\x2e\x33\x33\x2c\x31\x37\x2c\x31\x2e\x32\x33\x2c\x32\x34\x2e\ +\x35\x39\x2d\x31\x2e\x35\x36\x2e\x32\x38\x2d\x2e\x31\x2e\x33\x39\ +\x2d\x2e\x31\x2e\x33\x38\x2e\x32\x39\x2c\x30\x2c\x2e\x36\x39\x2c\ +\x30\x2c\x31\x2e\x33\x37\x2c\x30\x2c\x32\x2e\x30\x36\x61\x2e\x34\ +\x37\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x35\x2e\x35\ +\x33\x43\x33\x35\x2e\x32\x38\x2c\x34\x36\x2c\x32\x39\x2e\x35\x32\ +\x2c\x34\x36\x2e\x35\x33\x2c\x32\x35\x2c\x34\x36\x2e\x35\x33\x5a\ +\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ +\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ +\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ +\x64\x3d\x22\x4d\x39\x2c\x32\x39\x2e\x36\x34\x63\x2e\x30\x35\x2d\ +\x2e\x33\x33\x2d\x2e\x31\x38\x2d\x2e\x39\x33\x2e\x31\x2d\x31\x2e\ +\x31\x36\x73\x2e\x37\x2e\x31\x34\x2c\x31\x2e\x30\x36\x2e\x32\x34\ +\x61\x35\x32\x2e\x37\x38\x2c\x35\x32\x2e\x37\x38\x2c\x30\x2c\x30\ +\x2c\x30\x2c\x31\x39\x2e\x38\x39\x2c\x31\x2e\x37\x33\x2c\x34\x35\ +\x2e\x36\x35\x2c\x34\x35\x2e\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\ +\x39\x2e\x35\x35\x2d\x32\x63\x2e\x33\x37\x2d\x2e\x31\x32\x2e\x34\ +\x36\x2d\x2e\x30\x36\x2e\x34\x34\x2e\x33\x38\x61\x31\x36\x2e\x36\ +\x32\x2c\x31\x36\x2e\x36\x32\x2c\x30\x2c\x30\x2c\x30\x2c\x30\x2c\ +\x31\x2e\x37\x33\x2e\x35\x35\x2e\x35\x35\x2c\x30\x2c\x30\x2c\x31\ +\x2d\x2e\x33\x38\x2e\x36\x32\x2c\x32\x37\x2e\x34\x37\x2c\x32\x37\ +\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x36\x2e\x31\x2c\x31\x2e\ +\x37\x32\x43\x32\x36\x2c\x33\x34\x2e\x31\x38\x2c\x31\x36\x2e\x36\ +\x36\x2c\x33\x34\x2e\x30\x39\x2c\x39\x2e\x34\x36\x2c\x33\x31\x2e\ +\x32\x34\x41\x2e\x35\x35\x2e\x35\x35\x2c\x30\x2c\x30\x2c\x31\x2c\ +\x39\x2c\x33\x30\x2e\x35\x36\x43\x39\x2e\x30\x37\x2c\x33\x30\x2e\ +\x33\x2c\x39\x2c\x33\x30\x2c\x39\x2c\x32\x39\x2e\x36\x34\x5a\x22\ +\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ +\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ +\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\ +\x3d\x22\x4d\x32\x35\x2e\x39\x31\x2c\x34\x31\x2e\x35\x38\x61\x31\ +\x32\x2e\x35\x34\x2c\x31\x32\x2e\x35\x34\x2c\x30\x2c\x30\x2c\x31\ +\x2d\x32\x2e\x36\x38\x2e\x30\x37\x63\x2d\x34\x2e\x36\x39\x2d\x2e\ +\x33\x2d\x39\x2e\x35\x33\x2d\x2e\x36\x35\x2d\x31\x33\x2e\x39\x33\ +\x2d\x32\x2e\x35\x36\x41\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x39\x2c\x33\x38\x2e\x36\x36\x63\x2d\x2e\x30\x39\x2d\ +\x31\x2e\x35\x38\x2d\x2e\x31\x2d\x31\x2e\x35\x37\x2c\x31\x2e\x31\ +\x39\x2d\x31\x2e\x31\x32\x2c\x38\x2e\x36\x37\x2c\x32\x2e\x38\x31\ +\x2c\x32\x30\x2e\x38\x34\x2c\x32\x2e\x38\x34\x2c\x32\x39\x2e\x34\ +\x34\x2d\x2e\x32\x39\x2e\x33\x35\x2d\x2e\x31\x34\x2e\x34\x31\x2d\ +\x2e\x30\x36\x2e\x34\x31\x2e\x33\x35\x2c\x30\x2c\x31\x2e\x34\x31\ +\x2c\x30\x2c\x31\x2e\x34\x32\x2d\x31\x2e\x31\x36\x2c\x31\x2e\x38\ +\x36\x41\x34\x31\x2e\x38\x36\x2c\x34\x31\x2e\x38\x36\x2c\x30\x2c\ +\x30\x2c\x31\x2c\x32\x35\x2e\x39\x31\x2c\x34\x31\x2e\x35\x38\x5a\ +\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ +\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ +\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ +\x64\x3d\x22\x4d\x32\x34\x2e\x39\x2c\x33\x37\x2e\x36\x33\x63\x2d\ +\x35\x2e\x35\x39\x2c\x30\x2d\x31\x30\x2e\x35\x35\x2d\x2e\x34\x34\ +\x2d\x31\x35\x2e\x35\x32\x2d\x32\x2e\x34\x37\x2d\x2e\x32\x34\x2d\ +\x2e\x31\x31\x2d\x2e\x33\x37\x2d\x2e\x32\x32\x2d\x2e\x33\x34\x2d\ +\x2e\x35\x33\x2c\x30\x2d\x2e\x34\x37\x2d\x2e\x31\x37\x2d\x31\x2e\ +\x31\x32\x2e\x30\x38\x2d\x31\x2e\x33\x35\x73\x2e\x37\x33\x2e\x32\ +\x2c\x31\x2e\x31\x31\x2e\x33\x32\x43\x31\x39\x2c\x33\x36\x2e\x33\ +\x34\x2c\x33\x31\x2c\x33\x36\x2e\x34\x36\x2c\x33\x39\x2e\x36\x33\ +\x2c\x33\x33\x2e\x32\x39\x63\x2e\x34\x32\x2d\x2e\x31\x36\x2e\x34\ +\x36\x2c\x30\x2c\x2e\x34\x35\x2e\x34\x2c\x30\x2c\x31\x2e\x33\x34\ +\x2c\x30\x2c\x31\x2e\x33\x35\x2d\x31\x2e\x31\x32\x2c\x31\x2e\x37\ +\x38\x41\x34\x31\x2e\x35\x31\x2c\x34\x31\x2e\x35\x31\x2c\x30\x2c\ +\x30\x2c\x31\x2c\x32\x34\x2e\x39\x2c\x33\x37\x2e\x36\x33\x5a\x22\ +\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ +\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ +\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\ +\x3d\x22\x4d\x37\x2e\x37\x37\x2c\x32\x38\x2e\x37\x39\x63\x30\x2d\ +\x31\x2c\x30\x2d\x31\x2e\x30\x35\x2d\x2e\x38\x39\x2d\x31\x2e\x32\ +\x39\x2d\x33\x2e\x33\x2d\x31\x2d\x36\x2e\x32\x38\x2e\x32\x39\x2d\ +\x36\x2e\x37\x35\x2c\x34\x2d\x2e\x32\x37\x2c\x31\x2e\x37\x31\x2d\ +\x2e\x32\x34\x2c\x31\x2e\x37\x31\x2c\x31\x2e\x32\x36\x2c\x31\x2e\ +\x36\x38\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x38\x2d\x2e\x31\x2e\x33\ +\x38\x2d\x2e\x34\x32\x41\x35\x2e\x36\x33\x2c\x35\x2e\x36\x33\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x33\x31\x2e\x30\x36\x61\x32\x2e\ +\x34\x2c\x32\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2d\x31\x2e\ +\x38\x2c\x36\x2e\x37\x33\x2c\x36\x2e\x37\x33\x2c\x30\x2c\x30\x2c\ +\x31\x2c\x33\x2e\x32\x2e\x34\x32\x63\x2e\x35\x2e\x31\x38\x2e\x35\ +\x2e\x31\x38\x2e\x35\x2d\x2e\x34\x35\x5a\x22\x20\x74\x72\x61\x6e\ \x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ -\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x39\x2c\ -\x32\x39\x2e\x36\x34\x63\x2e\x30\x35\x2d\x2e\x33\x33\x2d\x2e\x31\ -\x38\x2d\x2e\x39\x33\x2e\x31\x2d\x31\x2e\x31\x36\x73\x2e\x37\x2e\ -\x31\x34\x2c\x31\x2e\x30\x36\x2e\x32\x34\x61\x35\x32\x2e\x37\x38\ -\x2c\x35\x32\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x39\x2e\ -\x38\x39\x2c\x31\x2e\x37\x33\x2c\x34\x35\x2e\x36\x35\x2c\x34\x35\ -\x2e\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x39\x2e\x35\x35\x2d\x32\ -\x63\x2e\x33\x37\x2d\x2e\x31\x32\x2e\x34\x36\x2d\x2e\x30\x36\x2e\ -\x34\x34\x2e\x33\x38\x61\x31\x36\x2e\x36\x32\x2c\x31\x36\x2e\x36\ -\x32\x2c\x30\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x33\x2e\x35\ -\x35\x2e\x35\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2e\x36\ -\x32\x2c\x32\x37\x2e\x34\x37\x2c\x32\x37\x2e\x34\x37\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x36\x2e\x31\x2c\x31\x2e\x37\x32\x43\x32\x36\x2c\ -\x33\x34\x2e\x31\x38\x2c\x31\x36\x2e\x36\x36\x2c\x33\x34\x2e\x30\ -\x39\x2c\x39\x2e\x34\x36\x2c\x33\x31\x2e\x32\x34\x41\x2e\x35\x35\ -\x2e\x35\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x39\x2c\x33\x30\x2e\x35\ -\x36\x43\x39\x2e\x30\x37\x2c\x33\x30\x2e\x33\x2c\x39\x2c\x33\x30\ -\x2c\x39\x2c\x32\x39\x2e\x36\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\ -\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ -\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x35\x2e\ -\x39\x31\x2c\x34\x31\x2e\x35\x38\x61\x31\x32\x2e\x35\x34\x2c\x31\ -\x32\x2e\x35\x34\x2c\x30\x2c\x30\x2c\x31\x2d\x32\x2e\x36\x38\x2e\ -\x30\x37\x63\x2d\x34\x2e\x36\x39\x2d\x2e\x33\x2d\x39\x2e\x35\x33\ -\x2d\x2e\x36\x35\x2d\x31\x33\x2e\x39\x33\x2d\x32\x2e\x35\x36\x41\ -\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x39\x2c\x33\ -\x38\x2e\x36\x36\x63\x2d\x2e\x30\x39\x2d\x31\x2e\x35\x38\x2d\x2e\ -\x31\x2d\x31\x2e\x35\x37\x2c\x31\x2e\x31\x39\x2d\x31\x2e\x31\x32\ -\x2c\x38\x2e\x36\x37\x2c\x32\x2e\x38\x31\x2c\x32\x30\x2e\x38\x34\ -\x2c\x32\x2e\x38\x34\x2c\x32\x39\x2e\x34\x34\x2d\x2e\x32\x39\x2e\ -\x33\x35\x2d\x2e\x31\x34\x2e\x34\x31\x2d\x2e\x30\x36\x2e\x34\x31\ -\x2e\x33\x35\x2c\x30\x2c\x31\x2e\x34\x31\x2c\x30\x2c\x31\x2e\x34\ -\x32\x2d\x31\x2e\x31\x36\x2c\x31\x2e\x38\x36\x41\x34\x31\x2e\x38\ -\x36\x2c\x34\x31\x2e\x38\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x35\ -\x2e\x39\x31\x2c\x34\x31\x2e\x35\x38\x5a\x22\x20\x74\x72\x61\x6e\ +\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x63\x78\x3d\ +\x22\x32\x34\x2e\x37\x36\x22\x20\x63\x79\x3d\x22\x32\x32\x2e\x37\ +\x37\x22\x20\x72\x78\x3d\x22\x36\x2e\x38\x39\x22\x20\x72\x79\x3d\ +\x22\x31\x2e\x31\x35\x22\x2f\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\ +\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x74\x72\x61\x6e\ \x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ -\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x34\ -\x2e\x39\x2c\x33\x37\x2e\x36\x33\x63\x2d\x35\x2e\x35\x39\x2c\x30\ -\x2d\x31\x30\x2e\x35\x35\x2d\x2e\x34\x34\x2d\x31\x35\x2e\x35\x32\ -\x2d\x32\x2e\x34\x37\x2d\x2e\x32\x34\x2d\x2e\x31\x31\x2d\x2e\x33\ -\x37\x2d\x2e\x32\x32\x2d\x2e\x33\x34\x2d\x2e\x35\x33\x2c\x30\x2d\ -\x2e\x34\x37\x2d\x2e\x31\x37\x2d\x31\x2e\x31\x32\x2e\x30\x38\x2d\ -\x31\x2e\x33\x35\x73\x2e\x37\x33\x2e\x32\x2c\x31\x2e\x31\x31\x2e\ -\x33\x32\x43\x31\x39\x2c\x33\x36\x2e\x33\x34\x2c\x33\x31\x2c\x33\ -\x36\x2e\x34\x36\x2c\x33\x39\x2e\x36\x33\x2c\x33\x33\x2e\x32\x39\ -\x63\x2e\x34\x32\x2d\x2e\x31\x36\x2e\x34\x36\x2c\x30\x2c\x2e\x34\ -\x35\x2e\x34\x2c\x30\x2c\x31\x2e\x33\x34\x2c\x30\x2c\x31\x2e\x33\ -\x35\x2d\x31\x2e\x31\x32\x2c\x31\x2e\x37\x38\x41\x34\x31\x2e\x35\ -\x31\x2c\x34\x31\x2e\x35\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\ -\x2e\x39\x2c\x33\x37\x2e\x36\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\ -\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ -\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x37\x2e\x37\ -\x37\x2c\x32\x38\x2e\x37\x39\x63\x30\x2d\x31\x2c\x30\x2d\x31\x2e\ -\x30\x35\x2d\x2e\x38\x39\x2d\x31\x2e\x32\x39\x2d\x33\x2e\x33\x2d\ -\x31\x2d\x36\x2e\x32\x38\x2e\x32\x39\x2d\x36\x2e\x37\x35\x2c\x34\ -\x2d\x2e\x32\x37\x2c\x31\x2e\x37\x31\x2d\x2e\x32\x34\x2c\x31\x2e\ -\x37\x31\x2c\x31\x2e\x32\x36\x2c\x31\x2e\x36\x38\x2e\x32\x39\x2c\ -\x30\x2c\x2e\x33\x38\x2d\x2e\x31\x2e\x33\x38\x2d\x2e\x34\x32\x41\ -\x35\x2e\x36\x33\x2c\x35\x2e\x36\x33\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x32\x2c\x33\x31\x2e\x30\x36\x61\x32\x2e\x34\x2c\x32\x2e\x34\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x32\x2d\x31\x2e\x38\x2c\x36\x2e\x37\x33\ -\x2c\x36\x2e\x37\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x33\x2e\x32\x2e\ -\x34\x32\x63\x2e\x35\x2e\x31\x38\x2e\x35\x2e\x31\x38\x2e\x35\x2d\ -\x2e\x34\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ -\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ -\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x31\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x37\x36\ -\x22\x20\x63\x79\x3d\x22\x32\x32\x2e\x37\x37\x22\x20\x72\x78\x3d\ -\x22\x36\x2e\x38\x39\x22\x20\x72\x79\x3d\x22\x31\x2e\x31\x35\x22\ -\x2f\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x32\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ -\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x30\x34\ -\x20\x34\x39\x2e\x33\x37\x29\x20\x73\x63\x61\x6c\x65\x28\x31\x2e\ -\x30\x31\x20\x31\x29\x22\x3e\x6e\x3c\x74\x73\x70\x61\x6e\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x78\x3d\x22\ -\x33\x32\x2e\x39\x31\x22\x20\x79\x3d\x22\x30\x22\x3e\x2f\x3c\x2f\ -\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x78\x3d\x22\x35\x30\ -\x2e\x34\x38\x22\x20\x79\x3d\x22\x30\x22\x3e\x61\x3c\x2f\x74\x73\ -\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x2f\x67\x3e\x3c\ -\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x28\x35\x36\x2e\x30\x34\x20\x34\x39\x2e\x33\x37\x29\x20\x73\x63\ +\x61\x6c\x65\x28\x31\x2e\x30\x31\x20\x31\x29\x22\x3e\x6e\x3c\x74\ +\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ +\x33\x22\x20\x78\x3d\x22\x33\x32\x2e\x39\x31\x22\x20\x79\x3d\x22\ +\x30\x22\x3e\x2f\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\ +\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\ +\x20\x78\x3d\x22\x35\x30\x2e\x34\x38\x22\x20\x79\x3d\x22\x30\x22\ +\x3e\x61\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\ +\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ \x00\x00\x02\x53\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ @@ -1556,7 +1552,7 @@ \x30\x2c\x30\x2c\x31\x2c\x36\x2e\x39\x33\x2c\x31\x32\x2e\x32\x37\ \x5a\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\ \x67\x3e\ -\x00\x00\x0a\x25\ +\x00\x00\x0a\x1b\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -1565,163 +1561,162 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x33\x65\ -\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\ -\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\ -\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\ -\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\ -\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\ -\x29\x22\x3e\x68\x69\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x78\x3d\x22\x33\x39\x2e\ -\x37\x33\x22\x20\x79\x3d\x22\x30\x22\x3e\x70\x3c\x2f\x74\x73\x70\ -\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x36\x36\x2e\ -\x34\x33\x22\x20\x79\x3d\x22\x30\x22\x3e\x73\x3c\x2f\x74\x73\x70\ -\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\ -\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ -\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x34\x63\x32\x2e\ -\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\ -\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\ -\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\ -\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\ -\x31\x2e\x38\x32\x2c\x31\x2e\x32\x32\x2d\x32\x2e\x37\x34\x2e\x32\ -\x33\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\x31\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\ -\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\ -\x2c\x30\x2d\x32\x36\x2e\x39\x2e\x35\x38\x2d\x31\x2e\x34\x32\x2c\ -\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\x39\ -\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x37\x32\x61\x2e\x38\ -\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\ -\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\ -\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\ -\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\ -\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\ -\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\ -\x2e\x39\x2e\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\ -\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\ -\x2e\x36\x31\x2c\x31\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\ -\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x34\x2c\x31\x39\x2e\x34\x31\ -\x2c\x34\x30\x2e\x34\x31\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\ -\x37\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\ -\x34\x61\x35\x2e\x31\x33\x2c\x35\x2e\x31\x33\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x32\x2c\x32\x2e\x32\x37\x63\x2d\x2e\x37\x32\x2c\x30\x2d\ -\x31\x2e\x33\x39\x2c\x30\x2d\x32\x2e\x30\x36\x2c\x30\x73\x2d\x31\ -\x2c\x2e\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\ -\x2e\x34\x38\x2c\x31\x2c\x34\x31\x2e\x31\x39\x2c\x33\x2e\x39\x32\ -\x2c\x34\x38\x2e\x37\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\ -\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x41\ -\x35\x2e\x30\x37\x2c\x35\x2e\x30\x37\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x35\x2e\x39\x32\x2c\x35\x32\x2e\x34\x63\x2d\x31\x2e\x32\x34\x2e\ -\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x38\x2d\x32\x2e\x39\x33\x2d\ -\x31\x2e\x38\x31\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x33\x2d\ -\x2e\x37\x34\x2c\x33\x30\x2e\x32\x38\x2c\x31\x2e\x38\x33\x2c\x32\ -\x32\x2e\x37\x34\x63\x2e\x35\x39\x2d\x31\x2e\x36\x34\x2c\x31\x2e\ -\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\ -\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ -\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ -\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\ -\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x63\x30\ -\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\ -\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\ -\x2c\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\ -\x2c\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x33\x61\x32\ -\x37\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\x2e\x31\x37\x2c\x36\x2e\ -\x39\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\x37\x35\x2c\x31\x2e\x33\ -\x37\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\ -\x33\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\x2e\x36\x2c\x30\x2d\x31\ -\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x33\ -\x2e\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\ -\x43\x34\x2c\x34\x34\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x39\ -\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x37\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\ -\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x37\x63\x2e\ -\x32\x38\x2e\x30\x35\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\ -\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\ -\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\ -\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\ -\x39\x2e\x36\x31\x2c\x33\x39\x2e\x36\x31\x2c\x30\x2c\x30\x2c\x30\ -\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\ -\x33\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\ -\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\x2e\x34\x39\x2e\x34\x39\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\ -\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\x2c\x30\x2c\x30\x2c\x31\ -\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\ -\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\ -\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x34\x31\x2c\x37\x2e\x34\x31\ -\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\ -\x38\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\ -\x34\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\ -\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x38\x2c\x32\x2e\ -\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x36\x2e\x33\x36\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x33\x63\x31\x2e\ -\x33\x39\x2d\x2e\x30\x38\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\ -\x31\x2c\x31\x43\x39\x2c\x33\x30\x2e\x34\x35\x2c\x38\x2e\x39\x33\ -\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x35\x63\x2e\ -\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\x33\x37\x2d\x2e\x33\x2e\x33\ -\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\ -\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\x31\x34\x2c\x33\x36\x2e\ -\x31\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\ -\x2e\x35\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ -\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\ +\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\ +\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\ +\x2d\x30\x2e\x30\x33\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\ +\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\ +\x61\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ +\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\ +\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\ +\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\ +\x22\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ +\x6c\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\ +\x20\x34\x39\x2e\x39\x33\x29\x22\x3e\x68\x69\x3c\x74\x73\x70\x61\ +\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\ +\x78\x3d\x22\x33\x39\x2e\x37\x33\x22\x20\x79\x3d\x22\x30\x22\x3e\ +\x70\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\ +\x78\x3d\x22\x36\x36\x2e\x34\x33\x22\x20\x79\x3d\x22\x30\x22\x3e\ +\x73\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\ \x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ -\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\ -\x2e\x36\x36\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\ -\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x34\x39\x61\x2e\x34\ -\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\ -\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\ -\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\x33\x2d\x2e\x32\x38\x2c\x31\ -\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\ -\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x36\x2e\x31\x34\ -\x2e\x33\x36\x2c\x30\x2c\x2e\x34\x2d\x2e\x33\x35\x2e\x33\x39\x2d\ -\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\ -\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\x34\x2c\x33\x35\x2e\x37\x34\ -\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\ -\x36\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\ -\x37\x37\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\ -\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\ -\x2e\x32\x35\x2d\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\ -\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\ -\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\ -\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2c\ -\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x33\x2c\ -\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\ -\x31\x2e\x35\x38\x2c\x31\x2e\x37\x37\x2c\x35\x2e\x37\x34\x2c\x35\ -\x2e\x37\x34\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\ -\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\ -\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\ -\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x34\x22\ -\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\ -\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\ -\x73\x76\x67\x3e\ -\x00\x00\x0a\x12\ +\x2d\x33\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\ +\x2e\x31\x34\x63\x32\x2e\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\ +\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\ +\x36\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\ +\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\ +\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x32\x2d\ +\x32\x2e\x37\x34\x2e\x32\x33\x61\x39\x2e\x31\x31\x2c\x39\x2e\x31\ +\x31\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\ +\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\ +\x2d\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\x2e\x39\x2e\x35\x38\ +\x2d\x31\x2e\x34\x32\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\x2e\x37\ +\x35\x2d\x33\x2e\x37\x39\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\ +\x2e\x37\x32\x61\x2e\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\ +\x2c\x2e\x38\x36\x2e\x36\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\ +\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\ +\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\ +\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\ +\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\ +\x32\x37\x2c\x32\x31\x61\x2e\x39\x2e\x39\x2c\x30\x2c\x30\x2c\x30\ +\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\ +\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\x34\x2e\x39\x34\x2c\ +\x31\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\ +\x33\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x34\ +\x2c\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x34\x31\x2c\x32\x33\x2e\ +\x35\x33\x2c\x34\x39\x2e\x37\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\ +\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ +\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ +\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\ +\x34\x2c\x31\x38\x2e\x31\x34\x61\x35\x2e\x31\x33\x2c\x35\x2e\x31\ +\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x37\x63\x2d\ +\x2e\x37\x32\x2c\x30\x2d\x31\x2e\x33\x39\x2c\x30\x2d\x32\x2e\x30\ +\x36\x2c\x30\x73\x2d\x31\x2c\x2e\x31\x2d\x31\x2e\x32\x39\x2e\x37\ +\x34\x43\x31\x2c\x32\x38\x2e\x34\x38\x2c\x31\x2c\x34\x31\x2e\x31\ +\x39\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x37\x63\x2e\x31\x35\x2e\ +\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\ +\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\ +\x48\x37\x2e\x36\x37\x41\x35\x2e\x30\x37\x2c\x35\x2e\x30\x37\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x35\x2e\x39\x32\x2c\x35\x32\x2e\x34\x63\ +\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x38\ +\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x31\x43\x2d\x2e\x38\x32\x2c\ +\x34\x33\x2e\x35\x33\x2d\x2e\x37\x34\x2c\x33\x30\x2e\x32\x38\x2c\ +\x31\x2e\x38\x33\x2c\x32\x32\x2e\x37\x34\x63\x2e\x35\x39\x2d\x31\ +\x2e\x36\x34\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\ +\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\ +\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\ +\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ +\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\ +\x35\x2e\x37\x37\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\ +\x33\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x32\ +\x2e\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\ +\x39\x63\x2e\x36\x2c\x30\x2c\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\ +\x2c\x30\x2c\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\ +\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\ +\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\x63\x2d\x31\ +\x2e\x31\x37\x2c\x36\x2e\x39\x2d\x31\x2e\x30\x38\x2c\x31\x34\x2e\ +\x37\x35\x2c\x31\x2e\x33\x37\x2c\x32\x31\x2e\x33\x38\x2e\x31\x2e\ +\x32\x34\x2e\x30\x39\x2e\x33\x34\x2d\x2e\x32\x35\x2e\x33\x33\x2d\ +\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\ +\x2c\x30\x61\x2e\x34\x33\x2e\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2d\ +\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\x34\x34\x2e\x36\x38\x2c\x33\ +\x2e\x35\x32\x2c\x33\x39\x2e\x36\x38\x2c\x33\x2e\x35\x32\x2c\x33\ +\x35\x2e\x37\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ +\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ +\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\ +\x31\x2e\x38\x37\x63\x2e\x32\x38\x2e\x30\x35\x2e\x38\x31\x2d\x2e\ +\x31\x36\x2c\x31\x2c\x2e\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x31\ +\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\ +\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\ +\x37\x2e\x32\x39\x2c\x33\x39\x2e\x36\x31\x2c\x33\x39\x2e\x36\x31\ +\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\ +\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\ +\x2e\x33\x38\x73\x2d\x31\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\ +\x2e\x34\x39\x2e\x34\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\ +\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x38\x35\x2c\x32\x33\x2e\x38\x35\ +\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\ +\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\ +\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x34\ +\x31\x2c\x37\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\ +\x33\x38\x2c\x32\x31\x2e\x38\x37\x5a\x22\x20\x74\x72\x61\x6e\x73\ +\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ +\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ +\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\ +\x37\x2c\x33\x36\x2e\x35\x34\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\ +\x2e\x32\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\ +\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\ +\x2e\x32\x38\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\ +\x33\x36\x2e\x33\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\ +\x2e\x32\x33\x63\x31\x2e\x33\x39\x2d\x2e\x30\x38\x2c\x31\x2e\x33\ +\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\x39\x2c\x33\x30\x2e\x34\ +\x35\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\ +\x34\x38\x2e\x35\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\x33\ +\x37\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\ +\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\ +\x31\x34\x2c\x33\x36\x2e\x31\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x37\ +\x2e\x38\x37\x2c\x33\x36\x2e\x35\x34\x5a\x22\x20\x74\x72\x61\x6e\ +\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ +\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ +\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x31\ +\x2e\x33\x35\x2c\x33\x35\x2e\x36\x36\x63\x30\x2d\x34\x2e\x38\x36\ +\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\x33\ +\x2e\x34\x39\x61\x2e\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\ +\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\ +\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\x33\ +\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\ +\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\ +\x2e\x35\x36\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x34\x2d\x2e\ +\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\x31\ +\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\x34\ +\x2c\x33\x35\x2e\x37\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\x2e\ +\x33\x35\x2c\x33\x35\x2e\x36\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\ +\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ +\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ +\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x39\x2e\ +\x31\x32\x2c\x32\x30\x2e\x37\x37\x63\x2e\x39\x32\x2c\x30\x2c\x2e\ +\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\x36\ +\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\x2d\x33\ +\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\x33\ +\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\x2e\ +\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\ +\x2e\x33\x33\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\ +\x34\x39\x2e\x32\x33\x2c\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\ +\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x37\x2c\ +\x35\x2e\x37\x34\x2c\x35\x2e\x37\x34\x2c\x30\x2c\x30\x2c\x31\x2d\ +\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\ +\x2d\x2e\x31\x35\x2e\x34\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\ +\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ +\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\ +\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\ +\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\ +\x33\x35\x2e\x35\x34\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\ +\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\ +\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x0a\x08\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -1730,162 +1725,161 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\ -\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\ -\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\ -\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\ -\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\ -\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\ -\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x32\x22\x3e\x6e\x79\x3c\x2f\x74\x73\x70\x61\ -\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x36\x34\x2e\x34\ -\x22\x20\x79\x3d\x22\x30\x22\x3e\x6c\x3c\x2f\x74\x73\x70\x61\x6e\ -\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\ -\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x32\x63\x32\x2e\x35\x36\ -\x2c\x31\x2e\x33\x34\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\ -\x34\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\x31\x2e\x32\x2c\x36\x2e\ -\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\ -\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\ -\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\ -\x39\x2c\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\ -\x2e\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x31\x2d\x32\x2e\ -\x38\x38\x2d\x31\x39\x2e\x33\x2c\x30\x2d\x32\x36\x2e\x39\x31\x2e\ -\x35\x38\x2d\x31\x2e\x34\x31\x2c\x31\x2e\x33\x31\x2d\x33\x2c\x32\ -\x2e\x37\x35\x2d\x33\x2e\x37\x38\x5a\x4d\x32\x33\x2e\x35\x33\x2c\ -\x34\x39\x2e\x36\x39\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x31\x2e\x39\x34\x2e\x39\x34\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x32\x63\x33\x2e\ -\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\ -\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\ -\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\x38\x38\x2e\x38\x38\x2c\ -\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2e\x39\x32\x2e\ -\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\ -\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\x32\x30\x2e\x35\x32\x2c\ -\x33\x31\x2e\x36\x32\x2c\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x33\ -\x39\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\x39\x5a\x22\x20\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x33\x7b\x66\ +\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\ +\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\ +\x2d\x30\x2e\x30\x31\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\ +\x3e\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\ +\x61\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ +\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\ +\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\ +\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\ +\x22\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ +\x6c\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\ +\x20\x34\x39\x2e\x39\x33\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\ +\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x3e\x6e\x79\ +\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\ +\x3d\x22\x36\x34\x2e\x34\x22\x20\x79\x3d\x22\x30\x22\x3e\x6c\x3c\ +\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\ +\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\ +\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\ +\x32\x63\x32\x2e\x35\x36\x2c\x31\x2e\x33\x34\x2c\x33\x2e\x37\x31\ +\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x36\x2c\ +\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\ +\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\ +\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\ +\x37\x34\x2e\x32\x32\x61\x39\x2c\x39\x2c\x30\x2c\x30\x2c\x31\x2d\ +\x31\x2e\x38\x35\x2d\x33\x2e\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\ +\x2e\x36\x31\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x33\x2c\x30\x2d\ +\x32\x36\x2e\x39\x31\x2e\x35\x38\x2d\x31\x2e\x34\x31\x2c\x31\x2e\ +\x33\x31\x2d\x33\x2c\x32\x2e\x37\x35\x2d\x33\x2e\x37\x38\x5a\x4d\ +\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\x39\x61\x2e\x39\x31\x2e\ +\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x31\x2e\ +\x39\x34\x2e\x39\x34\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\ +\x2e\x36\x32\x63\x33\x2e\x30\x39\x2d\x36\x2e\x35\x34\x2c\x33\x2e\ +\x31\x33\x2d\x31\x36\x2e\x35\x35\x2c\x31\x2e\x36\x39\x2d\x32\x33\ +\x2e\x35\x37\x41\x32\x30\x2e\x32\x37\x2c\x32\x30\x2e\x32\x37\x2c\ +\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\ +\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\ +\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\ +\x39\x2e\x36\x31\x2c\x31\x34\x2e\x39\x34\x2c\x31\x34\x2e\x39\x34\ +\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x38\x43\ +\x32\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x32\x2c\x31\x39\x2e\x34\ +\x31\x2c\x34\x30\x2e\x33\x39\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\ +\x2e\x36\x39\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\ +\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\ +\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ +\x2d\x33\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\ +\x31\x32\x61\x35\x2e\x31\x36\x2c\x35\x2e\x31\x36\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x36\x48\x35\x2e\x36\x31\x63\x2d\ +\x2e\x38\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\ +\x37\x34\x43\x31\x2c\x32\x38\x2e\x34\x35\x2c\x31\x2c\x34\x31\x2e\ +\x31\x37\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x36\x38\x63\x2e\x31\ +\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x2e\x34\x39\x2c\x31\x2e\x30\ +\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\ +\x37\x48\x37\x2e\x36\x37\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\ +\x2d\x31\x2e\x37\x35\x2c\x32\x2e\x30\x37\x63\x2d\x31\x2e\x32\x34\ +\x2e\x37\x35\x2d\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\ +\x2d\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x2d\x2e\ +\x37\x34\x2c\x33\x30\x2e\x32\x35\x2c\x31\x2e\x38\x33\x2c\x32\x32\ +\x2e\x37\x32\x63\x2e\x35\x39\x2d\x31\x2e\x36\x35\x2c\x31\x2e\x34\ +\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\ +\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ +\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ +\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\ +\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x35\x63\x30\x2d\ +\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x34\x2c\x32\x2e\x31\x37\x2d\ +\x31\x33\x2e\x36\x32\x61\x2e\x34\x34\x2e\x34\x34\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\x2c\ +\x31\x2e\x32\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\x2c\ +\x30\x2c\x2e\x33\x35\x2c\x30\x2c\x2e\x32\x35\x2e\x32\x39\x61\x32\ +\x37\x2e\x34\x35\x2c\x32\x37\x2e\x34\x35\x2c\x30\x2c\x30\x2c\x30\ +\x2d\x31\x2e\x33\x37\x2c\x35\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\ +\x35\x2e\x37\x37\x2c\x34\x31\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\ +\x34\x38\x2e\x35\x32\x63\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\ +\x34\x2d\x2e\x32\x35\x2e\x33\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\ +\x32\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\ +\x34\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x32\x39\ +\x43\x34\x2c\x34\x34\x2e\x36\x36\x2c\x33\x2e\x35\x32\x2c\x33\x39\ +\x2e\x36\x35\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x35\x5a\x22\ +\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ +\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ +\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\ +\x3d\x22\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x35\x63\x2e\ +\x32\x38\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\ +\x30\x39\x73\x2d\x2e\x31\x33\x2e\x36\x2d\x2e\x32\x32\x2e\x39\x32\ +\x61\x34\x35\x2e\x36\x39\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\ +\x2c\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\ +\x2e\x38\x37\x2c\x33\x39\x2e\x38\x37\x2c\x30\x2c\x30\x2c\x30\x2c\ +\x31\x2e\x37\x32\x2c\x38\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x32\ +\x2e\x30\x35\x2e\x34\x2d\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\x2c\ +\x30\x2d\x31\x2e\x35\x33\x2c\x30\x61\x2e\x34\x37\x2e\x34\x37\x2c\ +\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\ +\x2e\x36\x32\x2c\x32\x33\x2e\x36\x32\x2c\x30\x2c\x30\x2c\x31\x2d\ +\x31\x2e\x35\x31\x2d\x35\x2e\x32\x39\x63\x2d\x31\x2e\x30\x39\x2d\ +\x36\x2e\x35\x39\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\ +\x39\x2d\x32\x31\x61\x2e\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\ +\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x43\x31\x37\x2e\x38\x2c\x32\x31\ +\x2e\x38\x37\x2c\x31\x38\x2c\x32\x31\x2e\x38\x35\x2c\x31\x38\x2e\ +\x33\x38\x2c\x32\x31\x2e\x38\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\ +\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ +\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ +\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\ +\x37\x2c\x33\x36\x2e\x35\x32\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\ +\x2e\x32\x36\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\ +\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\ +\x2e\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\ +\x33\x38\x2e\x33\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\ +\x2e\x32\x34\x63\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\ +\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x2e\x30\x35\x43\x39\x2c\x33\ +\x30\x2e\x34\x33\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\ +\x36\x38\x2c\x34\x38\x2e\x34\x38\x63\x2e\x31\x32\x2e\x33\x31\x2e\ +\x30\x35\x2e\x33\x36\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\x35\ +\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\ +\x41\x33\x36\x2e\x31\x39\x2c\x33\x36\x2e\x31\x39\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x5a\x22\x20\ \x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ \x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ \x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\ -\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x32\x61\x35\x2e\x31\ -\x36\x2c\x35\x2e\x31\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\ -\x2e\x32\x36\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\ -\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\ -\x38\x2e\x34\x35\x2c\x31\x2c\x34\x31\x2e\x31\x37\x2c\x33\x2e\x39\ -\x32\x2c\x34\x38\x2e\x36\x38\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\ -\x33\x2e\x37\x2e\x34\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\ -\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\ -\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x37\x35\x2c\ -\x32\x2e\x30\x37\x63\x2d\x31\x2e\x32\x34\x2e\x37\x35\x2d\x32\x2e\ -\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\ -\x2e\x38\x32\x2c\x34\x33\x2e\x35\x2d\x2e\x37\x34\x2c\x33\x30\x2e\ -\x32\x35\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\x37\x32\x63\x2e\x35\ -\x39\x2d\x31\x2e\x36\x35\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\ -\x33\x2e\x30\x35\x2d\x34\x2e\x36\x5a\x22\x20\x74\x72\x61\x6e\x73\ -\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ -\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\ -\x32\x2c\x33\x35\x2e\x37\x35\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\ -\x39\x2e\x32\x34\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x32\x61\ -\x2e\x34\x34\x2e\x34\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\ -\x2d\x2e\x32\x39\x63\x2e\x36\x2c\x30\x2c\x31\x2e\x32\x2c\x30\x2c\ -\x31\x2e\x38\x2c\x30\x2c\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2c\ -\x30\x2c\x2e\x32\x35\x2e\x32\x39\x61\x32\x37\x2e\x34\x35\x2c\x32\ -\x37\x2e\x34\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\ -\x35\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\ -\x31\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\ -\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x34\x2d\x2e\x32\x35\x2e\ -\x33\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\ -\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\ -\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x32\x39\x43\x34\x2c\x34\x34\x2e\ -\x36\x36\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\ -\x35\x32\x2c\x33\x35\x2e\x37\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\ -\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\ -\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\ -\x33\x38\x2c\x32\x31\x2e\x38\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\ -\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x39\x73\x2d\x2e\x31\ -\x33\x2e\x36\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x36\x39\ -\x2c\x34\x35\x2e\x36\x39\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\ -\x32\x2c\x31\x37\x2e\x32\x39\x2c\x33\x39\x2e\x38\x37\x2c\x33\x39\ -\x2e\x38\x37\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\ -\x2e\x33\x31\x63\x2e\x31\x31\x2e\x33\x32\x2e\x30\x35\x2e\x34\x2d\ -\x2e\x33\x33\x2e\x33\x38\x73\x2d\x31\x2c\x30\x2d\x31\x2e\x35\x33\ -\x2c\x30\x61\x2e\x34\x37\x2e\x34\x37\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\x36\x32\x2c\x32\x33\ -\x2e\x36\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\ -\x2e\x32\x39\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x39\x2d\x31\ -\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\x61\x2e\ -\x34\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\ -\x33\x37\x43\x31\x37\x2e\x38\x2c\x32\x31\x2e\x38\x37\x2c\x31\x38\ -\x2c\x32\x31\x2e\x38\x35\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\ -\x38\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\ -\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ -\x33\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\ -\x32\x61\x31\x31\x2e\x32\x36\x2c\x31\x31\x2e\x32\x36\x2c\x30\x2c\ -\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\ -\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\ -\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x38\x2e\x33\x38\x2c\ -\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\x63\x31\x2e\ -\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\ -\x31\x2c\x31\x2e\x30\x35\x43\x39\x2c\x33\x30\x2e\x34\x33\x2c\x38\ -\x2e\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\ -\x34\x38\x63\x2e\x31\x32\x2e\x33\x31\x2e\x30\x35\x2e\x33\x36\x2d\ -\x2e\x33\x2e\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\ -\x36\x2c\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\x31\x39\ -\x2c\x33\x36\x2e\x31\x39\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\ -\x37\x2c\x33\x36\x2e\x35\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ -\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ -\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\ -\x35\x2c\x33\x35\x2e\x36\x34\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\ -\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x35\ -\x61\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\ -\x37\x2d\x2e\x32\x39\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\ -\x2c\x31\x2e\x31\x38\x2e\x30\x36\x73\x2d\x2e\x31\x37\x2e\x36\x34\ -\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\ -\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\ -\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\x2d\ -\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\ -\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\x37\ -\x37\x2c\x33\x35\x2e\x37\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\ -\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\x22\x20\x74\x72\x61\x6e\ -\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ -\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x64\x3d\x22\x4d\x31\x39\ -\x2e\x31\x32\x2c\x32\x30\x2e\x37\x35\x63\x2e\x39\x32\x2c\x30\x2c\ -\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\ -\x36\x2d\x32\x2e\x38\x37\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x36\x2d\ -\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\x2e\x35\x31\x2d\x2e\x32\ -\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\ -\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\ -\x37\x2e\x33\x33\x61\x35\x2e\x33\x32\x2c\x35\x2e\x33\x32\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\x2e\x31\ -\x32\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\ -\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x35\x2e\x37\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\ -\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\x35\x2e\x34\x34\x2e\x34\ -\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ -\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ -\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\ -\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x32\x22\x20\x72\x78\ -\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\ -\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\ -\x3e\ -\x00\x00\x09\xeb\ +\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x63\x30\x2d\ +\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x37\x2c\x32\x2e\x31\ +\x37\x2d\x31\x33\x2e\x35\x61\x2e\x34\x31\x2e\x34\x31\x2c\x30\x2c\ +\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x32\x39\x63\x2e\x34\x2c\x30\ +\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x36\x73\x2d\ +\x2e\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\ +\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\ +\x2e\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\ +\x30\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\ +\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\ +\x31\x41\x33\x35\x2e\x37\x37\x2c\x33\x35\x2e\x37\x37\x2c\x30\x2c\ +\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\ +\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ +\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ +\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\ +\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x35\x63\ +\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\ +\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x37\x2d\x2e\x32\x35\ +\x2d\x35\x2e\x34\x36\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x37\x2d\x31\ +\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\ +\x31\x2e\x34\x38\x2c\x31\x2e\x31\x2c\x30\x2c\x2e\x32\x35\x2e\x30\ +\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x33\x61\x35\x2e\x33\x32\x2c\ +\x35\x2e\x33\x32\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\ +\x32\x32\x2c\x32\x2e\x31\x32\x2c\x32\x2e\x31\x32\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\ +\x38\x2c\x35\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\ +\x2c\x32\x2e\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x34\x2d\x2e\x31\ +\x35\x2e\x34\x34\x2e\x34\x31\x2e\x34\x34\x5a\x22\x20\x74\x72\x61\ +\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ +\x65\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\ +\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x63\x78\ +\x3d\x22\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\ +\x35\x32\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\ +\x3d\x22\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\ +\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x09\xf2\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ @@ -1902,151 +1896,152 @@ \x66\x69\x6c\x6c\x3a\x20\x23\x66\x66\x66\x3b\x0a\x20\x20\x20\x20\ \x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x2e\x63\x6c\x73\x2d\ \x32\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x6e\x74\ -\x2d\x66\x61\x6d\x69\x6c\x79\x3a\x20\x4d\x6f\x6e\x74\x73\x65\x72\ -\x72\x61\x74\x2d\x52\x65\x67\x75\x6c\x61\x72\x2c\x20\x4d\x6f\x6e\ -\x74\x73\x65\x72\x72\x61\x74\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\ -\x20\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\x20\x31\x38\x70\x78\ -\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\ -\x20\x2e\x63\x6c\x73\x2d\x33\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\ -\x20\x20\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\ -\x3a\x20\x30\x65\x6d\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\ -\x20\x20\x20\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\x3c\x2f\ -\x64\x65\x66\x73\x3e\x0a\x20\x20\x3c\x67\x20\x69\x64\x3d\x22\x4c\ -\x61\x79\x65\x72\x5f\x31\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\ -\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x0a\x20\x20\x20\ -\x20\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x32\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ -\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x31\x39\x2e\x39\x37\x20\ -\x31\x35\x2e\x33\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x78\x3d\x22\x30\ -\x22\x20\x79\x3d\x22\x30\x22\x3e\x50\x3c\x2f\x74\x73\x70\x61\x6e\ -\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x31\x32\x2e\x37\x34\ -\x22\x20\x79\x3d\x22\x30\x22\x3e\x50\x3c\x2f\x74\x73\x70\x61\x6e\ -\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x0a\x20\x20\x20\x20\x3c\x67\x3e\ -\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ -\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x31\ -\x30\x2e\x32\x38\x2c\x32\x2e\x38\x39\x63\x31\x2e\x30\x36\x2e\x35\ -\x36\x2c\x31\x2e\x35\x34\x2c\x32\x2e\x36\x37\x2c\x31\x2e\x37\x33\ -\x2c\x33\x2e\x37\x36\x2e\x34\x39\x2c\x32\x2e\x37\x32\x2e\x34\x37\ -\x2c\x37\x2e\x39\x32\x2d\x31\x2e\x32\x38\x2c\x31\x30\x2e\x31\x37\ -\x2d\x2e\x33\x34\x2e\x34\x31\x2d\x2e\x37\x36\x2e\x35\x2d\x31\x2e\ -\x31\x34\x2e\x30\x39\x2d\x2e\x33\x37\x2d\x2e\x33\x38\x2d\x2e\x35\ -\x39\x2d\x2e\x38\x33\x2d\x2e\x37\x37\x2d\x31\x2e\x32\x39\x2d\x31\ -\x2e\x31\x38\x2d\x33\x2e\x31\x35\x2d\x31\x2e\x32\x2d\x38\x2c\x30\ -\x2d\x31\x31\x2e\x31\x36\x2e\x32\x34\x2d\x2e\x35\x39\x2e\x35\x34\ -\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x31\x34\x2d\x31\x2e\x35\x37\x68\ -\x2e\x33\x32\x5a\x4d\x39\x2e\x37\x36\x2c\x31\x35\x2e\x39\x38\x63\ -\x2e\x30\x36\x2e\x31\x34\x2e\x31\x37\x2e\x32\x35\x2e\x33\x36\x2e\ -\x32\x35\x2e\x32\x2c\x30\x2c\x2e\x33\x2d\x2e\x31\x31\x2e\x33\x37\ -\x2d\x2e\x32\x36\x2c\x31\x2e\x32\x38\x2d\x32\x2e\x37\x31\x2c\x31\ -\x2e\x33\x2d\x36\x2e\x38\x37\x2e\x37\x2d\x39\x2e\x37\x38\x2d\x2e\ -\x31\x36\x2d\x2e\x37\x33\x2d\x2e\x33\x36\x2d\x31\x2e\x34\x34\x2d\ -\x2e\x37\x2d\x32\x2e\x31\x32\x2d\x2e\x30\x37\x2d\x2e\x31\x34\x2d\ -\x2e\x31\x36\x2d\x2e\x32\x35\x2d\x2e\x33\x35\x2d\x2e\x32\x35\x2d\ -\x2e\x32\x2c\x30\x2d\x2e\x33\x2e\x31\x31\x2d\x2e\x33\x37\x2e\x32\ -\x35\x2d\x2e\x32\x34\x2e\x34\x36\x2d\x2e\x34\x32\x2e\x39\x35\x2d\ -\x2e\x35\x34\x2c\x31\x2e\x34\x35\x2d\x2e\x37\x31\x2c\x32\x2e\x39\ -\x36\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x36\x2e\x35\x34\x2c\x31\x30\ -\x2e\x34\x36\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\ +\x2d\x66\x61\x6d\x69\x6c\x79\x3a\x20\x4d\x6f\x6d\x63\x61\x6b\x65\ +\x20\x50\x72\x6f\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\ +\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x20\x32\x30\x30\x3b\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x6e\x74\x2d\x73\x69\x7a\ +\x65\x3a\x20\x31\x38\x70\x78\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\ +\x0a\x0a\x20\x20\x20\x20\x20\x20\x2e\x63\x6c\x73\x2d\x33\x20\x7b\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6c\x65\x74\x74\x65\x72\x2d\ +\x73\x70\x61\x63\x69\x6e\x67\x3a\x20\x30\x65\x6d\x3b\x0a\x20\x20\ +\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x3c\x2f\x73\x74\x79\x6c\ +\x65\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\x0a\x20\x20\x3c\ +\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x64\ +\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\ +\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x74\x65\x78\x74\x20\x63\x6c\ +\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\x74\x72\x61\x6e\ +\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ +\x28\x31\x39\x2e\x39\x37\x20\x31\x35\x2e\x33\x29\x22\x3e\x3c\x74\ +\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ +\x33\x22\x20\x78\x3d\x22\x30\x22\x20\x79\x3d\x22\x30\x22\x3e\x50\ +\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\ +\x3d\x22\x31\x32\x2e\x37\x34\x22\x20\x79\x3d\x22\x30\x22\x3e\x50\ +\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x0a\ +\x20\x20\x20\x20\x3c\x67\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\ \x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\ -\x22\x20\x64\x3d\x22\x4d\x32\x2e\x33\x34\x2c\x32\x2e\x38\x39\x63\ -\x2e\x34\x2e\x32\x32\x2e\x36\x33\x2e\x35\x35\x2e\x38\x34\x2e\x39\ -\x34\x2d\x2e\x33\x2c\x30\x2d\x2e\x35\x38\x2c\x30\x2d\x2e\x38\x36\ -\x2c\x30\x2d\x2e\x33\x33\x2c\x30\x2d\x2e\x34\x31\x2e\x30\x34\x2d\ -\x2e\x35\x33\x2e\x33\x31\x2d\x31\x2e\x33\x39\x2c\x33\x2e\x30\x34\ -\x2d\x31\x2e\x33\x38\x2c\x38\x2e\x33\x32\x2d\x2e\x31\x37\x2c\x31\ -\x31\x2e\x34\x33\x2e\x30\x36\x2e\x31\x35\x2e\x31\x33\x2e\x32\x39\ -\x2e\x32\x2e\x34\x34\x2e\x30\x38\x2e\x31\x37\x2e\x32\x33\x2e\x32\ -\x34\x2e\x34\x33\x2e\x32\x34\x2e\x33\x32\x2c\x30\x2c\x2e\x35\x38\ -\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2d\x2e\x31\x39\x2e\x33\x34\x2d\ -\x2e\x33\x38\x2e\x36\x35\x2d\x2e\x37\x33\x2e\x38\x36\x2d\x2e\x35\ -\x31\x2e\x33\x31\x2d\x31\x2d\x2e\x33\x36\x2d\x31\x2e\x32\x31\x2d\ -\x2e\x37\x35\x43\x2d\x2e\x33\x34\x2c\x31\x33\x2e\x34\x32\x2d\x2e\ -\x33\x31\x2c\x37\x2e\x39\x32\x2e\x37\x36\x2c\x34\x2e\x37\x39\x63\ -\x2e\x32\x34\x2d\x2e\x36\x38\x2e\x35\x38\x2d\x31\x2e\x35\x33\x2c\ -\x31\x2e\x32\x36\x2d\x31\x2e\x39\x31\x68\x2e\x33\x32\x5a\x22\x2f\ -\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\ -\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\ -\x31\x2e\x34\x36\x2c\x31\x30\x2e\x32\x63\x2e\x30\x32\x2d\x32\x2e\ -\x30\x38\x2e\x31\x35\x2d\x33\x2e\x38\x33\x2e\x39\x2d\x35\x2e\x36\ -\x35\x2e\x30\x34\x2d\x2e\x30\x39\x2e\x30\x39\x2d\x2e\x31\x32\x2e\ -\x32\x2d\x2e\x31\x32\x2e\x32\x35\x2c\x30\x2c\x2e\x35\x2c\x30\x2c\ -\x2e\x37\x35\x2c\x30\x2c\x2e\x31\x32\x2c\x30\x2c\x2e\x31\x34\x2e\ -\x30\x32\x2e\x31\x2e\x31\x32\x2d\x2e\x32\x37\x2e\x36\x37\x2d\x2e\ -\x34\x34\x2c\x31\x2e\x33\x37\x2d\x2e\x35\x37\x2c\x32\x2e\x30\x37\ -\x2d\x2e\x34\x39\x2c\x32\x2e\x38\x36\x2d\x2e\x34\x35\x2c\x36\x2e\ -\x31\x32\x2e\x35\x37\x2c\x38\x2e\x38\x37\x2e\x30\x34\x2e\x31\x2e\ -\x30\x34\x2e\x31\x34\x2d\x2e\x31\x2e\x31\x33\x2d\x2e\x32\x35\x2c\ -\x30\x2d\x2e\x35\x2c\x30\x2d\x2e\x37\x35\x2c\x30\x2d\x2e\x31\x32\ -\x2c\x30\x2d\x2e\x31\x36\x2d\x2e\x30\x34\x2d\x2e\x31\x39\x2d\x2e\ -\x31\x32\x2d\x2e\x37\x2d\x31\x2e\x36\x31\x2d\x2e\x39\x2d\x33\x2e\ -\x36\x39\x2d\x2e\x39\x2d\x35\x2e\x33\x31\x5a\x22\x2f\x3e\x0a\x20\ +\x22\x20\x64\x3d\x22\x4d\x31\x30\x2e\x32\x38\x2c\x32\x2e\x38\x39\ +\x63\x31\x2e\x30\x36\x2e\x35\x36\x2c\x31\x2e\x35\x34\x2c\x32\x2e\ +\x36\x37\x2c\x31\x2e\x37\x33\x2c\x33\x2e\x37\x36\x2e\x34\x39\x2c\ +\x32\x2e\x37\x32\x2e\x34\x37\x2c\x37\x2e\x39\x32\x2d\x31\x2e\x32\ +\x38\x2c\x31\x30\x2e\x31\x37\x2d\x2e\x33\x34\x2e\x34\x31\x2d\x2e\ +\x37\x36\x2e\x35\x2d\x31\x2e\x31\x34\x2e\x30\x39\x2d\x2e\x33\x37\ +\x2d\x2e\x33\x38\x2d\x2e\x35\x39\x2d\x2e\x38\x33\x2d\x2e\x37\x37\ +\x2d\x31\x2e\x32\x39\x2d\x31\x2e\x31\x38\x2d\x33\x2e\x31\x35\x2d\ +\x31\x2e\x32\x2d\x38\x2c\x30\x2d\x31\x31\x2e\x31\x36\x2e\x32\x34\ +\x2d\x2e\x35\x39\x2e\x35\x34\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x31\ +\x34\x2d\x31\x2e\x35\x37\x68\x2e\x33\x32\x5a\x4d\x39\x2e\x37\x36\ +\x2c\x31\x35\x2e\x39\x38\x63\x2e\x30\x36\x2e\x31\x34\x2e\x31\x37\ +\x2e\x32\x35\x2e\x33\x36\x2e\x32\x35\x2e\x32\x2c\x30\x2c\x2e\x33\ +\x2d\x2e\x31\x31\x2e\x33\x37\x2d\x2e\x32\x36\x2c\x31\x2e\x32\x38\ +\x2d\x32\x2e\x37\x31\x2c\x31\x2e\x33\x2d\x36\x2e\x38\x37\x2e\x37\ +\x2d\x39\x2e\x37\x38\x2d\x2e\x31\x36\x2d\x2e\x37\x33\x2d\x2e\x33\ +\x36\x2d\x31\x2e\x34\x34\x2d\x2e\x37\x2d\x32\x2e\x31\x32\x2d\x2e\ +\x30\x37\x2d\x2e\x31\x34\x2d\x2e\x31\x36\x2d\x2e\x32\x35\x2d\x2e\ +\x33\x35\x2d\x2e\x32\x35\x2d\x2e\x32\x2c\x30\x2d\x2e\x33\x2e\x31\ +\x31\x2d\x2e\x33\x37\x2e\x32\x35\x2d\x2e\x32\x34\x2e\x34\x36\x2d\ +\x2e\x34\x32\x2e\x39\x35\x2d\x2e\x35\x34\x2c\x31\x2e\x34\x35\x2d\ +\x2e\x37\x31\x2c\x32\x2e\x39\x36\x2d\x31\x2e\x31\x37\x2c\x36\x2e\ +\x36\x2e\x35\x34\x2c\x31\x30\x2e\x34\x36\x5a\x22\x2f\x3e\x0a\x20\ \x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x37\x2e\x36\ -\x32\x2c\x34\x2e\x34\x33\x63\x2e\x31\x32\x2e\x30\x32\x2e\x33\x34\ -\x2d\x2e\x30\x37\x2e\x34\x32\x2e\x30\x34\x2e\x30\x36\x2e\x30\x37\ -\x2d\x2e\x30\x35\x2e\x32\x35\x2d\x2e\x30\x39\x2e\x33\x38\x2d\x2e\ -\x36\x39\x2c\x32\x2e\x33\x33\x2d\x2e\x38\x36\x2c\x34\x2e\x37\x37\ -\x2d\x2e\x36\x33\x2c\x37\x2e\x31\x37\x2e\x31\x31\x2c\x31\x2e\x31\ -\x37\x2e\x33\x36\x2c\x32\x2e\x33\x32\x2e\x37\x32\x2c\x33\x2e\x34\ -\x35\x2e\x30\x34\x2e\x31\x33\x2e\x30\x32\x2e\x31\x37\x2d\x2e\x31\ -\x34\x2e\x31\x36\x2d\x2e\x32\x31\x2d\x2e\x30\x31\x2d\x2e\x34\x32\ -\x2c\x30\x2d\x2e\x36\x33\x2c\x30\x2d\x2e\x31\x33\x2c\x30\x2d\x2e\ -\x31\x38\x2d\x2e\x30\x34\x2d\x2e\x32\x32\x2d\x2e\x31\x34\x2d\x2e\ -\x33\x31\x2d\x2e\x37\x31\x2d\x2e\x35\x2d\x31\x2e\x34\x35\x2d\x2e\ -\x36\x33\x2d\x32\x2e\x32\x2d\x2e\x34\x35\x2d\x32\x2e\x37\x33\x2d\ -\x2e\x34\x32\x2d\x36\x2e\x31\x31\x2e\x36\x32\x2d\x38\x2e\x37\x31\ -\x2e\x30\x35\x2d\x2e\x31\x31\x2e\x31\x2d\x2e\x31\x37\x2e\x32\x35\ -\x2d\x2e\x31\x35\x2e\x31\x2e\x30\x31\x2e\x32\x2c\x30\x2c\x2e\x33\ -\x34\x2c\x30\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\ -\x22\x20\x64\x3d\x22\x4d\x33\x2e\x32\x37\x2c\x31\x30\x2e\x35\x32\ -\x63\x2d\x2e\x30\x34\x2d\x2e\x33\x2d\x2e\x30\x35\x2d\x2e\x36\x34\ -\x2d\x2e\x30\x33\x2d\x2e\x39\x37\x2e\x31\x31\x2d\x31\x2e\x36\x39\ -\x2e\x32\x34\x2d\x33\x2e\x34\x34\x2e\x39\x34\x2d\x35\x2e\x30\x32\ -\x2e\x30\x33\x2d\x2e\x30\x37\x2e\x30\x37\x2d\x2e\x30\x39\x2e\x31\ -\x36\x2d\x2e\x31\x2e\x35\x38\x2d\x2e\x30\x33\x2e\x35\x37\x2d\x2e\ -\x30\x33\x2e\x34\x31\x2e\x34\x33\x2d\x31\x2e\x30\x32\x2c\x33\x2e\ -\x31\x33\x2d\x31\x2e\x30\x34\x2c\x37\x2e\x35\x32\x2e\x31\x31\x2c\ -\x31\x30\x2e\x36\x32\x2e\x30\x35\x2e\x31\x33\x2e\x30\x32\x2e\x31\ -\x35\x2d\x2e\x31\x33\x2e\x31\x35\x2d\x2e\x35\x32\x2c\x30\x2d\x2e\ -\x35\x32\x2c\x30\x2d\x2e\x36\x38\x2d\x2e\x34\x32\x2d\x2e\x35\x36\ -\x2d\x31\x2e\x35\x32\x2d\x2e\x37\x32\x2d\x33\x2e\x30\x38\x2d\x2e\ -\x37\x38\x2d\x34\x2e\x36\x39\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\ +\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x2e\x33\ +\x34\x2c\x32\x2e\x38\x39\x63\x2e\x34\x2e\x32\x32\x2e\x36\x33\x2e\ +\x35\x35\x2e\x38\x34\x2e\x39\x34\x2d\x2e\x33\x2c\x30\x2d\x2e\x35\ +\x38\x2c\x30\x2d\x2e\x38\x36\x2c\x30\x2d\x2e\x33\x33\x2c\x30\x2d\ +\x2e\x34\x31\x2e\x30\x34\x2d\x2e\x35\x33\x2e\x33\x31\x2d\x31\x2e\ +\x33\x39\x2c\x33\x2e\x30\x34\x2d\x31\x2e\x33\x38\x2c\x38\x2e\x33\ +\x32\x2d\x2e\x31\x37\x2c\x31\x31\x2e\x34\x33\x2e\x30\x36\x2e\x31\ +\x35\x2e\x31\x33\x2e\x32\x39\x2e\x32\x2e\x34\x34\x2e\x30\x38\x2e\ +\x31\x37\x2e\x32\x33\x2e\x32\x34\x2e\x34\x33\x2e\x32\x34\x2e\x33\ +\x32\x2c\x30\x2c\x2e\x35\x38\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2d\ +\x2e\x31\x39\x2e\x33\x34\x2d\x2e\x33\x38\x2e\x36\x35\x2d\x2e\x37\ +\x33\x2e\x38\x36\x2d\x2e\x35\x31\x2e\x33\x31\x2d\x31\x2d\x2e\x33\ +\x36\x2d\x31\x2e\x32\x31\x2d\x2e\x37\x35\x43\x2d\x2e\x33\x34\x2c\ +\x31\x33\x2e\x34\x32\x2d\x2e\x33\x31\x2c\x37\x2e\x39\x32\x2e\x37\ +\x36\x2c\x34\x2e\x37\x39\x63\x2e\x32\x34\x2d\x2e\x36\x38\x2e\x35\ +\x38\x2d\x31\x2e\x35\x33\x2c\x31\x2e\x32\x36\x2d\x31\x2e\x39\x31\ +\x68\x2e\x33\x32\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\ +\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\ +\x31\x22\x20\x64\x3d\x22\x4d\x31\x2e\x34\x36\x2c\x31\x30\x2e\x32\ +\x63\x2e\x30\x32\x2d\x32\x2e\x30\x38\x2e\x31\x35\x2d\x33\x2e\x38\ +\x33\x2e\x39\x2d\x35\x2e\x36\x35\x2e\x30\x34\x2d\x2e\x30\x39\x2e\ +\x30\x39\x2d\x2e\x31\x32\x2e\x32\x2d\x2e\x31\x32\x2e\x32\x35\x2c\ +\x30\x2c\x2e\x35\x2c\x30\x2c\x2e\x37\x35\x2c\x30\x2c\x2e\x31\x32\ +\x2c\x30\x2c\x2e\x31\x34\x2e\x30\x32\x2e\x31\x2e\x31\x32\x2d\x2e\ +\x32\x37\x2e\x36\x37\x2d\x2e\x34\x34\x2c\x31\x2e\x33\x37\x2d\x2e\ +\x35\x37\x2c\x32\x2e\x30\x37\x2d\x2e\x34\x39\x2c\x32\x2e\x38\x36\ +\x2d\x2e\x34\x35\x2c\x36\x2e\x31\x32\x2e\x35\x37\x2c\x38\x2e\x38\ +\x37\x2e\x30\x34\x2e\x31\x2e\x30\x34\x2e\x31\x34\x2d\x2e\x31\x2e\ +\x31\x33\x2d\x2e\x32\x35\x2c\x30\x2d\x2e\x35\x2c\x30\x2d\x2e\x37\ +\x35\x2c\x30\x2d\x2e\x31\x32\x2c\x30\x2d\x2e\x31\x36\x2d\x2e\x30\ +\x34\x2d\x2e\x31\x39\x2d\x2e\x31\x32\x2d\x2e\x37\x2d\x31\x2e\x36\ +\x31\x2d\x2e\x39\x2d\x33\x2e\x36\x39\x2d\x2e\x39\x2d\x35\x2e\x33\ +\x31\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\ +\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ +\x64\x3d\x22\x4d\x37\x2e\x36\x32\x2c\x34\x2e\x34\x33\x63\x2e\x31\ +\x32\x2e\x30\x32\x2e\x33\x34\x2d\x2e\x30\x37\x2e\x34\x32\x2e\x30\ +\x34\x2e\x30\x36\x2e\x30\x37\x2d\x2e\x30\x35\x2e\x32\x35\x2d\x2e\ +\x30\x39\x2e\x33\x38\x2d\x2e\x36\x39\x2c\x32\x2e\x33\x33\x2d\x2e\ +\x38\x36\x2c\x34\x2e\x37\x37\x2d\x2e\x36\x33\x2c\x37\x2e\x31\x37\ +\x2e\x31\x31\x2c\x31\x2e\x31\x37\x2e\x33\x36\x2c\x32\x2e\x33\x32\ +\x2e\x37\x32\x2c\x33\x2e\x34\x35\x2e\x30\x34\x2e\x31\x33\x2e\x30\ +\x32\x2e\x31\x37\x2d\x2e\x31\x34\x2e\x31\x36\x2d\x2e\x32\x31\x2d\ +\x2e\x30\x31\x2d\x2e\x34\x32\x2c\x30\x2d\x2e\x36\x33\x2c\x30\x2d\ +\x2e\x31\x33\x2c\x30\x2d\x2e\x31\x38\x2d\x2e\x30\x34\x2d\x2e\x32\ +\x32\x2d\x2e\x31\x34\x2d\x2e\x33\x31\x2d\x2e\x37\x31\x2d\x2e\x35\ +\x2d\x31\x2e\x34\x35\x2d\x2e\x36\x33\x2d\x32\x2e\x32\x2d\x2e\x34\ +\x35\x2d\x32\x2e\x37\x33\x2d\x2e\x34\x32\x2d\x36\x2e\x31\x31\x2e\ +\x36\x32\x2d\x38\x2e\x37\x31\x2e\x30\x35\x2d\x2e\x31\x31\x2e\x31\ +\x2d\x2e\x31\x37\x2e\x32\x35\x2d\x2e\x31\x35\x2e\x31\x2e\x30\x31\ +\x2e\x32\x2c\x30\x2c\x2e\x33\x34\x2c\x30\x5a\x22\x2f\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ +\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x33\x2e\x32\ +\x37\x2c\x31\x30\x2e\x35\x32\x63\x2d\x2e\x30\x34\x2d\x2e\x33\x2d\ +\x2e\x30\x35\x2d\x2e\x36\x34\x2d\x2e\x30\x33\x2d\x2e\x39\x37\x2e\ +\x31\x31\x2d\x31\x2e\x36\x39\x2e\x32\x34\x2d\x33\x2e\x34\x34\x2e\ +\x39\x34\x2d\x35\x2e\x30\x32\x2e\x30\x33\x2d\x2e\x30\x37\x2e\x30\ +\x37\x2d\x2e\x30\x39\x2e\x31\x36\x2d\x2e\x31\x2e\x35\x38\x2d\x2e\ +\x30\x33\x2e\x35\x37\x2d\x2e\x30\x33\x2e\x34\x31\x2e\x34\x33\x2d\ +\x31\x2e\x30\x32\x2c\x33\x2e\x31\x33\x2d\x31\x2e\x30\x34\x2c\x37\ +\x2e\x35\x32\x2e\x31\x31\x2c\x31\x30\x2e\x36\x32\x2e\x30\x35\x2e\ +\x31\x33\x2e\x30\x32\x2e\x31\x35\x2d\x2e\x31\x33\x2e\x31\x35\x2d\ +\x2e\x35\x32\x2c\x30\x2d\x2e\x35\x32\x2c\x30\x2d\x2e\x36\x38\x2d\ +\x2e\x34\x32\x2d\x2e\x35\x36\x2d\x31\x2e\x35\x32\x2d\x2e\x37\x32\ +\x2d\x33\x2e\x30\x38\x2d\x2e\x37\x38\x2d\x34\x2e\x36\x39\x5a\x22\ +\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\ +\x4d\x34\x2e\x37\x31\x2c\x31\x30\x2e\x31\x35\x63\x2e\x30\x31\x2d\ +\x32\x2e\x30\x32\x2e\x31\x36\x2d\x33\x2e\x38\x31\x2e\x39\x2d\x35\ +\x2e\x36\x2e\x30\x34\x2d\x2e\x30\x39\x2e\x30\x38\x2d\x2e\x31\x33\ +\x2e\x31\x39\x2d\x2e\x31\x32\x2e\x31\x37\x2e\x30\x31\x2e\x34\x31\ +\x2d\x2e\x30\x36\x2e\x34\x39\x2e\x30\x33\x2e\x30\x38\x2e\x30\x39\ +\x2d\x2e\x30\x37\x2e\x32\x36\x2d\x2e\x31\x32\x2e\x34\x2d\x31\x2c\ +\x33\x2e\x31\x36\x2d\x31\x2e\x30\x34\x2c\x37\x2e\x34\x38\x2e\x31\ +\x31\x2c\x31\x30\x2e\x36\x31\x2e\x30\x36\x2e\x31\x35\x2c\x30\x2c\ +\x2e\x31\x36\x2d\x2e\x31\x35\x2e\x31\x36\x2d\x2e\x34\x39\x2c\x30\ +\x2d\x2e\x34\x39\x2c\x30\x2d\x2e\x36\x35\x2d\x2e\x34\x2d\x2e\x36\ +\x2d\x31\x2e\x35\x37\x2d\x2e\x37\x39\x2d\x33\x2e\x34\x39\x2d\x2e\ +\x37\x38\x2d\x35\x2e\x30\x37\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\ \x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ -\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\x2e\x37\x31\x2c\x31\ -\x30\x2e\x31\x35\x63\x2e\x30\x31\x2d\x32\x2e\x30\x32\x2e\x31\x36\ -\x2d\x33\x2e\x38\x31\x2e\x39\x2d\x35\x2e\x36\x2e\x30\x34\x2d\x2e\ -\x30\x39\x2e\x30\x38\x2d\x2e\x31\x33\x2e\x31\x39\x2d\x2e\x31\x32\ -\x2e\x31\x37\x2e\x30\x31\x2e\x34\x31\x2d\x2e\x30\x36\x2e\x34\x39\ -\x2e\x30\x33\x2e\x30\x38\x2e\x30\x39\x2d\x2e\x30\x37\x2e\x32\x36\ -\x2d\x2e\x31\x32\x2e\x34\x2d\x31\x2c\x33\x2e\x31\x36\x2d\x31\x2e\ -\x30\x34\x2c\x37\x2e\x34\x38\x2e\x31\x31\x2c\x31\x30\x2e\x36\x31\ -\x2e\x30\x36\x2e\x31\x35\x2c\x30\x2c\x2e\x31\x36\x2d\x2e\x31\x35\ -\x2e\x31\x36\x2d\x2e\x34\x39\x2c\x30\x2d\x2e\x34\x39\x2c\x30\x2d\ -\x2e\x36\x35\x2d\x2e\x34\x2d\x2e\x36\x2d\x31\x2e\x35\x37\x2d\x2e\ -\x37\x39\x2d\x33\x2e\x34\x39\x2d\x2e\x37\x38\x2d\x35\x2e\x30\x37\ -\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\ -\x3d\x22\x4d\x37\x2e\x39\x33\x2c\x33\x2e\x39\x38\x63\x2e\x33\x38\ -\x2c\x30\x2c\x2e\x33\x38\x2c\x30\x2c\x2e\x34\x37\x2d\x2e\x33\x32\ -\x2e\x33\x36\x2d\x31\x2e\x31\x39\x2d\x2e\x31\x2d\x32\x2e\x32\x36\ -\x2d\x31\x2e\x34\x35\x2d\x32\x2e\x34\x33\x2d\x2e\x36\x33\x2d\x2e\ -\x31\x2d\x2e\x36\x32\x2d\x2e\x30\x39\x2d\x2e\x36\x31\x2e\x34\x35\ -\x2c\x30\x2c\x2e\x31\x2e\x30\x34\x2e\x31\x34\x2e\x31\x35\x2e\x31\ -\x34\x2e\x32\x31\x2c\x30\x2c\x2e\x34\x32\x2e\x30\x33\x2e\x36\x32\ -\x2e\x30\x39\x2e\x34\x2e\x31\x33\x2e\x36\x2e\x33\x38\x2e\x36\x36\ -\x2e\x37\x34\x2e\x30\x36\x2e\x34\x2d\x2e\x30\x32\x2e\x37\x38\x2d\ -\x2e\x31\x36\x2c\x31\x2e\x31\x35\x71\x2d\x2e\x30\x36\x2e\x31\x38\ -\x2e\x31\x37\x2e\x31\x38\x63\x2e\x30\x35\x2c\x30\x2c\x2e\x31\x31\ -\x2c\x30\x2c\x2e\x31\x36\x2c\x30\x5a\x22\x2f\x3e\x0a\x20\x20\x20\ -\x20\x20\x20\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x63\x78\x3d\x22\x31\x30\ -\x2e\x31\x33\x22\x20\x63\x79\x3d\x22\x31\x30\x2e\x31\x22\x20\x72\ -\x78\x3d\x22\x2e\x34\x32\x22\x20\x72\x79\x3d\x22\x32\x2e\x34\x38\ -\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\x20\x3c\ -\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\ -\x00\x00\x09\x89\ +\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x37\x2e\x39\x33\x2c\x33\ +\x2e\x39\x38\x63\x2e\x33\x38\x2c\x30\x2c\x2e\x33\x38\x2c\x30\x2c\ +\x2e\x34\x37\x2d\x2e\x33\x32\x2e\x33\x36\x2d\x31\x2e\x31\x39\x2d\ +\x2e\x31\x2d\x32\x2e\x32\x36\x2d\x31\x2e\x34\x35\x2d\x32\x2e\x34\ +\x33\x2d\x2e\x36\x33\x2d\x2e\x31\x2d\x2e\x36\x32\x2d\x2e\x30\x39\ +\x2d\x2e\x36\x31\x2e\x34\x35\x2c\x30\x2c\x2e\x31\x2e\x30\x34\x2e\ +\x31\x34\x2e\x31\x35\x2e\x31\x34\x2e\x32\x31\x2c\x30\x2c\x2e\x34\ +\x32\x2e\x30\x33\x2e\x36\x32\x2e\x30\x39\x2e\x34\x2e\x31\x33\x2e\ +\x36\x2e\x33\x38\x2e\x36\x36\x2e\x37\x34\x2e\x30\x36\x2e\x34\x2d\ +\x2e\x30\x32\x2e\x37\x38\x2d\x2e\x31\x36\x2c\x31\x2e\x31\x35\x71\ +\x2d\x2e\x30\x36\x2e\x31\x38\x2e\x31\x37\x2e\x31\x38\x63\x2e\x30\ +\x35\x2c\x30\x2c\x2e\x31\x31\x2c\x30\x2c\x2e\x31\x36\x2c\x30\x5a\ +\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x65\x6c\x6c\x69\x70\ +\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\ +\x20\x63\x78\x3d\x22\x31\x30\x2e\x31\x33\x22\x20\x63\x79\x3d\x22\ +\x31\x30\x2e\x31\x22\x20\x72\x78\x3d\x22\x2e\x34\x32\x22\x20\x72\ +\x79\x3d\x22\x32\x2e\x34\x38\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\ +\x2f\x67\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\ +\x3e\ +\x00\x00\x09\x90\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ @@ -2063,145 +2058,145 @@ \x66\x69\x6c\x6c\x3a\x20\x23\x66\x66\x66\x3b\x0a\x20\x20\x20\x20\ \x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x2e\x63\x6c\x73\x2d\ \x32\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x6e\x74\ -\x2d\x66\x61\x6d\x69\x6c\x79\x3a\x20\x4d\x6f\x6e\x74\x73\x65\x72\ -\x72\x61\x74\x2d\x52\x65\x67\x75\x6c\x61\x72\x2c\x20\x4d\x6f\x6e\ -\x74\x73\x65\x72\x72\x61\x74\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\ -\x20\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\x20\x31\x38\x70\x78\ -\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x3c\x2f\ -\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\ -\x0a\x20\x20\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\ -\x31\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\ -\x79\x65\x72\x20\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x74\x65\x78\ -\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x20\ -\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\ -\x6c\x61\x74\x65\x28\x31\x39\x2e\x39\x37\x20\x31\x35\x2e\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x30\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x50\x43\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\ -\x2f\x74\x65\x78\x74\x3e\x0a\x20\x20\x20\x20\x3c\x67\x3e\x0a\x20\ -\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x31\x30\x2e\ -\x32\x38\x2c\x32\x2e\x38\x39\x63\x31\x2e\x30\x36\x2e\x35\x36\x2c\ -\x31\x2e\x35\x34\x2c\x32\x2e\x36\x37\x2c\x31\x2e\x37\x33\x2c\x33\ -\x2e\x37\x36\x2e\x34\x39\x2c\x32\x2e\x37\x32\x2e\x34\x37\x2c\x37\ -\x2e\x39\x32\x2d\x31\x2e\x32\x38\x2c\x31\x30\x2e\x31\x37\x2d\x2e\ -\x33\x34\x2e\x34\x31\x2d\x2e\x37\x36\x2e\x35\x2d\x31\x2e\x31\x34\ -\x2e\x30\x39\x2d\x2e\x33\x37\x2d\x2e\x33\x38\x2d\x2e\x35\x39\x2d\ -\x2e\x38\x33\x2d\x2e\x37\x37\x2d\x31\x2e\x32\x39\x2d\x31\x2e\x31\ -\x38\x2d\x33\x2e\x31\x35\x2d\x31\x2e\x32\x2d\x38\x2c\x30\x2d\x31\ -\x31\x2e\x31\x36\x2e\x32\x34\x2d\x2e\x35\x39\x2e\x35\x34\x2d\x31\ -\x2e\x32\x35\x2c\x31\x2e\x31\x34\x2d\x31\x2e\x35\x37\x68\x2e\x33\ -\x32\x5a\x4d\x39\x2e\x37\x36\x2c\x31\x35\x2e\x39\x38\x63\x2e\x30\ -\x36\x2e\x31\x34\x2e\x31\x37\x2e\x32\x35\x2e\x33\x36\x2e\x32\x35\ -\x2e\x32\x2c\x30\x2c\x2e\x33\x2d\x2e\x31\x31\x2e\x33\x37\x2d\x2e\ -\x32\x36\x2c\x31\x2e\x32\x38\x2d\x32\x2e\x37\x31\x2c\x31\x2e\x33\ -\x2d\x36\x2e\x38\x37\x2e\x37\x2d\x39\x2e\x37\x38\x2d\x2e\x31\x36\ -\x2d\x2e\x37\x33\x2d\x2e\x33\x36\x2d\x31\x2e\x34\x34\x2d\x2e\x37\ -\x2d\x32\x2e\x31\x32\x2d\x2e\x30\x37\x2d\x2e\x31\x34\x2d\x2e\x31\ -\x36\x2d\x2e\x32\x35\x2d\x2e\x33\x35\x2d\x2e\x32\x35\x2d\x2e\x32\ -\x2c\x30\x2d\x2e\x33\x2e\x31\x31\x2d\x2e\x33\x37\x2e\x32\x35\x2d\ -\x2e\x32\x34\x2e\x34\x36\x2d\x2e\x34\x32\x2e\x39\x35\x2d\x2e\x35\ -\x34\x2c\x31\x2e\x34\x35\x2d\x2e\x37\x31\x2c\x32\x2e\x39\x36\x2d\ -\x31\x2e\x31\x37\x2c\x36\x2e\x36\x2e\x35\x34\x2c\x31\x30\x2e\x34\ -\x36\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\ +\x2d\x66\x61\x6d\x69\x6c\x79\x3a\x20\x4d\x6f\x6d\x63\x61\x6b\x65\ +\x20\x50\x72\x6f\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\ +\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x20\x32\x30\x30\x3b\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x6e\x74\x2d\x73\x69\x7a\ +\x65\x3a\x20\x31\x38\x70\x78\x3b\x0a\x20\x20\x20\x20\x20\x20\x7d\ +\x0a\x20\x20\x20\x20\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\ +\x3c\x2f\x64\x65\x66\x73\x3e\x0a\x20\x20\x3c\x67\x20\x69\x64\x3d\ +\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x64\x61\x74\x61\x2d\x6e\ +\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x0a\x20\ +\x20\x20\x20\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\ +\x63\x6c\x73\x2d\x32\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ +\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x31\x39\x2e\x39\ +\x37\x20\x31\x35\x2e\x33\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\ +\x78\x3d\x22\x30\x22\x20\x79\x3d\x22\x30\x22\x3e\x50\x43\x3c\x2f\ +\x74\x73\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x0a\x20\x20\ +\x20\x20\x3c\x67\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\ \x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x64\x3d\x22\x4d\x32\x2e\x33\x34\x2c\x32\x2e\x38\x39\x63\x2e\x34\ -\x2e\x32\x32\x2e\x36\x33\x2e\x35\x35\x2e\x38\x34\x2e\x39\x34\x2d\ -\x2e\x33\x2c\x30\x2d\x2e\x35\x38\x2c\x30\x2d\x2e\x38\x36\x2c\x30\ -\x2d\x2e\x33\x33\x2c\x30\x2d\x2e\x34\x31\x2e\x30\x34\x2d\x2e\x35\ -\x33\x2e\x33\x31\x2d\x31\x2e\x33\x39\x2c\x33\x2e\x30\x34\x2d\x31\ -\x2e\x33\x38\x2c\x38\x2e\x33\x32\x2d\x2e\x31\x37\x2c\x31\x31\x2e\ -\x34\x33\x2e\x30\x36\x2e\x31\x35\x2e\x31\x33\x2e\x32\x39\x2e\x32\ -\x2e\x34\x34\x2e\x30\x38\x2e\x31\x37\x2e\x32\x33\x2e\x32\x34\x2e\ -\x34\x33\x2e\x32\x34\x2e\x33\x32\x2c\x30\x2c\x2e\x35\x38\x2c\x30\ -\x2c\x2e\x39\x32\x2c\x30\x2d\x2e\x31\x39\x2e\x33\x34\x2d\x2e\x33\ -\x38\x2e\x36\x35\x2d\x2e\x37\x33\x2e\x38\x36\x2d\x2e\x35\x31\x2e\ -\x33\x31\x2d\x31\x2d\x2e\x33\x36\x2d\x31\x2e\x32\x31\x2d\x2e\x37\ -\x35\x43\x2d\x2e\x33\x34\x2c\x31\x33\x2e\x34\x32\x2d\x2e\x33\x31\ -\x2c\x37\x2e\x39\x32\x2e\x37\x36\x2c\x34\x2e\x37\x39\x63\x2e\x32\ -\x34\x2d\x2e\x36\x38\x2e\x35\x38\x2d\x31\x2e\x35\x33\x2c\x31\x2e\ -\x32\x36\x2d\x31\x2e\x39\x31\x68\x2e\x33\x32\x5a\x22\x2f\x3e\x0a\ -\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\ -\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x31\x2e\ -\x34\x36\x2c\x31\x30\x2e\x32\x63\x2e\x30\x32\x2d\x32\x2e\x30\x38\ -\x2e\x31\x35\x2d\x33\x2e\x38\x33\x2e\x39\x2d\x35\x2e\x36\x35\x2e\ -\x30\x34\x2d\x2e\x30\x39\x2e\x30\x39\x2d\x2e\x31\x32\x2e\x32\x2d\ -\x2e\x31\x32\x2e\x32\x35\x2c\x30\x2c\x2e\x35\x2c\x30\x2c\x2e\x37\ -\x35\x2c\x30\x2c\x2e\x31\x32\x2c\x30\x2c\x2e\x31\x34\x2e\x30\x32\ -\x2e\x31\x2e\x31\x32\x2d\x2e\x32\x37\x2e\x36\x37\x2d\x2e\x34\x34\ -\x2c\x31\x2e\x33\x37\x2d\x2e\x35\x37\x2c\x32\x2e\x30\x37\x2d\x2e\ -\x34\x39\x2c\x32\x2e\x38\x36\x2d\x2e\x34\x35\x2c\x36\x2e\x31\x32\ -\x2e\x35\x37\x2c\x38\x2e\x38\x37\x2e\x30\x34\x2e\x31\x2e\x30\x34\ -\x2e\x31\x34\x2d\x2e\x31\x2e\x31\x33\x2d\x2e\x32\x35\x2c\x30\x2d\ -\x2e\x35\x2c\x30\x2d\x2e\x37\x35\x2c\x30\x2d\x2e\x31\x32\x2c\x30\ -\x2d\x2e\x31\x36\x2d\x2e\x30\x34\x2d\x2e\x31\x39\x2d\x2e\x31\x32\ -\x2d\x2e\x37\x2d\x31\x2e\x36\x31\x2d\x2e\x39\x2d\x33\x2e\x36\x39\ -\x2d\x2e\x39\x2d\x35\x2e\x33\x31\x5a\x22\x2f\x3e\x0a\x20\x20\x20\ +\x64\x3d\x22\x4d\x31\x30\x2e\x32\x38\x2c\x32\x2e\x38\x39\x63\x31\ +\x2e\x30\x36\x2e\x35\x36\x2c\x31\x2e\x35\x34\x2c\x32\x2e\x36\x37\ +\x2c\x31\x2e\x37\x33\x2c\x33\x2e\x37\x36\x2e\x34\x39\x2c\x32\x2e\ +\x37\x32\x2e\x34\x37\x2c\x37\x2e\x39\x32\x2d\x31\x2e\x32\x38\x2c\ +\x31\x30\x2e\x31\x37\x2d\x2e\x33\x34\x2e\x34\x31\x2d\x2e\x37\x36\ +\x2e\x35\x2d\x31\x2e\x31\x34\x2e\x30\x39\x2d\x2e\x33\x37\x2d\x2e\ +\x33\x38\x2d\x2e\x35\x39\x2d\x2e\x38\x33\x2d\x2e\x37\x37\x2d\x31\ +\x2e\x32\x39\x2d\x31\x2e\x31\x38\x2d\x33\x2e\x31\x35\x2d\x31\x2e\ +\x32\x2d\x38\x2c\x30\x2d\x31\x31\x2e\x31\x36\x2e\x32\x34\x2d\x2e\ +\x35\x39\x2e\x35\x34\x2d\x31\x2e\x32\x35\x2c\x31\x2e\x31\x34\x2d\ +\x31\x2e\x35\x37\x68\x2e\x33\x32\x5a\x4d\x39\x2e\x37\x36\x2c\x31\ +\x35\x2e\x39\x38\x63\x2e\x30\x36\x2e\x31\x34\x2e\x31\x37\x2e\x32\ +\x35\x2e\x33\x36\x2e\x32\x35\x2e\x32\x2c\x30\x2c\x2e\x33\x2d\x2e\ +\x31\x31\x2e\x33\x37\x2d\x2e\x32\x36\x2c\x31\x2e\x32\x38\x2d\x32\ +\x2e\x37\x31\x2c\x31\x2e\x33\x2d\x36\x2e\x38\x37\x2e\x37\x2d\x39\ +\x2e\x37\x38\x2d\x2e\x31\x36\x2d\x2e\x37\x33\x2d\x2e\x33\x36\x2d\ +\x31\x2e\x34\x34\x2d\x2e\x37\x2d\x32\x2e\x31\x32\x2d\x2e\x30\x37\ +\x2d\x2e\x31\x34\x2d\x2e\x31\x36\x2d\x2e\x32\x35\x2d\x2e\x33\x35\ +\x2d\x2e\x32\x35\x2d\x2e\x32\x2c\x30\x2d\x2e\x33\x2e\x31\x31\x2d\ +\x2e\x33\x37\x2e\x32\x35\x2d\x2e\x32\x34\x2e\x34\x36\x2d\x2e\x34\ +\x32\x2e\x39\x35\x2d\x2e\x35\x34\x2c\x31\x2e\x34\x35\x2d\x2e\x37\ +\x31\x2c\x32\x2e\x39\x36\x2d\x31\x2e\x31\x37\x2c\x36\x2e\x36\x2e\ +\x35\x34\x2c\x31\x30\x2e\x34\x36\x5a\x22\x2f\x3e\x0a\x20\x20\x20\ \x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x37\x2e\x36\x32\x2c\ -\x34\x2e\x34\x33\x63\x2e\x31\x32\x2e\x30\x32\x2e\x33\x34\x2d\x2e\ -\x30\x37\x2e\x34\x32\x2e\x30\x34\x2e\x30\x36\x2e\x30\x37\x2d\x2e\ -\x30\x35\x2e\x32\x35\x2d\x2e\x30\x39\x2e\x33\x38\x2d\x2e\x36\x39\ -\x2c\x32\x2e\x33\x33\x2d\x2e\x38\x36\x2c\x34\x2e\x37\x37\x2d\x2e\ -\x36\x33\x2c\x37\x2e\x31\x37\x2e\x31\x31\x2c\x31\x2e\x31\x37\x2e\ -\x33\x36\x2c\x32\x2e\x33\x32\x2e\x37\x32\x2c\x33\x2e\x34\x35\x2e\ -\x30\x34\x2e\x31\x33\x2e\x30\x32\x2e\x31\x37\x2d\x2e\x31\x34\x2e\ -\x31\x36\x2d\x2e\x32\x31\x2d\x2e\x30\x31\x2d\x2e\x34\x32\x2c\x30\ -\x2d\x2e\x36\x33\x2c\x30\x2d\x2e\x31\x33\x2c\x30\x2d\x2e\x31\x38\ -\x2d\x2e\x30\x34\x2d\x2e\x32\x32\x2d\x2e\x31\x34\x2d\x2e\x33\x31\ -\x2d\x2e\x37\x31\x2d\x2e\x35\x2d\x31\x2e\x34\x35\x2d\x2e\x36\x33\ -\x2d\x32\x2e\x32\x2d\x2e\x34\x35\x2d\x32\x2e\x37\x33\x2d\x2e\x34\ -\x32\x2d\x36\x2e\x31\x31\x2e\x36\x32\x2d\x38\x2e\x37\x31\x2e\x30\ -\x35\x2d\x2e\x31\x31\x2e\x31\x2d\x2e\x31\x37\x2e\x32\x35\x2d\x2e\ -\x31\x35\x2e\x31\x2e\x30\x31\x2e\x32\x2c\x30\x2c\x2e\x33\x34\x2c\ -\x30\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\ -\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\ -\x64\x3d\x22\x4d\x33\x2e\x32\x37\x2c\x31\x30\x2e\x35\x32\x63\x2d\ -\x2e\x30\x34\x2d\x2e\x33\x2d\x2e\x30\x35\x2d\x2e\x36\x34\x2d\x2e\ -\x30\x33\x2d\x2e\x39\x37\x2e\x31\x31\x2d\x31\x2e\x36\x39\x2e\x32\ -\x34\x2d\x33\x2e\x34\x34\x2e\x39\x34\x2d\x35\x2e\x30\x32\x2e\x30\ -\x33\x2d\x2e\x30\x37\x2e\x30\x37\x2d\x2e\x30\x39\x2e\x31\x36\x2d\ -\x2e\x31\x2e\x35\x38\x2d\x2e\x30\x33\x2e\x35\x37\x2d\x2e\x30\x33\ -\x2e\x34\x31\x2e\x34\x33\x2d\x31\x2e\x30\x32\x2c\x33\x2e\x31\x33\ -\x2d\x31\x2e\x30\x34\x2c\x37\x2e\x35\x32\x2e\x31\x31\x2c\x31\x30\ -\x2e\x36\x32\x2e\x30\x35\x2e\x31\x33\x2e\x30\x32\x2e\x31\x35\x2d\ -\x2e\x31\x33\x2e\x31\x35\x2d\x2e\x35\x32\x2c\x30\x2d\x2e\x35\x32\ -\x2c\x30\x2d\x2e\x36\x38\x2d\x2e\x34\x32\x2d\x2e\x35\x36\x2d\x31\ -\x2e\x35\x32\x2d\x2e\x37\x32\x2d\x33\x2e\x30\x38\x2d\x2e\x37\x38\ -\x2d\x34\x2e\x36\x39\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\ +\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x32\x2e\x33\x34\x2c\ +\x32\x2e\x38\x39\x63\x2e\x34\x2e\x32\x32\x2e\x36\x33\x2e\x35\x35\ +\x2e\x38\x34\x2e\x39\x34\x2d\x2e\x33\x2c\x30\x2d\x2e\x35\x38\x2c\ +\x30\x2d\x2e\x38\x36\x2c\x30\x2d\x2e\x33\x33\x2c\x30\x2d\x2e\x34\ +\x31\x2e\x30\x34\x2d\x2e\x35\x33\x2e\x33\x31\x2d\x31\x2e\x33\x39\ +\x2c\x33\x2e\x30\x34\x2d\x31\x2e\x33\x38\x2c\x38\x2e\x33\x32\x2d\ +\x2e\x31\x37\x2c\x31\x31\x2e\x34\x33\x2e\x30\x36\x2e\x31\x35\x2e\ +\x31\x33\x2e\x32\x39\x2e\x32\x2e\x34\x34\x2e\x30\x38\x2e\x31\x37\ +\x2e\x32\x33\x2e\x32\x34\x2e\x34\x33\x2e\x32\x34\x2e\x33\x32\x2c\ +\x30\x2c\x2e\x35\x38\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2d\x2e\x31\ +\x39\x2e\x33\x34\x2d\x2e\x33\x38\x2e\x36\x35\x2d\x2e\x37\x33\x2e\ +\x38\x36\x2d\x2e\x35\x31\x2e\x33\x31\x2d\x31\x2d\x2e\x33\x36\x2d\ +\x31\x2e\x32\x31\x2d\x2e\x37\x35\x43\x2d\x2e\x33\x34\x2c\x31\x33\ +\x2e\x34\x32\x2d\x2e\x33\x31\x2c\x37\x2e\x39\x32\x2e\x37\x36\x2c\ +\x34\x2e\x37\x39\x63\x2e\x32\x34\x2d\x2e\x36\x38\x2e\x35\x38\x2d\ +\x31\x2e\x35\x33\x2c\x31\x2e\x32\x36\x2d\x31\x2e\x39\x31\x68\x2e\ +\x33\x32\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\ +\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\ +\x20\x64\x3d\x22\x4d\x31\x2e\x34\x36\x2c\x31\x30\x2e\x32\x63\x2e\ +\x30\x32\x2d\x32\x2e\x30\x38\x2e\x31\x35\x2d\x33\x2e\x38\x33\x2e\ +\x39\x2d\x35\x2e\x36\x35\x2e\x30\x34\x2d\x2e\x30\x39\x2e\x30\x39\ +\x2d\x2e\x31\x32\x2e\x32\x2d\x2e\x31\x32\x2e\x32\x35\x2c\x30\x2c\ +\x2e\x35\x2c\x30\x2c\x2e\x37\x35\x2c\x30\x2c\x2e\x31\x32\x2c\x30\ +\x2c\x2e\x31\x34\x2e\x30\x32\x2e\x31\x2e\x31\x32\x2d\x2e\x32\x37\ +\x2e\x36\x37\x2d\x2e\x34\x34\x2c\x31\x2e\x33\x37\x2d\x2e\x35\x37\ +\x2c\x32\x2e\x30\x37\x2d\x2e\x34\x39\x2c\x32\x2e\x38\x36\x2d\x2e\ +\x34\x35\x2c\x36\x2e\x31\x32\x2e\x35\x37\x2c\x38\x2e\x38\x37\x2e\ +\x30\x34\x2e\x31\x2e\x30\x34\x2e\x31\x34\x2d\x2e\x31\x2e\x31\x33\ +\x2d\x2e\x32\x35\x2c\x30\x2d\x2e\x35\x2c\x30\x2d\x2e\x37\x35\x2c\ +\x30\x2d\x2e\x31\x32\x2c\x30\x2d\x2e\x31\x36\x2d\x2e\x30\x34\x2d\ +\x2e\x31\x39\x2d\x2e\x31\x32\x2d\x2e\x37\x2d\x31\x2e\x36\x31\x2d\ +\x2e\x39\x2d\x33\x2e\x36\x39\x2d\x2e\x39\x2d\x35\x2e\x33\x31\x5a\ +\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\ +\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\ +\x22\x4d\x37\x2e\x36\x32\x2c\x34\x2e\x34\x33\x63\x2e\x31\x32\x2e\ +\x30\x32\x2e\x33\x34\x2d\x2e\x30\x37\x2e\x34\x32\x2e\x30\x34\x2e\ +\x30\x36\x2e\x30\x37\x2d\x2e\x30\x35\x2e\x32\x35\x2d\x2e\x30\x39\ +\x2e\x33\x38\x2d\x2e\x36\x39\x2c\x32\x2e\x33\x33\x2d\x2e\x38\x36\ +\x2c\x34\x2e\x37\x37\x2d\x2e\x36\x33\x2c\x37\x2e\x31\x37\x2e\x31\ +\x31\x2c\x31\x2e\x31\x37\x2e\x33\x36\x2c\x32\x2e\x33\x32\x2e\x37\ +\x32\x2c\x33\x2e\x34\x35\x2e\x30\x34\x2e\x31\x33\x2e\x30\x32\x2e\ +\x31\x37\x2d\x2e\x31\x34\x2e\x31\x36\x2d\x2e\x32\x31\x2d\x2e\x30\ +\x31\x2d\x2e\x34\x32\x2c\x30\x2d\x2e\x36\x33\x2c\x30\x2d\x2e\x31\ +\x33\x2c\x30\x2d\x2e\x31\x38\x2d\x2e\x30\x34\x2d\x2e\x32\x32\x2d\ +\x2e\x31\x34\x2d\x2e\x33\x31\x2d\x2e\x37\x31\x2d\x2e\x35\x2d\x31\ +\x2e\x34\x35\x2d\x2e\x36\x33\x2d\x32\x2e\x32\x2d\x2e\x34\x35\x2d\ +\x32\x2e\x37\x33\x2d\x2e\x34\x32\x2d\x36\x2e\x31\x31\x2e\x36\x32\ +\x2d\x38\x2e\x37\x31\x2e\x30\x35\x2d\x2e\x31\x31\x2e\x31\x2d\x2e\ +\x31\x37\x2e\x32\x35\x2d\x2e\x31\x35\x2e\x31\x2e\x30\x31\x2e\x32\ +\x2c\x30\x2c\x2e\x33\x34\x2c\x30\x5a\x22\x2f\x3e\x0a\x20\x20\x20\ +\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\ +\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x33\x2e\x32\x37\x2c\ +\x31\x30\x2e\x35\x32\x63\x2d\x2e\x30\x34\x2d\x2e\x33\x2d\x2e\x30\ +\x35\x2d\x2e\x36\x34\x2d\x2e\x30\x33\x2d\x2e\x39\x37\x2e\x31\x31\ +\x2d\x31\x2e\x36\x39\x2e\x32\x34\x2d\x33\x2e\x34\x34\x2e\x39\x34\ +\x2d\x35\x2e\x30\x32\x2e\x30\x33\x2d\x2e\x30\x37\x2e\x30\x37\x2d\ +\x2e\x30\x39\x2e\x31\x36\x2d\x2e\x31\x2e\x35\x38\x2d\x2e\x30\x33\ +\x2e\x35\x37\x2d\x2e\x30\x33\x2e\x34\x31\x2e\x34\x33\x2d\x31\x2e\ +\x30\x32\x2c\x33\x2e\x31\x33\x2d\x31\x2e\x30\x34\x2c\x37\x2e\x35\ +\x32\x2e\x31\x31\x2c\x31\x30\x2e\x36\x32\x2e\x30\x35\x2e\x31\x33\ +\x2e\x30\x32\x2e\x31\x35\x2d\x2e\x31\x33\x2e\x31\x35\x2d\x2e\x35\ +\x32\x2c\x30\x2d\x2e\x35\x32\x2c\x30\x2d\x2e\x36\x38\x2d\x2e\x34\ +\x32\x2d\x2e\x35\x36\x2d\x31\x2e\x35\x32\x2d\x2e\x37\x32\x2d\x33\ +\x2e\x30\x38\x2d\x2e\x37\x38\x2d\x34\x2e\x36\x39\x5a\x22\x2f\x3e\ +\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\ +\x2e\x37\x31\x2c\x31\x30\x2e\x31\x36\x63\x2e\x30\x31\x2d\x32\x2e\ +\x30\x32\x2e\x31\x36\x2d\x33\x2e\x38\x31\x2e\x39\x2d\x35\x2e\x36\ +\x2e\x30\x34\x2d\x2e\x30\x39\x2e\x30\x38\x2d\x2e\x31\x33\x2e\x31\ +\x39\x2d\x2e\x31\x32\x2e\x31\x37\x2e\x30\x31\x2e\x34\x31\x2d\x2e\ +\x30\x36\x2e\x34\x39\x2e\x30\x33\x2e\x30\x38\x2e\x30\x39\x2d\x2e\ +\x30\x37\x2e\x32\x36\x2d\x2e\x31\x32\x2e\x34\x2d\x31\x2c\x33\x2e\ +\x31\x36\x2d\x31\x2e\x30\x34\x2c\x37\x2e\x34\x38\x2e\x31\x31\x2c\ +\x31\x30\x2e\x36\x31\x2e\x30\x36\x2e\x31\x35\x2c\x30\x2c\x2e\x31\ +\x36\x2d\x2e\x31\x35\x2e\x31\x36\x2d\x2e\x34\x39\x2c\x30\x2d\x2e\ +\x34\x39\x2c\x30\x2d\x2e\x36\x35\x2d\x2e\x34\x2d\x2e\x36\x2d\x31\ +\x2e\x35\x37\x2d\x2e\x37\x39\x2d\x33\x2e\x34\x39\x2d\x2e\x37\x38\ +\x2d\x35\x2e\x30\x37\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\ \x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\ -\x2d\x31\x22\x20\x64\x3d\x22\x4d\x34\x2e\x37\x31\x2c\x31\x30\x2e\ -\x31\x36\x63\x2e\x30\x31\x2d\x32\x2e\x30\x32\x2e\x31\x36\x2d\x33\ -\x2e\x38\x31\x2e\x39\x2d\x35\x2e\x36\x2e\x30\x34\x2d\x2e\x30\x39\ -\x2e\x30\x38\x2d\x2e\x31\x33\x2e\x31\x39\x2d\x2e\x31\x32\x2e\x31\ -\x37\x2e\x30\x31\x2e\x34\x31\x2d\x2e\x30\x36\x2e\x34\x39\x2e\x30\ -\x33\x2e\x30\x38\x2e\x30\x39\x2d\x2e\x30\x37\x2e\x32\x36\x2d\x2e\ -\x31\x32\x2e\x34\x2d\x31\x2c\x33\x2e\x31\x36\x2d\x31\x2e\x30\x34\ -\x2c\x37\x2e\x34\x38\x2e\x31\x31\x2c\x31\x30\x2e\x36\x31\x2e\x30\ -\x36\x2e\x31\x35\x2c\x30\x2c\x2e\x31\x36\x2d\x2e\x31\x35\x2e\x31\ -\x36\x2d\x2e\x34\x39\x2c\x30\x2d\x2e\x34\x39\x2c\x30\x2d\x2e\x36\ -\x35\x2d\x2e\x34\x2d\x2e\x36\x2d\x31\x2e\x35\x37\x2d\x2e\x37\x39\ -\x2d\x33\x2e\x34\x39\x2d\x2e\x37\x38\x2d\x35\x2e\x30\x37\x5a\x22\ -\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x20\x63\ -\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x64\x3d\x22\ -\x4d\x37\x2e\x39\x33\x2c\x33\x2e\x39\x38\x63\x2e\x33\x38\x2c\x30\ -\x2c\x2e\x33\x38\x2c\x30\x2c\x2e\x34\x37\x2d\x2e\x33\x32\x2e\x33\ -\x36\x2d\x31\x2e\x31\x39\x2d\x2e\x31\x2d\x32\x2e\x32\x36\x2d\x31\ -\x2e\x34\x35\x2d\x32\x2e\x34\x33\x2d\x2e\x36\x33\x2d\x2e\x31\x2d\ -\x2e\x36\x32\x2d\x2e\x30\x39\x2d\x2e\x36\x31\x2e\x34\x35\x2c\x30\ -\x2c\x2e\x31\x2e\x30\x34\x2e\x31\x34\x2e\x31\x35\x2e\x31\x34\x2e\ -\x32\x31\x2c\x30\x2c\x2e\x34\x32\x2e\x30\x33\x2e\x36\x32\x2e\x30\ -\x39\x2e\x34\x2e\x31\x33\x2e\x36\x2e\x33\x38\x2e\x36\x36\x2e\x37\ -\x34\x2e\x30\x36\x2e\x34\x2d\x2e\x30\x32\x2e\x37\x38\x2d\x2e\x31\ -\x36\x2c\x31\x2e\x31\x35\x71\x2d\x2e\x30\x36\x2e\x31\x38\x2e\x31\ -\x37\x2e\x31\x38\x63\x2e\x30\x35\x2c\x30\x2c\x2e\x31\x31\x2c\x30\ -\x2c\x2e\x31\x36\x2c\x30\x5a\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\ -\x20\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x31\x22\x20\x63\x78\x3d\x22\x31\x30\x2e\x31\ -\x33\x22\x20\x63\x79\x3d\x22\x31\x30\x2e\x31\x22\x20\x72\x78\x3d\ -\x22\x2e\x34\x32\x22\x20\x72\x79\x3d\x22\x32\x2e\x34\x38\x22\x2f\ -\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\x20\x3c\x2f\x67\ -\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\ -\x00\x00\x0a\x62\ +\x2d\x31\x22\x20\x64\x3d\x22\x4d\x37\x2e\x39\x33\x2c\x33\x2e\x39\ +\x38\x63\x2e\x33\x38\x2c\x30\x2c\x2e\x33\x38\x2c\x30\x2c\x2e\x34\ +\x37\x2d\x2e\x33\x32\x2e\x33\x36\x2d\x31\x2e\x31\x39\x2d\x2e\x31\ +\x2d\x32\x2e\x32\x36\x2d\x31\x2e\x34\x35\x2d\x32\x2e\x34\x33\x2d\ +\x2e\x36\x33\x2d\x2e\x31\x2d\x2e\x36\x32\x2d\x2e\x30\x39\x2d\x2e\ +\x36\x31\x2e\x34\x35\x2c\x30\x2c\x2e\x31\x2e\x30\x34\x2e\x31\x34\ +\x2e\x31\x35\x2e\x31\x34\x2e\x32\x31\x2c\x30\x2c\x2e\x34\x32\x2e\ +\x30\x33\x2e\x36\x32\x2e\x30\x39\x2e\x34\x2e\x31\x33\x2e\x36\x2e\ +\x33\x38\x2e\x36\x36\x2e\x37\x34\x2e\x30\x36\x2e\x34\x2d\x2e\x30\ +\x32\x2e\x37\x38\x2d\x2e\x31\x36\x2c\x31\x2e\x31\x35\x71\x2d\x2e\ +\x30\x36\x2e\x31\x38\x2e\x31\x37\x2e\x31\x38\x63\x2e\x30\x35\x2c\ +\x30\x2c\x2e\x31\x31\x2c\x30\x2c\x2e\x31\x36\x2c\x30\x5a\x22\x2f\ +\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x65\x6c\x6c\x69\x70\x73\x65\ +\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x63\ +\x78\x3d\x22\x31\x30\x2e\x31\x33\x22\x20\x63\x79\x3d\x22\x31\x30\ +\x2e\x31\x22\x20\x72\x78\x3d\x22\x2e\x34\x32\x22\x20\x72\x79\x3d\ +\x22\x32\x2e\x34\x38\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x67\ +\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x0a\x58\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ @@ -2210,166 +2205,165 @@ \x22\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x73\x74\x79\x6c\x65\x3e\x2e\ \x63\x6c\x73\x2d\x31\x7b\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\ \x36\x35\x2e\x37\x38\x70\x78\x3b\x66\x6f\x6e\x74\x2d\x66\x61\x6d\ -\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x2d\x54\x68\x69\x6e\ -\x2c\x20\x4d\x6f\x6d\x63\x61\x6b\x65\x3b\x66\x6f\x6e\x74\x2d\x77\ -\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\x7d\x2e\x63\x6c\x73\x2d\ -\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\x69\x6c\x6c\x3a\x23\x66\ -\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\x7b\x6c\x65\x74\x74\x65\ -\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x31\x65\ -\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\x6c\x65\x74\x74\x65\x72\ -\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\x30\x2e\x30\x35\x65\x6d\ -\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x3c\x2f\x64\x65\x66\x73\ -\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\x72\x5f\x32\x22\ -\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\ -\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\x79\x65\ -\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ -\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x3e\x3c\x74\x65\x78\x74\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x31\x22\x20\x74\ -\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ -\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\x34\x39\x2e\x39\x33\x29\ -\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x32\x22\x3e\x70\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x32\x38\x2e\x30\x32\x22\ -\x20\x79\x3d\x22\x30\x22\x3e\x65\x3c\x2f\x74\x73\x70\x61\x6e\x3e\ -\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ -\x73\x2d\x33\x22\x20\x78\x3d\x22\x35\x34\x2e\x38\x36\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x74\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x74\ -\x73\x70\x61\x6e\x20\x78\x3d\x22\x38\x34\x2e\x39\x32\x22\x20\x79\ -\x3d\x22\x30\x22\x3e\x67\x3c\x2f\x74\x73\x70\x61\x6e\x3e\x3c\x2f\ -\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\ -\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x32\x34\x2e\ -\x37\x38\x2c\x31\x38\x2e\x31\x31\x63\x32\x2e\x35\x36\x2c\x31\x2e\ -\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\x34\x34\x2c\x34\x2e\x31\ -\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\x2c\x36\x2e\x35\x36\x2c\ -\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\x33\x2e\x30\x39\x2c\x32\ -\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\x2d\x31\x2e\x38\x32\x2c\ -\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\x32\x32\x61\x39\x2c\x39\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\x35\x2d\x33\x2e\x31\x31\ -\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\x2d\x32\x2e\x38\x38\x2d\ -\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\x2e\x39\x41\x37\x2e\x30\ -\x36\x2c\x37\x2e\x30\x36\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x34\x2c\ -\x31\x38\x2e\x31\x31\x5a\x4d\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\ -\x36\x39\x61\x2e\x38\x38\x2e\x38\x38\x2c\x30\x2c\x30\x2c\x30\x2c\ -\x2e\x38\x36\x2e\x36\x2e\x39\x32\x2e\x39\x32\x2c\x30\x2c\x30\x2c\ -\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x31\x63\x33\x2e\x30\x39\x2d\x36\ -\x2e\x35\x35\x2c\x33\x2e\x31\x33\x2d\x31\x36\x2e\x35\x36\x2c\x31\ -\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\x32\x30\x2e\x32\x31\x2c\ -\x32\x30\x2e\x32\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x32\x35\x2e\x32\ -\x37\x2c\x32\x31\x61\x2e\x39\x31\x2e\x39\x31\x2c\x30\x2c\x30\x2c\ -\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2c\x31\x2c\x31\x2c\x30\x2c\x30\ -\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\x35\x2c\x31\x35\x2c\x30\ -\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\x2e\x34\x39\x43\x32\x30\ -\x2e\x35\x32\x2c\x33\x31\x2e\x36\x31\x2c\x31\x39\x2e\x34\x31\x2c\ -\x34\x30\x2e\x33\x39\x2c\x32\x33\x2e\x35\x33\x2c\x34\x39\x2e\x36\ -\x39\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ -\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\ -\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\ -\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\x2c\x31\x38\x2e\x31\x31\ -\x61\x35\x2e\x32\x34\x2c\x35\x2e\x32\x34\x2c\x30\x2c\x30\x2c\x31\ -\x2c\x32\x2c\x32\x2e\x32\x37\x48\x35\x2e\x36\x31\x63\x2d\x2e\x38\ -\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\x2e\x32\x39\x2e\x37\x34\ -\x43\x31\x2c\x32\x38\x2e\x34\x35\x2c\x31\x2c\x34\x31\x2e\x31\x37\ -\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x36\x37\x63\x2e\x31\x35\x2e\ -\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\x39\x2c\x31\x2e\x30\x36\ -\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x35\x37\ -\x48\x37\x2e\x36\x37\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x31\x2e\x37\x35\x2c\x32\x2e\x30\x37\x63\x2d\x31\x2e\x32\x34\x2e\ -\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x37\x2d\x32\x2e\x39\x33\x2d\ -\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\x33\x2e\x35\x2d\x2e\x37\ -\x34\x2c\x33\x30\x2e\x32\x35\x2c\x31\x2e\x38\x33\x2c\x32\x32\x2e\ -\x37\x32\x63\x2e\x35\x39\x2d\x31\x2e\x36\x35\x2c\x31\x2e\x34\x2d\ -\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\x34\x2e\x36\x31\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x34\x63\x30\x2d\ -\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\x2c\x32\x2e\x31\x37\x2d\ -\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\x34\x33\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\x71\x2e\x39\x2c\x30\x2c\ -\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\x30\x2c\x2e\x33\x35\x2e\ -\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\x2e\x33\x35\x2c\x32\x37\ -\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x37\x2c\x35\ -\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\x35\x2e\x37\x37\x2c\x34\x31\ -\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\x34\x38\x2e\x35\x32\x63\x2e\ -\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x33\x2d\x2e\x32\x35\x2e\x33\ -\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\x31\x2c\x30\x2d\x31\x2e\ -\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\x32\x2c\x30\x2c\x30\x2c\ -\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\x2c\x34\x34\x2e\x36\x36\ -\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\x35\x2c\x33\x2e\x35\x32\ -\x2c\x33\x35\x2e\x37\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\ -\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\ -\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\ -\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x38\x2e\x33\x38\ -\x2c\x32\x31\x2e\x38\x35\x63\x2e\x32\x38\x2c\x30\x2c\x2e\x38\x31\ -\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x38\x73\x2d\x2e\x31\x33\x2e\ -\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\x34\x35\x2e\x37\x32\x2c\ -\x34\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x32\ -\x2c\x31\x37\x2e\x33\x2c\x33\x39\x2e\x36\x35\x2c\x33\x39\x2e\x36\ -\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\x37\x32\x2c\x38\x2e\x33\ -\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\x35\x2e\x34\x31\x2d\x2e\x33\ -\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\x33\x2c\x30\x2c\x30\x2c\x30\ -\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\x34\x38\x2e\x34\x38\x2c\x30\ -\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\x33\x33\x2c\x32\x33\x2e\ -\x37\x2c\x32\x33\x2e\x37\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x35\ -\x31\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\x39\x2d\x36\x2e\x35\x38\ -\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\x2e\x34\x39\x2d\x32\x31\ -\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x36\x2d\x2e\ -\x33\x37\x41\x37\x2e\x31\x33\x2c\x37\x2e\x31\x33\x2c\x30\x2c\x30\ -\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x35\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ -\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x61\x31\x31\ -\x2e\x32\x38\x2c\x31\x31\x2e\x32\x38\x2c\x30\x2c\x30\x2c\x31\x2d\ -\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\x32\x37\x2d\x34\x2e\x30\ -\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\x32\x2e\x32\x35\x2d\x31\ -\x32\x2e\x31\x31\x61\x2e\x33\x37\x2e\x33\x37\x2c\x30\x2c\x30\x2c\ -\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\x63\x31\x2e\x33\x39\x2d\x2e\ -\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\x38\x2c\x31\x2c\x31\x43\ -\x39\x2c\x33\x30\x2e\x34\x32\x2c\x38\x2e\x39\x33\x2c\x34\x31\x2c\ -\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x34\x38\x63\x2e\x31\x32\x2e\ -\x33\x2e\x30\x35\x2e\x33\x36\x2d\x2e\x33\x2e\x33\x36\x2d\x31\x2e\ -\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\x30\x2d\x31\x2e\x36\x34\ -\x2d\x31\x41\x33\x36\x2e\x30\x38\x2c\x33\x36\x2e\x30\x38\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\x33\x36\x2e\x35\x32\x5a\ -\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\ -\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\ -\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\ -\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x63\ -\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\x39\x2e\x31\x38\x2c\x32\ -\x2e\x31\x37\x2d\x31\x33\x2e\x35\x61\x2e\x34\x2e\x34\x2c\x30\x2c\ -\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\x63\x2e\x34\x2c\x30\x2c\ -\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\x2e\x30\x37\x73\x2d\x2e\ -\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\x31\x63\x2d\x32\x2e\x34\ -\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\x31\x2c\x31\x38\x2c\x2e\ -\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\x34\x2e\x33\x36\x2c\x30\ -\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\x39\x2d\x31\x2e\x31\x37\ -\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\x31\x2e\x35\x37\x2d\x31\ -\x41\x33\x35\x2e\x36\x38\x2c\x33\x35\x2e\x36\x38\x2c\x30\x2c\x30\ -\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\x35\x2e\x36\x34\x5a\x22\ -\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\ -\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\ +\x69\x6c\x79\x3a\x4d\x6f\x6d\x63\x61\x6b\x65\x20\x50\x72\x6f\x3b\ +\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x32\x30\x30\x3b\ +\x7d\x2e\x63\x6c\x73\x2d\x31\x2c\x2e\x63\x6c\x73\x2d\x34\x7b\x66\ +\x69\x6c\x6c\x3a\x23\x66\x66\x66\x3b\x7d\x2e\x63\x6c\x73\x2d\x32\ +\x7b\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\ +\x2d\x30\x2e\x30\x31\x65\x6d\x3b\x7d\x2e\x63\x6c\x73\x2d\x33\x7b\ +\x6c\x65\x74\x74\x65\x72\x2d\x73\x70\x61\x63\x69\x6e\x67\x3a\x2d\ +\x30\x2e\x30\x35\x65\x6d\x3b\x7d\x3c\x2f\x73\x74\x79\x6c\x65\x3e\ +\x3c\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x69\x64\x3d\x22\x4c\x61\ +\x79\x65\x72\x5f\x32\x22\x20\x64\x61\x74\x61\x2d\x6e\x61\x6d\x65\ +\x3d\x22\x4c\x61\x79\x65\x72\x20\x32\x22\x3e\x3c\x67\x20\x69\x64\ +\x3d\x22\x4c\x61\x79\x65\x72\x5f\x31\x2d\x32\x22\x20\x64\x61\x74\ +\x61\x2d\x6e\x61\x6d\x65\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\ +\x3e\x3c\x74\x65\x78\x74\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x31\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ +\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x34\x37\x2e\x39\x31\x20\ +\x34\x39\x2e\x39\x33\x29\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x32\x22\x3e\x70\x3c\x2f\ +\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\ +\x32\x38\x2e\x30\x32\x22\x20\x79\x3d\x22\x30\x22\x3e\x65\x3c\x2f\ +\x74\x73\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x63\x6c\x61\ +\x73\x73\x3d\x22\x63\x6c\x73\x2d\x33\x22\x20\x78\x3d\x22\x35\x34\ +\x2e\x38\x36\x22\x20\x79\x3d\x22\x30\x22\x3e\x74\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x74\x73\x70\x61\x6e\x20\x78\x3d\x22\x38\x34\ +\x2e\x39\x32\x22\x20\x79\x3d\x22\x30\x22\x3e\x67\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x70\x61\x74\x68\ \x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\ -\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\x30\x2e\x37\x34\x63\x2e\ -\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\x2c\x31\x2e\x31\x33\x2d\ -\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\x36\x2d\x2e\x32\x35\x2d\ -\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\x2e\x38\x36\x2d\x31\x2e\ -\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\x2d\x2e\x32\x31\x2d\x31\ -\x2e\x34\x38\x2c\x31\x2e\x30\x39\x2c\x30\x2c\x2e\x32\x35\x2e\x30\ -\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x34\x61\x35\x2c\x35\x2c\x30\ -\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\x32\x32\x2c\x32\x2e\x31\ -\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x35\ -\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\x38\x2c\x35\x2e\x37\x38\ -\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\x2c\x32\x2e\x37\x38\x63\ -\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\x35\x2e\x34\x33\x2e\x34\ -\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ +\x3d\x22\x4d\x32\x34\x2e\x37\x38\x2c\x31\x38\x2e\x31\x31\x63\x32\ +\x2e\x35\x36\x2c\x31\x2e\x33\x35\x2c\x33\x2e\x37\x31\x2c\x36\x2e\ +\x34\x34\x2c\x34\x2e\x31\x38\x2c\x39\x2e\x30\x37\x2c\x31\x2e\x32\ +\x2c\x36\x2e\x35\x36\x2c\x31\x2e\x31\x34\x2c\x31\x39\x2e\x31\x2d\ +\x33\x2e\x30\x39\x2c\x32\x34\x2e\x35\x31\x2d\x2e\x38\x31\x2c\x31\ +\x2d\x31\x2e\x38\x32\x2c\x31\x2e\x32\x31\x2d\x32\x2e\x37\x34\x2e\ +\x32\x32\x61\x39\x2c\x39\x2c\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x38\ +\x35\x2d\x33\x2e\x31\x31\x63\x2d\x32\x2e\x38\x33\x2d\x37\x2e\x36\ +\x2d\x32\x2e\x38\x38\x2d\x31\x39\x2e\x32\x39\x2c\x30\x2d\x32\x36\ +\x2e\x39\x41\x37\x2e\x30\x36\x2c\x37\x2e\x30\x36\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x32\x34\x2c\x31\x38\x2e\x31\x31\x5a\x4d\x32\x33\x2e\ +\x35\x33\x2c\x34\x39\x2e\x36\x39\x61\x2e\x38\x38\x2e\x38\x38\x2c\ +\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x36\x2e\x36\x2e\x39\x32\x2e\x39\ +\x32\x2c\x30\x2c\x30\x2c\x30\x2c\x2e\x38\x39\x2d\x2e\x36\x31\x63\ +\x33\x2e\x30\x39\x2d\x36\x2e\x35\x35\x2c\x33\x2e\x31\x33\x2d\x31\ +\x36\x2e\x35\x36\x2c\x31\x2e\x36\x39\x2d\x32\x33\x2e\x35\x37\x41\ +\x32\x30\x2e\x32\x31\x2c\x32\x30\x2e\x32\x31\x2c\x30\x2c\x30\x2c\ +\x30\x2c\x32\x35\x2e\x32\x37\x2c\x32\x31\x61\x2e\x39\x31\x2e\x39\ +\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x38\x35\x2d\x2e\x36\x2c\x31\ +\x2c\x31\x2c\x30\x2c\x30\x2c\x30\x2d\x2e\x39\x2e\x36\x31\x2c\x31\ +\x35\x2c\x31\x35\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x33\x2c\x33\ +\x2e\x34\x39\x43\x32\x30\x2e\x35\x32\x2c\x33\x31\x2e\x36\x31\x2c\ +\x31\x39\x2e\x34\x31\x2c\x34\x30\x2e\x33\x39\x2c\x32\x33\x2e\x35\ +\x33\x2c\x34\x39\x2e\x36\x39\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\ +\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\ +\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\ +\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x35\x2e\x36\x34\ +\x2c\x31\x38\x2e\x31\x31\x61\x35\x2e\x32\x34\x2c\x35\x2e\x32\x34\ +\x2c\x30\x2c\x30\x2c\x31\x2c\x32\x2c\x32\x2e\x32\x37\x48\x35\x2e\ +\x36\x31\x63\x2d\x2e\x38\x2c\x30\x2d\x31\x2c\x2e\x31\x31\x2d\x31\ +\x2e\x32\x39\x2e\x37\x34\x43\x31\x2c\x32\x38\x2e\x34\x35\x2c\x31\ +\x2c\x34\x31\x2e\x31\x37\x2c\x33\x2e\x39\x32\x2c\x34\x38\x2e\x36\ +\x37\x63\x2e\x31\x35\x2e\x33\x36\x2e\x33\x33\x2e\x37\x31\x2e\x34\ +\x39\x2c\x31\x2e\x30\x36\x61\x31\x2c\x31\x2c\x30\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x2e\x35\x37\x48\x37\x2e\x36\x37\x61\x35\x2c\x35\x2c\ +\x30\x2c\x30\x2c\x31\x2d\x31\x2e\x37\x35\x2c\x32\x2e\x30\x37\x63\ +\x2d\x31\x2e\x32\x34\x2e\x37\x34\x2d\x32\x2e\x34\x2d\x2e\x38\x37\ +\x2d\x32\x2e\x39\x33\x2d\x31\x2e\x38\x43\x2d\x2e\x38\x32\x2c\x34\ +\x33\x2e\x35\x2d\x2e\x37\x34\x2c\x33\x30\x2e\x32\x35\x2c\x31\x2e\ +\x38\x33\x2c\x32\x32\x2e\x37\x32\x63\x2e\x35\x39\x2d\x31\x2e\x36\ +\x35\x2c\x31\x2e\x34\x2d\x33\x2e\x36\x39\x2c\x33\x2e\x30\x35\x2d\ +\x34\x2e\x36\x31\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ \x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ -\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\x63\x6c\x61\x73\x73\x3d\ -\x22\x63\x6c\x73\x2d\x34\x22\x20\x63\x78\x3d\x22\x32\x34\x2e\x34\ -\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\x35\x32\x22\x20\x72\x78\ -\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\x3d\x22\x35\x2e\x39\x39\ -\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\ -\x3e\ +\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x33\x2e\x35\x32\x2c\x33\x35\ +\x2e\x37\x34\x63\x30\x2d\x35\x2c\x2e\x33\x37\x2d\x39\x2e\x32\x33\ +\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x36\x31\x61\x2e\x34\x33\x2e\ +\x34\x33\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x38\x2d\x2e\x32\x39\ +\x71\x2e\x39\x2c\x30\x2c\x31\x2e\x38\x2c\x30\x63\x2e\x32\x39\x2c\ +\x30\x2c\x2e\x33\x35\x2e\x30\x35\x2e\x32\x35\x2e\x33\x61\x32\x37\ +\x2e\x33\x35\x2c\x32\x37\x2e\x33\x35\x2c\x30\x2c\x30\x2c\x30\x2d\ +\x31\x2e\x33\x37\x2c\x35\x43\x35\x2e\x36\x38\x2c\x33\x34\x2c\x35\ +\x2e\x37\x37\x2c\x34\x31\x2e\x38\x39\x2c\x38\x2e\x32\x32\x2c\x34\ +\x38\x2e\x35\x32\x63\x2e\x31\x2e\x32\x34\x2e\x30\x39\x2e\x33\x33\ +\x2d\x2e\x32\x35\x2e\x33\x32\x2d\x2e\x36\x2c\x30\x2d\x31\x2e\x32\ +\x31\x2c\x30\x2d\x31\x2e\x38\x31\x2c\x30\x61\x2e\x34\x32\x2e\x34\ +\x32\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x34\x37\x2d\x2e\x33\x43\x34\ +\x2c\x34\x34\x2e\x36\x36\x2c\x33\x2e\x35\x32\x2c\x33\x39\x2e\x36\ +\x35\x2c\x33\x2e\x35\x32\x2c\x33\x35\x2e\x37\x34\x5a\x22\x20\x74\ +\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\ +\x61\x74\x65\x28\x30\x29\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\ +\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\ +\x4d\x31\x38\x2e\x33\x38\x2c\x32\x31\x2e\x38\x35\x63\x2e\x32\x38\ +\x2c\x30\x2c\x2e\x38\x31\x2d\x2e\x31\x36\x2c\x31\x2c\x2e\x30\x38\ +\x73\x2d\x2e\x31\x33\x2e\x36\x31\x2d\x2e\x32\x32\x2e\x39\x32\x61\ +\x34\x35\x2e\x37\x32\x2c\x34\x35\x2e\x37\x32\x2c\x30\x2c\x30\x2c\ +\x30\x2d\x31\x2e\x35\x32\x2c\x31\x37\x2e\x33\x2c\x33\x39\x2e\x36\ +\x35\x2c\x33\x39\x2e\x36\x35\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x2e\ +\x37\x32\x2c\x38\x2e\x33\x63\x2e\x31\x31\x2e\x33\x33\x2e\x30\x35\ +\x2e\x34\x31\x2d\x2e\x33\x33\x2e\x33\x39\x61\x31\x33\x2c\x31\x33\ +\x2c\x30\x2c\x30\x2c\x30\x2d\x31\x2e\x35\x33\x2c\x30\x2c\x2e\x34\ +\x38\x2e\x34\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x35\x34\x2d\x2e\ +\x33\x33\x2c\x32\x33\x2e\x37\x2c\x32\x33\x2e\x37\x2c\x30\x2c\x30\ +\x2c\x31\x2d\x31\x2e\x35\x31\x2d\x35\x2e\x33\x63\x2d\x31\x2e\x30\ +\x39\x2d\x36\x2e\x35\x38\x2d\x31\x2d\x31\x34\x2e\x37\x34\x2c\x31\ +\x2e\x34\x39\x2d\x32\x31\x61\x2e\x35\x2e\x35\x2c\x30\x2c\x30\x2c\ +\x31\x2c\x2e\x36\x2d\x2e\x33\x37\x41\x37\x2e\x31\x33\x2c\x37\x2e\ +\x31\x33\x2c\x30\x2c\x30\x2c\x30\x2c\x31\x38\x2e\x33\x38\x2c\x32\ +\x31\x2e\x38\x35\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ +\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ +\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x37\x2e\x38\x37\x2c\x33\x36\ +\x2e\x35\x32\x61\x31\x31\x2e\x32\x38\x2c\x31\x31\x2e\x32\x38\x2c\ +\x30\x2c\x30\x2c\x31\x2d\x2e\x30\x36\x2d\x32\x2e\x33\x33\x63\x2e\ +\x32\x37\x2d\x34\x2e\x30\x38\x2e\x35\x37\x2d\x38\x2e\x32\x39\x2c\ +\x32\x2e\x32\x35\x2d\x31\x32\x2e\x31\x31\x61\x2e\x33\x37\x2e\x33\ +\x37\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x33\x38\x2d\x2e\x32\x34\x63\ +\x31\x2e\x33\x39\x2d\x2e\x30\x37\x2c\x31\x2e\x33\x38\x2d\x2e\x30\ +\x38\x2c\x31\x2c\x31\x43\x39\x2c\x33\x30\x2e\x34\x32\x2c\x38\x2e\ +\x39\x33\x2c\x34\x31\x2c\x31\x31\x2e\x36\x38\x2c\x34\x38\x2e\x34\ +\x38\x63\x2e\x31\x32\x2e\x33\x2e\x30\x35\x2e\x33\x36\x2d\x2e\x33\ +\x2e\x33\x36\x2d\x31\x2e\x32\x35\x2c\x30\x2d\x31\x2e\x32\x36\x2c\ +\x30\x2d\x31\x2e\x36\x34\x2d\x31\x41\x33\x36\x2e\x30\x38\x2c\x33\ +\x36\x2e\x30\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x37\x2e\x38\x37\x2c\ +\x33\x36\x2e\x35\x32\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\ +\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\ +\x2f\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\ +\x6c\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x35\x2c\ +\x33\x35\x2e\x36\x34\x63\x30\x2d\x34\x2e\x38\x36\x2e\x33\x38\x2d\ +\x39\x2e\x31\x38\x2c\x32\x2e\x31\x37\x2d\x31\x33\x2e\x35\x61\x2e\ +\x34\x2e\x34\x2c\x30\x2c\x30\x2c\x31\x2c\x2e\x34\x37\x2d\x2e\x33\ +\x63\x2e\x34\x2c\x30\x2c\x31\x2d\x2e\x31\x35\x2c\x31\x2e\x31\x38\ +\x2e\x30\x37\x73\x2d\x2e\x31\x37\x2e\x36\x34\x2d\x2e\x32\x38\x2c\ +\x31\x63\x2d\x32\x2e\x34\x31\x2c\x37\x2e\x36\x31\x2d\x32\x2e\x35\ +\x31\x2c\x31\x38\x2c\x2e\x32\x37\x2c\x32\x35\x2e\x35\x37\x2e\x31\ +\x34\x2e\x33\x36\x2c\x30\x2c\x2e\x33\x39\x2d\x2e\x33\x35\x2e\x33\ +\x39\x2d\x31\x2e\x31\x37\x2c\x30\x2d\x31\x2e\x31\x39\x2c\x30\x2d\ +\x31\x2e\x35\x37\x2d\x31\x41\x33\x35\x2e\x36\x38\x2c\x33\x35\x2e\ +\x36\x38\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x31\x2e\x33\x35\x2c\x33\ +\x35\x2e\x36\x34\x5a\x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\ +\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x30\x29\x22\x2f\ +\x3e\x3c\x70\x61\x74\x68\x20\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\ +\x73\x2d\x34\x22\x20\x64\x3d\x22\x4d\x31\x39\x2e\x31\x32\x2c\x32\ +\x30\x2e\x37\x34\x63\x2e\x39\x32\x2c\x30\x2c\x2e\x39\x32\x2c\x30\ +\x2c\x31\x2e\x31\x33\x2d\x2e\x37\x38\x2e\x38\x36\x2d\x32\x2e\x38\ +\x36\x2d\x2e\x32\x35\x2d\x35\x2e\x34\x35\x2d\x33\x2e\x35\x2d\x35\ +\x2e\x38\x36\x2d\x31\x2e\x35\x31\x2d\x2e\x32\x33\x2d\x31\x2e\x35\ +\x2d\x2e\x32\x31\x2d\x31\x2e\x34\x38\x2c\x31\x2e\x30\x39\x2c\x30\ +\x2c\x2e\x32\x35\x2e\x30\x39\x2e\x33\x33\x2e\x33\x37\x2e\x33\x34\ +\x61\x35\x2c\x35\x2c\x30\x2c\x30\x2c\x31\x2c\x31\x2e\x34\x39\x2e\ +\x32\x32\x2c\x32\x2e\x31\x31\x2c\x32\x2e\x31\x31\x2c\x30\x2c\x30\ +\x2c\x31\x2c\x31\x2e\x35\x38\x2c\x31\x2e\x37\x38\x2c\x35\x2e\x37\ +\x38\x2c\x35\x2e\x37\x38\x2c\x30\x2c\x30\x2c\x31\x2d\x2e\x33\x38\ +\x2c\x32\x2e\x37\x38\x63\x2d\x2e\x31\x35\x2e\x34\x33\x2d\x2e\x31\ +\x35\x2e\x34\x33\x2e\x34\x31\x2e\x34\x33\x5a\x22\x20\x74\x72\x61\ +\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\ +\x65\x28\x30\x29\x22\x2f\x3e\x3c\x65\x6c\x6c\x69\x70\x73\x65\x20\ +\x63\x6c\x61\x73\x73\x3d\x22\x63\x6c\x73\x2d\x34\x22\x20\x63\x78\ +\x3d\x22\x32\x34\x2e\x34\x32\x22\x20\x63\x79\x3d\x22\x33\x35\x2e\ +\x35\x32\x22\x20\x72\x78\x3d\x22\x31\x2e\x30\x31\x22\x20\x72\x79\ +\x3d\x22\x35\x2e\x39\x39\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\ +\x3e\x3c\x2f\x73\x76\x67\x3e\ \x00\x00\x08\xab\ \x3c\ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\ @@ -2846,22 +2840,22 @@ \x00\x00\x01\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x18\xd6\ \x00\x00\x01\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x7e\ \x00\x00\x01\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x27\xbd\ -\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x00\x32\x21\ -\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x4a\ -\x00\x00\x02\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x46\xa2\ -\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x50\xba\ -\x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00\x51\xdf\ -\x00\x00\x02\xca\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x7d\ -\x00\x00\x02\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xd4\ -\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x68\xfd\ -\x00\x00\x03\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x73\x13\ -\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x7d\x02\ -\x00\x00\x03\xce\x00\x00\x00\x00\x00\x01\x00\x00\x86\x8f\ -\x00\x00\x04\x04\x00\x00\x00\x00\x00\x01\x00\x00\x90\xf5\ -\x00\x00\x04\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x99\xa4\ -\x00\x00\x04\x70\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x90\ -\x00\x00\x04\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x9c\xf5\ -\x00\x00\x04\xd6\x00\x00\x00\x00\x00\x01\x00\x00\xa0\x57\ +\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x00\x32\x17\ +\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x36\ +\x00\x00\x02\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x46\x84\ +\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x50\x92\ +\x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00\x51\xb7\ +\x00\x00\x02\xca\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x4b\ +\x00\x00\x02\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xa2\ +\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x68\xc1\ +\x00\x00\x03\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x72\xcd\ +\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x7c\xc3\ +\x00\x00\x03\xce\x00\x00\x00\x00\x00\x01\x00\x00\x86\x57\ +\x00\x00\x04\x04\x00\x00\x00\x00\x00\x01\x00\x00\x90\xb3\ +\x00\x00\x04\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x99\x62\ +\x00\x00\x04\x70\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x4e\ +\x00\x00\x04\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x9c\xb3\ +\x00\x00\x04\xd6\x00\x00\x00\x00\x00\x01\x00\x00\xa0\x15\ " qt_resource_struct_v2 = b"\ @@ -2874,51 +2868,51 @@ \x00\x00\x00\x30\x00\x02\x00\x00\x00\x17\x00\x00\x00\x04\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x42\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x00\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x01\x4b\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x09\xc2\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x00\xec\x00\x00\x00\x00\x00\x01\x00\x00\x13\xc4\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x01\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x18\xd6\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x01\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x7e\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ \x00\x00\x01\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x27\xbd\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf7\ -\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x00\x32\x21\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x4a\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x02\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x46\xa2\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x50\xba\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00\x51\xdf\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x02\xca\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x7d\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x02\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xd4\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x68\xfd\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x03\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x73\x13\ -\x00\x00\x01\x9f\x36\xd0\x90\x90\ -\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x7d\x02\ -\x00\x00\x01\x9f\x36\xd0\x52\x10\ -\x00\x00\x03\xce\x00\x00\x00\x00\x00\x01\x00\x00\x86\x8f\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x04\x04\x00\x00\x00\x00\x00\x01\x00\x00\x90\xf5\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x04\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x99\xa4\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x04\x70\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x90\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x04\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x9c\xf5\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ -\x00\x00\x04\xd6\x00\x00\x00\x00\x00\x01\x00\x00\xa0\x57\ -\x00\x00\x01\x9e\xe0\x0e\xbe\xf8\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe2\ +\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x00\x32\x17\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe9\ +\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x36\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe3\ +\x00\x00\x02\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x46\x84\ +\x00\x00\x01\xa0\x5c\x63\xb9\xea\ +\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x50\x92\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ +\x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00\x51\xb7\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe3\ +\x00\x00\x02\xca\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x4b\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ +\x00\x00\x02\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xa2\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe3\ +\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x68\xc1\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe3\ +\x00\x00\x03\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x72\xcd\ +\x00\x00\x01\xa0\x5c\x63\xb9\xea\ +\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x7c\xc3\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe9\ +\x00\x00\x03\xce\x00\x00\x00\x00\x00\x01\x00\x00\x86\x57\ +\x00\x00\x01\xa0\x5c\x63\xb9\xe9\ +\x00\x00\x04\x04\x00\x00\x00\x00\x00\x01\x00\x00\x90\xb3\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ +\x00\x00\x04\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x99\x62\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ +\x00\x00\x04\x70\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x4e\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ +\x00\x00\x04\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x9c\xb3\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ +\x00\x00\x04\xd6\x00\x00\x00\x00\x00\x01\x00\x00\xa0\x15\ +\x00\x00\x01\x9a\x72\xe1\x92\x28\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] diff --git a/BlocksScreen/lib/utils/fonts.py b/BlocksScreen/lib/utils/fonts.py new file mode 100644 index 00000000..f092ab39 --- /dev/null +++ b/BlocksScreen/lib/utils/fonts.py @@ -0,0 +1,45 @@ +"""Single registration point for the bundled Momcake faces. + +Qt files both Momcake-Thin.ttf and Momcake-Bold.ttf under one family whose real +name matches neither file: "Momcake Pro". Asking for "Momcake-Thin" or "Momcake" +silently resolves to the system default, which is how every topbar filament icon +ended up rendering in a fallback face. Registration is also process-global and +permanent, so doing it once here removes the ordering race that came from three +page constructors each registering on first visit. +""" + +import functools +import logging + +from PyQt6 import QtGui + +_logger = logging.getLogger(__name__) + +# Must stay in sync with the font-family the topbar .svg assets declare; +# tests/ui/test_resource_keys_unit.py fails if the two ever drift apart. +MOMCAKE_FAMILY = "Momcake Pro" + +_FONT_PATHS = ( + ":/font/media/fonts for text/Momcake-Thin.ttf", + ":/font/media/fonts for text/Momcake-Bold.ttf", +) + + +@functools.cache +def register_momcake() -> str: + """Register the bundled Momcake faces once and return the family Qt filed them under.""" + families: list[str] = [] + for path in _FONT_PATHS: + font_id = QtGui.QFontDatabase.addApplicationFont(path) + if font_id == -1: + _logger.warning("bundled font failed to load: %s", path) + continue + families.extend(QtGui.QFontDatabase.applicationFontFamilies(font_id)) + if not families: + _logger.error("no bundled font loaded, text falls back to the system face") + return "" + if MOMCAKE_FAMILY not in families: + _logger.warning( + "bundled font family is %s, expected %s", families, MOMCAKE_FAMILY + ) + return families[0] diff --git a/tests/panels/conftest.py b/tests/panels/conftest.py index 71665418..89dd19ec 100644 --- a/tests/panels/conftest.py +++ b/tests/panels/conftest.py @@ -47,6 +47,8 @@ "lib.ui.resources.main_menu_resources_rc", "lib.ui.resources.top_bar_resources_rc", "lib.updater_worker", + "lib.utils", + "lib.utils.fonts", "screensaver", ) @@ -86,4 +88,5 @@ sys.modules["lib.printer"].Printer = MagicMock sys.modules["lib.ui.mainWindow_ui"].Ui_MainWindow = MagicMock sys.modules["lib.updater_worker"].UpdaterWorker = MagicMock +sys.modules["lib.utils.fonts"].register_momcake = MagicMock(return_value="Momcake Pro") sys.modules["screensaver"].ScreenSaver = MagicMock diff --git a/tests/ui/test_resource_keys_unit.py b/tests/ui/test_resource_keys_unit.py index 0645c2b9..08d4d308 100644 --- a/tests/ui/test_resource_keys_unit.py +++ b/tests/ui/test_resource_keys_unit.py @@ -1,8 +1,10 @@ -"""Guards Qt resource keys: no broken ':/' literal, no stale compiled blob. +"""Guards Qt resource keys: no broken ':/' literal, no stale blob, no font fallback. Qt resolves an unknown ':/' key to a null QPixmap with no exception, no warning -and no log line. The only feedback is a blank rectangle on the panel, which is -how the keys in XFAIL_KEYS survived for months. These tests turn that silent +and no log line, and it substitutes the system face for an unknown font-family +just as quietly. The only feedback is a blank rectangle or the wrong typeface on +the panel, which is how the keys in XFAIL_KEYS survived for months and how all 10 +topbar filament icons shipped in a fallback font. These tests turn that silent failure into a red test. """ @@ -32,6 +34,10 @@ # which 6 sites in this package use. The trailing + excludes a bare ":". _LITERAL = re.compile(r'["\'](:/?[^"\'\s]+)["\']') +# Matches the CSS in an .svg