From 38ac0a2b46b0301e357b24d9f66a3a3d1ba825f6 Mon Sep 17 00:00:00 2001
From: chrin June 2024, Jan Chrin, Pierre-André Duperrex, Alessandro Facchetti, Waldamar Koprek
+ Jan Chrin, Pierre-André Duperrex, Alessandro Facchetti, Daniele, Felici, Waldamar Koprek
+
April 2025 Time of Flight Measurement for Injector and Ring Cyclotron Turn Number Ascertainment, TINA
About
@@ -14,9 +15,8 @@ Pierre-André Duperrex:
P.-A. Duperrex and A. Facchetti,
Number of Turn Measurements on the HIPA Cyclotrons at PSI.
doi:10.18429/JACoW-IPAC2018-WEPAL067
+
The application comprises two components:
-Within the Procedure group, the Start buttonn executes the analysis program + + +
+
+
| + |
|
+
+ The Oscilloscope option disables setting values to epics process variables and is meant for testing code with raw data collected from the oscilloscope and stored in hdf5 files:
+ /hipa/bd/data/measurements/Tina_2024-09-18_oscilloscope.h5
+
+
@@ -90,57 +143,15 @@ collected per channel (entry wf/exit wf).
Data can be recalled from hdf5 and reanalyzed using the HDF analysis functionality made available through a docked widget in the menu bar (right click on the menu bar and select the HDF5 option). - -
-
| - |
|
-
- The Oscilloscope option disables setting values to epics process variables and is meant for testing code with raw data collected from the oscilloscope and stored in hdf5 files:
- /hipa/bd/data/measurements/Tina_2024-09-18_oscilloscope.h5
+
|
diff --git a/help/tina_resources.py b/help/tina_resources.py
index e6a026f..2a33951 100644
--- a/help/tina_resources.py
+++ b/help/tina_resources.py
@@ -2,382 +2,13 @@
# Resource object code
#
-# Created by: The Resource Compiler for PyQt5 (Qt v5.9.7)
+# Created by: The Resource Compiler for PyQt5 (Qt v5.15.3)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"\
-\x00\x00\x14\xaa\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
-\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
-\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
-\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
-\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
-\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
-\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
-\x3e\x0a\x0a\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
-\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x75\x6e\x65\
-\x20\x32\x30\x32\x34\x2c\x20\x4a\x61\x6e\x20\x43\x68\x72\x69\x6e\
-\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\
-\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x2c\x20\
-\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\x6f\x20\x46\x61\x63\x63\x68\
-\x65\x74\x74\x69\x2c\x20\x20\x57\x61\x6c\x64\x61\x6d\x61\x72\x20\
-\x4b\x6f\x70\x72\x65\x6b\x3c\x2f\x68\x35\x3e\x0a\x3c\x68\x34\x3e\
-\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
-\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x3c\x2f\x73\x70\
-\x61\x6e\x3e\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
-\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\
-\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
-\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x49\x3c\x2f\x73\x70\
-\x61\x6e\x3e\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\
-\x69\x6e\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\
-\x72\x6e\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
-\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\
-\x73\x70\x61\x6e\x3e\x75\x6d\x62\x65\x72\x20\x3c\x73\x70\x61\x6e\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
-\x65\x64\x3b\x22\x3e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x73\x63\x65\
-\x72\x74\x61\x69\x6e\x6d\x65\x6e\x74\x2c\x20\x3c\x73\x70\x61\x6e\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
-\x65\x64\x3b\x22\x3e\x54\x49\x4e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\
-\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x41\x62\
-\x6f\x75\x74\x3c\x2f\x68\x32\x3e\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\
-\x65\x20\x54\x49\x4e\x41\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\
-\x6f\x6e\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x74\x68\
-\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\x72\x6e\
-\x73\x20\x69\x6e\x20\x61\x20\x63\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
-\x0a\x66\x72\x6f\x6d\x20\x61\x20\x54\x69\x6d\x65\x20\x6f\x66\x20\
-\x46\x6c\x69\x67\x68\x74\x20\x28\x54\x4f\x46\x29\x20\x6d\x65\x61\
-\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x74\x65\x63\x68\x6e\x69\x71\
-\x75\x65\x20\x61\x6e\x64\x20\x61\x20\x63\x72\x6f\x73\x73\x2d\x63\
-\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\x6e\x0a\x6f\x66\x20\x66\x61\
-\x73\x74\x20\x73\x61\x6d\x70\x6c\x65\x64\x20\x64\x61\x74\x61\x20\
-\x66\x72\x6f\x6d\x20\x63\x61\x70\x61\x63\x69\x74\x69\x76\x65\x20\
-\x73\x65\x6e\x73\x6f\x72\x73\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\
-\x61\x74\x20\x74\x68\x65\x20\x65\x6e\x74\x72\x61\x6e\x63\x65\x20\
-\x61\x6e\x64\x20\x65\x78\x69\x74\x0a\x6f\x66\x20\x74\x68\x65\x20\
-\x63\x79\x63\x6f\x6c\x6f\x74\x72\x6f\x6e\x2e\x20\x54\x68\x69\x73\
-\x20\x69\x73\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x20\x61\x20\x70\
-\x79\x74\x68\x6f\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\
-\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x4c\x61\x62\x56\x49\x45\
-\x57\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\
-\x76\x65\x6c\x6f\x70\x65\x64\x20\x62\x79\x0a\x50\x69\x65\x72\x72\
-\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\
-\x75\x70\x65\x72\x72\x65\x78\x3a\x20\x20\x3c\x62\x72\x3e\x0a\x50\
-\x2e\x2d\x41\x2e\x20\x44\x75\x70\x65\x72\x72\x65\x78\x20\x61\x6e\
-\x64\x20\x41\x2e\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\
-\x0a\x4e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x54\x75\x72\x6e\x20\
-\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x20\x6f\x6e\x20\
-\x74\x68\x65\x20\x48\x49\x50\x41\x20\x43\x79\x63\x6c\x6f\x74\x72\
-\x6f\x6e\x73\x20\x61\x74\x20\x50\x53\x49\x2e\x3c\x62\x72\x3e\x0a\
-\x64\x6f\x69\x3a\x31\x30\x2e\x31\x38\x34\x32\x39\x2f\x4a\x41\x43\
-\x6f\x57\x2d\x49\x50\x41\x43\x32\x30\x31\x38\x2d\x57\x45\x50\x41\
-\x4c\x30\x36\x37\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x2f\x70\x3e\
-\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\x70\x61\x67\
-\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\x3c\x2f\x61\
-\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\x73\x74\x79\
-\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\
-\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x3c\
-\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x61\x70\x70\
-\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\x72\x69\x73\
-\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\
-\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\x3e\x0a\x20\
-\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x41\
-\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\x73\x69\x74\
-\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x2e\x3c\x62\x72\x3e\x0a\
-\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
-\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\
-\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\
-\x2f\x65\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\
-\x69\x70\x61\x2f\x2e\x2e\x20\x74\x6f\x20\x62\x65\x20\x63\x6f\x6d\
-\x70\x6c\x65\x74\x65\x64\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\
-\x3e\x0a\x20\x0a\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\
-\x3e\x0a\x20\x20\x20\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\
-\x65\x6c\x20\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\
-\x48\x4c\x41\x29\x20\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\
-\x65\x20\x74\x6f\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\
-\x74\x68\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\
-\x74\x20\x61\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\
-\x74\x61\x20\x61\x63\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\
-\x6e\x2c\x0a\x20\x20\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\
-\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\
-\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\
-\x62\x65\x72\x20\x6f\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\
-\x6c\x79\x73\x69\x73\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
-\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
-\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\
-\x73\x3a\x2f\x2f\x67\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\
-\x68\x2f\x68\x69\x70\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\
-\x74\x69\x6e\x61\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\
-\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\
-\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\
-\x74\x69\x6f\x6e\x73\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\
-\x74\x2f\x74\x69\x6e\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\
-\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\
-\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
-\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\
-\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\
-\x0a\x20\x20\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\
-\x72\x20\x75\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\
-\x72\x73\x2e\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\
-\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\
-\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\
-\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\
-\x79\x73\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\
-\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\
-\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\
-\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
-\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
-\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
-\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
-\x20\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\
-\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
-\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\
-\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
-\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
-\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\
-\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\
-\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\
-\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\
-\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
-\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
-\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\
-\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\
-\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
-\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\
-\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
-\x74\x65\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
-\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\
-\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\
-\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
-\x34\x34\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\
-\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\
-\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\
-\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\
-\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\
-\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
-\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\
-\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\
-\x3e\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\
-\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\
-\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\
-\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\
-\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\
-\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\
-\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\
-\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
-\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\
-\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
-\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
-\x3e\x3c\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\
-\x2e\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
-\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\
-\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
-\x3e\x64\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\
-\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
-\x6e\x74\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
-\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
-\x4e\x20\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
-\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\
-\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
-\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\
-\x2e\x20\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
-\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
-\x6e\x74\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
-\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\
-\x75\x74\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\
-\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
-\x74\x65\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
-\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\
-\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
-\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\
-\x70\x3e\x0a\x57\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\
-\x6f\x63\x65\x64\x75\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\
-\x68\x65\x20\x53\x74\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x6e\
-\x20\x65\x78\x65\x63\x75\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\
-\x61\x6c\x79\x73\x69\x73\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\
-\x68\x69\x63\x68\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\
-\x65\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\
-\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\
-\x65\x74\x65\x2e\x20\x33\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\
-\x61\x6d\x70\x6c\x65\x73\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\
-\x63\x74\x65\x64\x20\x70\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\
-\x20\x28\x65\x6e\x74\x72\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\
-\x77\x66\x29\x2e\x20\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\
-\x53\x61\x76\x65\x41\x6c\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\
-\x20\x20\x3c\x75\x6c\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\
-\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
-\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\
-\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\
-\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\
-\x65\x2c\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\
-\x20\x3c\x6c\x69\x3e\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\
-\x77\x20\x64\x61\x74\x61\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\
-\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
-\x69\x3e\x6f\x70\x65\x6e\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\
-\x20\x77\x69\x6e\x64\x6f\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\
-\x69\x73\x73\x69\x6f\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\
-\x6c\x65\x63\x74\x65\x64\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\
-\x2e\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\
-\x20\x3c\x2f\x75\x6c\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\x66\x6f\
-\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\x3e\x0a\
-\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\x72\x65\
-\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\x66\x35\
-\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\
-\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\x61\x6e\
-\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\
-\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\x61\x69\
-\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x61\x20\
-\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\x69\x6e\
-\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\x28\x72\
-\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\x74\x68\
-\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\x6e\x64\
-\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\x46\x35\
-\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\x66\x6f\
-\x6e\x74\x3e\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\
-\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\
-\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\
-\x3c\x2f\x68\x33\x3e\x0a\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
-\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x70\x65\
-\x61\x6b\x20\x73\x65\x61\x72\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\
-\x69\x73\x2c\x20\x61\x73\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\
-\x64\x20\x69\x6e\x20\x74\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\
-\x62\x72\x3e\x0a\x20\x20\x0a\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\
-\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\
-\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\
-\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x61\x70\x70\x6c\x69\x63\
-\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\
-\x69\x64\x74\x68\x3d\x34\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\
-\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\
-\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\
-\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\
-\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\
-\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\
-\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
-\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
-\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\
-\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
-\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
-\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
-\x6e\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\
-\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
-\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\
-\x50\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3c\x2f\x74\x64\x3e\
-\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
-\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
-\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
-\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
-\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3c\x2f\x74\x64\x3e\x20\x3c\
-\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
-\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\
-\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\
-\x66\x65\x72\x65\x6e\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\
-\x6c\x61\x74\x69\x6f\x6e\x20\x70\x6c\x6f\x74\x20\x3c\x62\x72\x3e\
-\x62\x65\x74\x77\x65\x65\x6e\x20\x70\x65\x61\x6b\x20\x61\x6e\x64\
-\x20\x32\x6e\x64\x20\x68\x69\x67\x68\x65\x73\x74\x20\x70\x65\x61\
-\x6b\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x72\x6f\x77\x73\x70\
-\x61\x6e\x3d\x32\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
-\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
-\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\
-\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\x64\x74\
-\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\
-\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\x3c\x74\
-\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\
-\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\
-\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\
-\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\x3c\x74\
-\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\
-\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
-\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\
-\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
-\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\
-\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\
-\x68\x65\x61\x64\x3e\x0a\x20\x0a\x20\x20\x20\x3c\x74\x72\x3e\x20\
-\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
-\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
-\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
-\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\
-\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\
-\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
-\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\
-\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\
-\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\
-\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x62\x72\x3e\x0a\x3c\x70\
-\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\x63\x69\x6c\x6c\x6f\x73\
-\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\x6e\x20\x64\x69\x73\x61\
-\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x76\x61\x6c\
-\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\
-\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x61\
-\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\x20\x66\x6f\x72\x20\
-\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\x64\x65\x20\x77\x69\x74\
-\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\x20\x63\x6f\x6c\x6c\x65\
-\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\
-\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x61\x6e\x64\x20\x73\
-\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\x64\x66\x35\x20\x66\x69\
-\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\x20\x0a\x20\x20\x2f\x68\
-\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\x61\x2f\x6d\x65\x61\x73\
-\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\x69\x6e\x61\x5f\x32\x30\
-\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\x73\x63\x69\x6c\x6c\x6f\
-\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x20\x20\x20\x3c\x68\x33\x20\
-\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\
-\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\x67\
-\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\x65\
-\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x0a\
-\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\x69\
-\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\x30\
-\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\x62\
-\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\x20\
-\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\x64\
-\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\
-\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\
-\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x00\xa7\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
-\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
-\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
-\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
-\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
-\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
-\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
-\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
-\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
-\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x00\x80\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
-\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
-\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
-\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
-\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
-\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
-\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x00\xa7\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
-\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
-\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
-\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
-\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
-\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
-\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
-\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
-\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
-\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -391,6 +22,380 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
+\x00\x00\x00\xa7\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
+\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
+\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
+\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
+\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
+\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
+\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
+\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
+\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
+\x68\x74\x6d\x6c\x3e\x0a\
+\x00\x00\x16\x6b\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
+\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
+\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
+\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
+\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
+\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
+\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
+\x3e\x0a\x0a\x20\x20\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\
+\x22\x63\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x61\
+\x6e\x20\x43\x68\x72\x69\x6e\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\
+\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\
+\x65\x72\x72\x65\x78\x2c\x20\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\
+\x6f\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\x44\x61\x6e\
+\x69\x65\x6c\x65\x2c\x20\x46\x65\x6c\x69\x63\x69\x2c\x20\x57\x61\
+\x6c\x64\x61\x6d\x61\x72\x20\x4b\x6f\x70\x72\x65\x6b\x3c\x62\x72\
+\x3e\x41\x70\x72\x69\x6c\x20\x32\x30\x32\x35\x3c\x2f\x68\x35\x3e\
+\x0a\x20\x20\x0a\x3c\x68\x34\x3e\x20\x3c\x73\x70\x61\x6e\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
+\x3b\x22\x3e\x54\x3c\x2f\x73\x70\x61\x6e\x3e\x69\x6d\x65\x20\x6f\
+\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x4d\x65\x61\x73\x75\x72\x65\
+\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
+\x3b\x22\x3e\x49\x3c\x2f\x73\x70\x61\x6e\x3e\x6e\x6a\x65\x63\x74\
+\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\x67\x20\x43\x79\x63\x6c\
+\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\x20\x3c\x73\x70\x61\x6e\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
+\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\x73\x70\x61\x6e\x3e\x75\x6d\x62\
+\x65\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x41\x3c\x2f\
+\x73\x70\x61\x6e\x3e\x73\x63\x65\x72\x74\x61\x69\x6e\x6d\x65\x6e\
+\x74\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x49\x4e\
+\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\
+\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
+\x6c\x75\x65\x3b\x22\x3e\x41\x62\x6f\x75\x74\x3c\x2f\x68\x32\x3e\
+\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x54\x49\x4e\x41\x20\x61\
+\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\x74\x65\x72\
+\x6d\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
+\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x69\x6e\x20\x61\x20\x63\
+\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x0a\x66\x72\x6f\x6d\x20\x61\x20\
+\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x28\
+\x54\x4f\x46\x29\x20\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\
+\x20\x74\x65\x63\x68\x6e\x69\x71\x75\x65\x20\x61\x6e\x64\x20\x61\
+\x20\x63\x72\x6f\x73\x73\x2d\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\
+\x6f\x6e\x0a\x6f\x66\x20\x66\x61\x73\x74\x20\x73\x61\x6d\x70\x6c\
+\x65\x64\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x63\x61\x70\
+\x61\x63\x69\x74\x69\x76\x65\x20\x73\x65\x6e\x73\x6f\x72\x73\x20\
+\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x65\
+\x6e\x74\x72\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x65\x78\x69\x74\
+\x0a\x6f\x66\x20\x74\x68\x65\x20\x63\x79\x63\x6f\x6c\x6f\x74\x72\
+\x6f\x6e\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x62\x61\x73\x65\
+\x64\x20\x6f\x6e\x20\x61\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6d\
+\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\
+\x61\x20\x4c\x61\x62\x56\x49\x45\x57\x20\x61\x70\x70\x6c\x69\x63\
+\x61\x74\x69\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x65\x64\x20\
+\x62\x79\x0a\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\
+\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x3a\
+\x20\x20\x3c\x62\x72\x3e\x0a\x50\x2e\x2d\x41\x2e\x20\x44\x75\x70\
+\x65\x72\x72\x65\x78\x20\x61\x6e\x64\x20\x41\x2e\x20\x46\x61\x63\
+\x63\x68\x65\x74\x74\x69\x2c\x20\x0a\x4e\x75\x6d\x62\x65\x72\x20\
+\x6f\x66\x20\x54\x75\x72\x6e\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\
+\x65\x6e\x74\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x48\x49\x50\x41\
+\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x73\x20\x61\x74\x20\x50\
+\x53\x49\x2e\x3c\x62\x72\x3e\x0a\x64\x6f\x69\x3a\x31\x30\x2e\x31\
+\x38\x34\x32\x39\x2f\x4a\x41\x43\x6f\x57\x2d\x49\x50\x41\x43\x32\
+\x30\x31\x38\x2d\x57\x45\x50\x41\x4c\x30\x36\x37\x20\x0a\x3c\x2f\
+\x70\x3e\x0a\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\
+\x70\x61\x67\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\
+\x3c\x2f\x61\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
+\x65\x3b\x22\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\
+\x72\x79\x3c\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\
+\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\
+\x72\x69\x73\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\
+\x65\x6e\x74\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\
+\x3e\x0a\x20\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\
+\x6c\x20\x41\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\
+\x73\x69\x74\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\
+\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\
+\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x72\x65\x70\x6f\x73\
+\x69\x74\x6f\x72\x69\x65\x73\x3a\x3c\x62\x72\x3e\x0a\x20\x20\x3c\
+\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
+\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\x73\
+\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x47\x46\
+\x41\x2f\x43\x4f\x2f\x67\x65\x6e\x65\x72\x61\x6c\x2f\x43\x50\x53\
+\x49\x5f\x53\x43\x4f\x50\x45\x2f\x43\x50\x53\x49\x5f\x53\x43\x4f\
+\x50\x45\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\
+\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
+\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\
+\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x65\
+\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\x69\x70\
+\x61\x2f\x7a\x5f\x64\x69\x5f\x74\x75\x72\x6e\x5f\x63\x6f\x75\x6e\
+\x74\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x0a\x20\
+\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\x3e\x0a\x20\x20\x20\
+\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\x65\x6c\x20\x41\x70\
+\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\x48\x4c\x41\x29\x20\
+\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\
+\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x74\x68\
+\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6c\
+\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\x74\x61\x20\x61\x63\
+\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\x6e\x2c\x0a\x20\x20\
+\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x72\x61\
+\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\x20\x70\x65\x72\x66\
+\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\
+\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
+\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
+\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\
+\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\x68\x2f\x68\x69\x70\
+\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\x74\x69\x6e\x61\x3c\
+\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
+\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
+\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\
+\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\
+\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x74\x69\x6e\
+\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\
+\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\
+\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
+\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\
+\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\
+\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
+\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x2e\x20\x0a\
+\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
+\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x41\x63\x63\
+\x65\x6c\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\x2f\
+\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
+\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\x79\x73\
+\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\x20\x63\
+\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\x6e\
+\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x54\x68\
+\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\
+\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\
+\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
+\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\
+\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\x30\x30\
+\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\
+\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\
+\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\
+\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\
+\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\
+\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\
+\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
+\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\
+\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
+\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
+\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x48\
+\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\x64\x3e\
+\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
+\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
+\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\x61\x62\
+\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
+\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x34\
+\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
+\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\x75\x70\
+\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
+\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
+\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\
+\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\
+\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\
+\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\x74\
+\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
+\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\x2f\
+\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\
+\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\
+\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\
+\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\
+\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\
+\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
+\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\
+\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\
+\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
+\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
+\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\
+\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
+\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
+\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\
+\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
+\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x3c\x2f\
+\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
+\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\x2e\x20\
+\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
+\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
+\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
+\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\x75\x74\
+\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\x64\x3e\
+\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
+\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\
+\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
+\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x0a\x20\x20\x0a\
+\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
+\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\
+\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x49\
+\x6e\x70\x75\x74\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\
+\x74\x6f\x20\x74\x68\x65\x20\x70\x65\x61\x6b\x20\x73\x65\x61\x72\
+\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\x2c\x20\x61\x73\x20\
+\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\
+\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x0a\
+\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
+\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
+\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
+\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
+\x3c\x70\x3e\x20\x20\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\
+\x64\x74\x68\x3d\x31\x34\x30\x30\x70\x78\x3e\x0a\x20\x20\x20\x20\
+\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\
+\x65\x20\x77\x69\x64\x74\x68\x3d\x31\x30\x30\x30\x70\x78\x3e\x0a\
+\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\
+\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\x3e\
+\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\
+\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\
+\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
+\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\
+\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\
+\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
+\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\
+\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
+\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
+\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
+\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x50\
+\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3a\x3c\x2f\x74\x64\x3e\
+\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
+\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
+\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
+\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
+\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\
+\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
+\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\
+\x72\x3e\x3c\x74\x64\x20\x77\x69\x64\x74\x68\x3d\x38\x30\x25\x3e\
+\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\x66\x65\x72\x65\x6e\
+\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\
+\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x6f\x70\x20\x74\x77\
+\x6f\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
+\x64\x20\x76\x61\x6c\x69\x67\x6e\x3d\x62\x6f\x74\x74\x6f\x6d\x20\
+\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
+\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\
+\x0a\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x43\x75\x72\
+\x72\x65\x6e\x74\x20\x69\x6e\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\
+\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
+\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\x3e\
+\x0a\x3c\x2f\x74\x72\x3e\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
+\x64\x20\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\
+\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
+\x74\x64\x3e\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\
+\x3d\x32\x30\x30\x70\x78\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\
+\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
+\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\
+\x0a\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\
+\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\
+\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
+\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
+\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
+\x64\x3e\x0a\x20\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\
+\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x35\x30\x3c\x2f\x74\x64\
+\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\
+\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\
+\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x0a\x3c\x74\x72\x3e\x3c\x74\
+\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x26\
+\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
+\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
+\x6e\x74\x65\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
+\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\
+\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\
+\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\
+\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\
+\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\
+\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\
+\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\
+\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\
+\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\
+\x62\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\
+\x74\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\
+\x64\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\
+\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\
+\x74\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\
+\x20\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\
+\x64\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\
+\x20\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\
+\x61\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\
+\x69\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\
+\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x3c\
+\x70\x3e\x0a\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
+\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x50\
+\x72\x6f\x63\x65\x64\x75\x72\x65\x3c\x2f\x68\x34\x3e\x0a\x57\x69\
+\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\x6f\x63\x65\x64\x75\
+\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x53\x74\
+\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x20\x65\x78\x65\x63\x75\
+\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
+\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\x68\x69\x63\x68\x20\x75\
+\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\x65\x73\x20\x6c\x65\x73\
+\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\x73\x65\x63\x6f\x6e\x64\
+\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x20\x33\
+\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\x61\x6d\x70\x6c\x65\x73\
+\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x70\
+\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\x20\x28\x65\x6e\x74\x72\
+\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\x77\x66\x29\x2e\x20\x0a\
+\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x53\x61\x76\x65\x41\x6c\
+\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\
+\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\x72\x69\x74\x65\x73\x20\
+\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\
+\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\x65\x64\x20\x69\x6e\x74\
+\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\
+\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x0a\x20\x20\x20\
+\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x73\
+\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\
+\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\x20\x20\x20\x20\x3c\x2f\
+\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x6f\x70\x65\x6e\
+\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\x20\x77\x69\x6e\x64\x6f\
+\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x69\x73\x73\x69\x6f\x6e\
+\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x6c\x65\x63\x74\x65\x64\
+\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\x2e\x20\x0a\x20\x20\x20\
+\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x2f\x75\x6c\x3e\
+\x0a\x20\x20\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\x6e\x73\
+\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x62\x65\x20\x65\x78\x65\
+\x63\x75\x74\x65\x64\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
+\x6c\x79\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x69\x63\x6f\x6e\x73\
+\x20\x70\x6c\x61\x63\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6d\
+\x65\x6e\x75\x20\x62\x61\x72\x2e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\
+\x66\x6f\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\
+\x3e\x0a\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\
+\x72\x65\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\
+\x66\x35\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\
+\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\
+\x61\x6e\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\
+\x6e\x61\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\
+\x61\x69\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
+\x61\x20\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\
+\x69\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\
+\x28\x72\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\
+\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\
+\x6e\x64\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\
+\x46\x35\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\
+\x66\x6f\x6e\x74\x3e\x0a\x0a\x20\x20\x0a\x20\x20\x20\x3c\x68\x33\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
+\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\
+\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\
+\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
+\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\
+\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\
+\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\
+\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\
+\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\
+\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
+\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
+\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x15\xad\
\xff\
\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\
@@ -740,6 +745,29 @@ qt_resource_data = b"\
\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\
\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\
\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\
+\x00\x00\x00\x80\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
+\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
+\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
+\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
+\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
+\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
+\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
+\x00\x00\x00\xa7\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
+\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
+\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
+\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
+\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
+\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
+\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
+\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
+\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
+\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -757,14 +785,22 @@ qt_resource_data = b"\
qt_resource_name = b"\
\x00\x0a\
-\x0c\xba\xf2\x7c\
-\x00\x69\
-\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
+\x08\x4a\x34\x9c\
+\x00\x70\
+\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
+\x0c\xba\xf2\x7c\
+\x00\x69\
+\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
+\x00\x08\
+\x00\x44\x5a\x07\
+\x00\x54\
+\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
+\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -773,14 +809,6 @@ qt_resource_name = b"\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
-\x08\x4a\x34\x9c\
-\x00\x70\
-\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
-\x00\x08\
-\x00\x44\x5a\x07\
-\x00\x54\
-\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
-\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -788,36 +816,36 @@ qt_resource_name = b"\
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
-\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
-\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
-\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
-\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
-\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
+\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
+\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
+\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
+\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
+\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
-\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
-\x00\x00\x01\x94\x3a\xf8\x11\xe0\
-\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
-\x00\x00\x01\x94\x3a\xf8\x11\xe8\
-\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
-\x00\x00\x01\x94\x3a\xf8\x11\xe9\
-\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
-\x00\x00\x01\x94\x3a\xf8\x11\xeb\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
-\x00\x00\x01\x94\x3a\xf8\x11\xec\
-\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
-\x00\x00\x01\x94\x3a\xf8\x11\xee\
+\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
+\x00\x00\x01\x95\xeb\x5c\x84\xe2\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x01\x94\x41\x4a\x3a\x25\
+\x00\x00\x01\x95\xeb\x5c\x84\xeb\
+\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
+\x00\x00\x01\x95\xeb\x5c\x84\xed\
+\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
+\x00\x00\x01\x95\xeb\x5c\x84\xef\
+\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
+\x00\x00\x01\x95\xeb\x5c\x84\xf0\
+\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
+\x00\x00\x01\x95\xeb\x5c\x84\xf2\
+\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
+\x00\x00\x01\x96\x1a\x88\xce\x2e\
"
-qt_version = QtCore.qVersion().split('.')
-if qt_version < ['5', '8', '0']:
+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:
diff --git a/pyrcc5/tina_resources.py b/pyrcc5/tina_resources.py
index e6a026f..2a33951 100644
--- a/pyrcc5/tina_resources.py
+++ b/pyrcc5/tina_resources.py
@@ -2,382 +2,13 @@
# Resource object code
#
-# Created by: The Resource Compiler for PyQt5 (Qt v5.9.7)
+# Created by: The Resource Compiler for PyQt5 (Qt v5.15.3)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"\
-\x00\x00\x14\xaa\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
-\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
-\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
-\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
-\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
-\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
-\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
-\x3e\x0a\x0a\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
-\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x75\x6e\x65\
-\x20\x32\x30\x32\x34\x2c\x20\x4a\x61\x6e\x20\x43\x68\x72\x69\x6e\
-\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\
-\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x2c\x20\
-\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\x6f\x20\x46\x61\x63\x63\x68\
-\x65\x74\x74\x69\x2c\x20\x20\x57\x61\x6c\x64\x61\x6d\x61\x72\x20\
-\x4b\x6f\x70\x72\x65\x6b\x3c\x2f\x68\x35\x3e\x0a\x3c\x68\x34\x3e\
-\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
-\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x3c\x2f\x73\x70\
-\x61\x6e\x3e\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
-\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\
-\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
-\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x49\x3c\x2f\x73\x70\
-\x61\x6e\x3e\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\
-\x69\x6e\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\
-\x72\x6e\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
-\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\
-\x73\x70\x61\x6e\x3e\x75\x6d\x62\x65\x72\x20\x3c\x73\x70\x61\x6e\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
-\x65\x64\x3b\x22\x3e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x73\x63\x65\
-\x72\x74\x61\x69\x6e\x6d\x65\x6e\x74\x2c\x20\x3c\x73\x70\x61\x6e\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
-\x65\x64\x3b\x22\x3e\x54\x49\x4e\x41\x3c\x2f\x73\x70\x61\x6e\x3e\
-\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x41\x62\
-\x6f\x75\x74\x3c\x2f\x68\x32\x3e\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\
-\x65\x20\x54\x49\x4e\x41\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\
-\x6f\x6e\x20\x64\x65\x74\x65\x72\x6d\x69\x6e\x65\x73\x20\x74\x68\
-\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\x72\x6e\
-\x73\x20\x69\x6e\x20\x61\x20\x63\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
-\x0a\x66\x72\x6f\x6d\x20\x61\x20\x54\x69\x6d\x65\x20\x6f\x66\x20\
-\x46\x6c\x69\x67\x68\x74\x20\x28\x54\x4f\x46\x29\x20\x6d\x65\x61\
-\x73\x75\x72\x65\x6d\x65\x6e\x74\x20\x74\x65\x63\x68\x6e\x69\x71\
-\x75\x65\x20\x61\x6e\x64\x20\x61\x20\x63\x72\x6f\x73\x73\x2d\x63\
-\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\x6e\x0a\x6f\x66\x20\x66\x61\
-\x73\x74\x20\x73\x61\x6d\x70\x6c\x65\x64\x20\x64\x61\x74\x61\x20\
-\x66\x72\x6f\x6d\x20\x63\x61\x70\x61\x63\x69\x74\x69\x76\x65\x20\
-\x73\x65\x6e\x73\x6f\x72\x73\x20\x6c\x6f\x63\x61\x74\x65\x64\x20\
-\x61\x74\x20\x74\x68\x65\x20\x65\x6e\x74\x72\x61\x6e\x63\x65\x20\
-\x61\x6e\x64\x20\x65\x78\x69\x74\x0a\x6f\x66\x20\x74\x68\x65\x20\
-\x63\x79\x63\x6f\x6c\x6f\x74\x72\x6f\x6e\x2e\x20\x54\x68\x69\x73\
-\x20\x69\x73\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x20\x61\x20\x70\
-\x79\x74\x68\x6f\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x61\
-\x74\x69\x6f\x6e\x20\x6f\x66\x20\x61\x20\x4c\x61\x62\x56\x49\x45\
-\x57\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\
-\x76\x65\x6c\x6f\x70\x65\x64\x20\x62\x79\x0a\x50\x69\x65\x72\x72\
-\x65\x2d\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\
-\x75\x70\x65\x72\x72\x65\x78\x3a\x20\x20\x3c\x62\x72\x3e\x0a\x50\
-\x2e\x2d\x41\x2e\x20\x44\x75\x70\x65\x72\x72\x65\x78\x20\x61\x6e\
-\x64\x20\x41\x2e\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\
-\x0a\x4e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x54\x75\x72\x6e\x20\
-\x4d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x20\x6f\x6e\x20\
-\x74\x68\x65\x20\x48\x49\x50\x41\x20\x43\x79\x63\x6c\x6f\x74\x72\
-\x6f\x6e\x73\x20\x61\x74\x20\x50\x53\x49\x2e\x3c\x62\x72\x3e\x0a\
-\x64\x6f\x69\x3a\x31\x30\x2e\x31\x38\x34\x32\x39\x2f\x4a\x41\x43\
-\x6f\x57\x2d\x49\x50\x41\x43\x32\x30\x31\x38\x2d\x57\x45\x50\x41\
-\x4c\x30\x36\x37\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x2f\x70\x3e\
-\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\x70\x61\x67\
-\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\x3c\x2f\x61\
-\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\x73\x74\x79\
-\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\
-\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x3c\
-\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x61\x70\x70\
-\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\x72\x69\x73\
-\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\
-\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\x3e\x0a\x20\
-\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x41\
-\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\x73\x69\x74\
-\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x2e\x3c\x62\x72\x3e\x0a\
-\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
-\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\
-\x74\x70\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\
-\x2f\x65\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\
-\x69\x70\x61\x2f\x2e\x2e\x20\x74\x6f\x20\x62\x65\x20\x63\x6f\x6d\
-\x70\x6c\x65\x74\x65\x64\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\
-\x3e\x0a\x20\x0a\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\
-\x3e\x0a\x20\x20\x20\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\
-\x65\x6c\x20\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\
-\x48\x4c\x41\x29\x20\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\
-\x65\x20\x74\x6f\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\
-\x74\x68\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\
-\x74\x20\x61\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\
-\x74\x61\x20\x61\x63\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\
-\x6e\x2c\x0a\x20\x20\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\
-\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\
-\x20\x70\x65\x72\x66\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\
-\x62\x65\x72\x20\x6f\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\
-\x6c\x79\x73\x69\x73\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
-\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
-\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\
-\x73\x3a\x2f\x2f\x67\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\
-\x68\x2f\x68\x69\x70\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\
-\x74\x69\x6e\x61\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\
-\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\
-\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\
-\x74\x69\x6f\x6e\x73\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\
-\x74\x2f\x74\x69\x6e\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\
-\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\
-\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
-\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\
-\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\
-\x0a\x20\x20\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\
-\x72\x20\x75\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\
-\x72\x73\x2e\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\
-\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\
-\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\
-\x72\x61\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\
-\x79\x73\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\
-\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\
-\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\
-\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
-\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
-\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
-\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
-\x20\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\
-\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
-\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\
-\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
-\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
-\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\
-\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\
-\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\
-\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\
-\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
-\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
-\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\
-\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\
-\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
-\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\
-\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
-\x74\x65\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
-\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\
-\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\
-\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
-\x34\x34\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\
-\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\
-\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\
-\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\
-\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\
-\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
-\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\
-\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\
-\x3e\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\
-\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\
-\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\
-\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\
-\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\
-\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\
-\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\
-\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
-\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\
-\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
-\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
-\x3e\x3c\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\
-\x2e\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
-\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\
-\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
-\x3e\x64\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\
-\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
-\x6e\x74\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
-\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
-\x4e\x20\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
-\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\
-\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
-\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\
-\x2e\x20\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
-\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
-\x6e\x74\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
-\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\
-\x75\x74\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\
-\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\
-\x74\x65\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
-\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\
-\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
-\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\
-\x70\x3e\x0a\x57\x69\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\
-\x6f\x63\x65\x64\x75\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\
-\x68\x65\x20\x53\x74\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x6e\
-\x20\x65\x78\x65\x63\x75\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\
-\x61\x6c\x79\x73\x69\x73\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\
-\x68\x69\x63\x68\x20\x75\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\
-\x65\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\
-\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\
-\x65\x74\x65\x2e\x20\x33\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\
-\x61\x6d\x70\x6c\x65\x73\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\
-\x63\x74\x65\x64\x20\x70\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\
-\x20\x28\x65\x6e\x74\x72\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\
-\x77\x66\x29\x2e\x20\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\
-\x53\x61\x76\x65\x41\x6c\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\
-\x20\x20\x3c\x75\x6c\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\
-\x72\x69\x74\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
-\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\
-\x65\x64\x20\x69\x6e\x74\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\
-\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\
-\x65\x2c\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\
-\x20\x3c\x6c\x69\x3e\x73\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\
-\x77\x20\x64\x61\x74\x61\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\
-\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
-\x69\x3e\x6f\x70\x65\x6e\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\
-\x20\x77\x69\x6e\x64\x6f\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\
-\x69\x73\x73\x69\x6f\x6e\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\
-\x6c\x65\x63\x74\x65\x64\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\
-\x2e\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\
-\x20\x3c\x2f\x75\x6c\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\x66\x6f\
-\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\x3e\x0a\
-\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\x72\x65\
-\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\x66\x35\
-\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\x64\x20\
-\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\x61\x6e\
-\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\
-\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\x61\x69\
-\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x61\x20\
-\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\x69\x6e\
-\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\x28\x72\
-\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\x74\x68\
-\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\x6e\x64\
-\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\x46\x35\
-\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\x66\x6f\
-\x6e\x74\x3e\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\
-\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\
-\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\
-\x3c\x2f\x68\x33\x3e\x0a\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
-\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x70\x65\
-\x61\x6b\x20\x73\x65\x61\x72\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\
-\x69\x73\x2c\x20\x61\x73\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\
-\x64\x20\x69\x6e\x20\x74\x69\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\
-\x62\x72\x3e\x0a\x20\x20\x0a\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\
-\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\
-\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\
-\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x20\x61\x70\x70\x6c\x69\x63\
-\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\
-\x69\x64\x74\x68\x3d\x34\x30\x30\x3e\x0a\x20\x20\x20\x20\x3c\x74\
-\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\x65\x3e\
-\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\
-\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\
-\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\
-\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\
-\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
-\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
-\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\
-\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
-\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\
-\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\
-\x30\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\
-\x6e\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\
-\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\
-\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\
-\x50\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3c\x2f\x74\x64\x3e\
-\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
-\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
-\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
-\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
-\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3c\x2f\x74\x64\x3e\x20\x3c\
-\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\
-\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\
-\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\
-\x66\x65\x72\x65\x6e\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\
-\x6c\x61\x74\x69\x6f\x6e\x20\x70\x6c\x6f\x74\x20\x3c\x62\x72\x3e\
-\x62\x65\x74\x77\x65\x65\x6e\x20\x70\x65\x61\x6b\x20\x61\x6e\x64\
-\x20\x32\x6e\x64\x20\x68\x69\x67\x68\x65\x73\x74\x20\x70\x65\x61\
-\x6b\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x72\x6f\x77\x73\x70\
-\x61\x6e\x3d\x32\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
-\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
-\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\
-\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\x64\x74\
-\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\
-\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\x3c\x74\
-\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\
-\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\
-\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\
-\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\
-\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\x3c\x74\
-\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\
-\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\
-\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\
-\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
-\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\
-\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\
-\x68\x65\x61\x64\x3e\x0a\x20\x0a\x20\x20\x20\x3c\x74\x72\x3e\x20\
-\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
-\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
-\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
-\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\
-\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x20\
-\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
-\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\
-\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\
-\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\
-\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x62\x72\x3e\x0a\x3c\x70\
-\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\x63\x69\x6c\x6c\x6f\x73\
-\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\x6e\x20\x64\x69\x73\x61\
-\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x76\x61\x6c\
-\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\
-\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x61\
-\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\x74\x20\x66\x6f\x72\x20\
-\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\x64\x65\x20\x77\x69\x74\
-\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\x20\x63\x6f\x6c\x6c\x65\
-\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\
-\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x61\x6e\x64\x20\x73\
-\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\x64\x66\x35\x20\x66\x69\
-\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\x20\x0a\x20\x20\x2f\x68\
-\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\x61\x2f\x6d\x65\x61\x73\
-\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\x69\x6e\x61\x5f\x32\x30\
-\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\x73\x63\x69\x6c\x6c\x6f\
-\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x20\x20\x20\x3c\x68\x33\x20\
-\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\
-\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\x67\
-\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\x65\
-\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x0a\
-\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\x69\
-\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\x30\
-\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\x62\
-\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\x20\
-\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\x64\
-\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\
-\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\
-\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x00\xa7\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
-\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
-\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
-\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
-\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
-\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
-\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
-\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
-\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
-\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x00\x80\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
-\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
-\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
-\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
-\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
-\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
-\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x00\xa7\
-\x3c\
-\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
-\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
-\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
-\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
-\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
-\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
-\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
-\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
-\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
-\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
-\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -391,6 +22,380 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
+\x00\x00\x00\xa7\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
+\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
+\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
+\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
+\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
+\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
+\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
+\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
+\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
+\x68\x74\x6d\x6c\x3e\x0a\
+\x00\x00\x16\x6b\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\
+\x20\x4d\x65\x61\x73\x75\x65\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\
+\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\
+\x67\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\
+\x20\x4e\x75\x6d\x62\x65\x72\x20\x41\x73\x63\x65\x72\x74\x61\x69\
+\x6e\x6d\x65\x6e\x74\x2c\x20\x54\x49\x4e\x41\x3c\x2f\x74\x69\x74\
+\x6c\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\
+\x3e\x0a\x0a\x20\x20\x3c\x68\x35\x20\x20\x73\x74\x79\x6c\x65\x3d\
+\x22\x63\x6f\x6c\x6f\x72\x3a\x67\x72\x61\x79\x3b\x22\x3e\x4a\x61\
+\x6e\x20\x43\x68\x72\x69\x6e\x2c\x20\x50\x69\x65\x72\x72\x65\x2d\
+\x41\x6e\x64\x72\x26\x65\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\
+\x65\x72\x72\x65\x78\x2c\x20\x41\x6c\x65\x73\x73\x61\x6e\x64\x72\
+\x6f\x20\x46\x61\x63\x63\x68\x65\x74\x74\x69\x2c\x20\x44\x61\x6e\
+\x69\x65\x6c\x65\x2c\x20\x46\x65\x6c\x69\x63\x69\x2c\x20\x57\x61\
+\x6c\x64\x61\x6d\x61\x72\x20\x4b\x6f\x70\x72\x65\x6b\x3c\x62\x72\
+\x3e\x41\x70\x72\x69\x6c\x20\x32\x30\x32\x35\x3c\x2f\x68\x35\x3e\
+\x0a\x20\x20\x0a\x3c\x68\x34\x3e\x20\x3c\x73\x70\x61\x6e\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
+\x3b\x22\x3e\x54\x3c\x2f\x73\x70\x61\x6e\x3e\x69\x6d\x65\x20\x6f\
+\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x4d\x65\x61\x73\x75\x72\x65\
+\x6d\x65\x6e\x74\x20\x66\x6f\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\
+\x3b\x22\x3e\x49\x3c\x2f\x73\x70\x61\x6e\x3e\x6e\x6a\x65\x63\x74\
+\x6f\x72\x20\x61\x6e\x64\x20\x52\x69\x6e\x67\x20\x43\x79\x63\x6c\
+\x6f\x74\x72\x6f\x6e\x20\x54\x75\x72\x6e\x20\x3c\x73\x70\x61\x6e\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x72\
+\x65\x64\x3b\x22\x3e\x4e\x3c\x2f\x73\x70\x61\x6e\x3e\x75\x6d\x62\
+\x65\x72\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x41\x3c\x2f\
+\x73\x70\x61\x6e\x3e\x73\x63\x65\x72\x74\x61\x69\x6e\x6d\x65\x6e\
+\x74\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x20\x72\x65\x64\x3b\x22\x3e\x54\x49\x4e\
+\x41\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x2f\x68\x34\x3e\x0a\x3c\x68\
+\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
+\x6c\x75\x65\x3b\x22\x3e\x41\x62\x6f\x75\x74\x3c\x2f\x68\x32\x3e\
+\x0a\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\x54\x49\x4e\x41\x20\x61\
+\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x64\x65\x74\x65\x72\
+\x6d\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\
+\x20\x6f\x66\x20\x74\x75\x72\x6e\x73\x20\x69\x6e\x20\x61\x20\x63\
+\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x0a\x66\x72\x6f\x6d\x20\x61\x20\
+\x54\x69\x6d\x65\x20\x6f\x66\x20\x46\x6c\x69\x67\x68\x74\x20\x28\
+\x54\x4f\x46\x29\x20\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\
+\x20\x74\x65\x63\x68\x6e\x69\x71\x75\x65\x20\x61\x6e\x64\x20\x61\
+\x20\x63\x72\x6f\x73\x73\x2d\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\
+\x6f\x6e\x0a\x6f\x66\x20\x66\x61\x73\x74\x20\x73\x61\x6d\x70\x6c\
+\x65\x64\x20\x64\x61\x74\x61\x20\x66\x72\x6f\x6d\x20\x63\x61\x70\
+\x61\x63\x69\x74\x69\x76\x65\x20\x73\x65\x6e\x73\x6f\x72\x73\x20\
+\x6c\x6f\x63\x61\x74\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x65\
+\x6e\x74\x72\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x65\x78\x69\x74\
+\x0a\x6f\x66\x20\x74\x68\x65\x20\x63\x79\x63\x6f\x6c\x6f\x74\x72\
+\x6f\x6e\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x62\x61\x73\x65\
+\x64\x20\x6f\x6e\x20\x61\x20\x70\x79\x74\x68\x6f\x6e\x20\x69\x6d\
+\x70\x6c\x65\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x66\x20\
+\x61\x20\x4c\x61\x62\x56\x49\x45\x57\x20\x61\x70\x70\x6c\x69\x63\
+\x61\x74\x69\x6f\x6e\x20\x64\x65\x76\x65\x6c\x6f\x70\x65\x64\x20\
+\x62\x79\x0a\x50\x69\x65\x72\x72\x65\x2d\x41\x6e\x64\x72\x26\x65\
+\x61\x63\x75\x74\x65\x3b\x20\x44\x75\x70\x65\x72\x72\x65\x78\x3a\
+\x20\x20\x3c\x62\x72\x3e\x0a\x50\x2e\x2d\x41\x2e\x20\x44\x75\x70\
+\x65\x72\x72\x65\x78\x20\x61\x6e\x64\x20\x41\x2e\x20\x46\x61\x63\
+\x63\x68\x65\x74\x74\x69\x2c\x20\x0a\x4e\x75\x6d\x62\x65\x72\x20\
+\x6f\x66\x20\x54\x75\x72\x6e\x20\x4d\x65\x61\x73\x75\x72\x65\x6d\
+\x65\x6e\x74\x73\x20\x6f\x6e\x20\x74\x68\x65\x20\x48\x49\x50\x41\
+\x20\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x73\x20\x61\x74\x20\x50\
+\x53\x49\x2e\x3c\x62\x72\x3e\x0a\x64\x6f\x69\x3a\x31\x30\x2e\x31\
+\x38\x34\x32\x39\x2f\x4a\x41\x43\x6f\x57\x2d\x49\x50\x41\x43\x32\
+\x30\x31\x38\x2d\x57\x45\x50\x41\x4c\x30\x36\x37\x20\x0a\x3c\x2f\
+\x70\x3e\x0a\x0a\x3c\x21\x2d\x2d\x61\x20\x68\x72\x65\x66\x3d\x22\
+\x70\x61\x67\x65\x31\x2e\x68\x74\x6d\x6c\x22\x3e\x68\x65\x72\x65\
+\x3c\x2f\x61\x3e\x3c\x2f\x70\x2d\x2d\x3e\x0a\x0a\x3c\x68\x32\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
+\x65\x3b\x22\x3e\x54\x68\x65\x20\x52\x65\x70\x6f\x73\x69\x74\x6f\
+\x72\x79\x3c\x2f\x68\x32\x3e\x0a\x0a\x3c\x70\x3e\x54\x68\x65\x20\
+\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x63\x6f\x6d\x70\
+\x72\x69\x73\x65\x73\x20\x74\x77\x6f\x20\x63\x6f\x6d\x70\x6f\x6e\
+\x65\x6e\x74\x73\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\x0a\x3c\x6c\x69\
+\x3e\x0a\x20\x20\x54\x68\x65\x20\x6c\x6f\x77\x2d\x6c\x65\x76\x65\
+\x6c\x20\x41\x44\x43\x20\x64\x61\x74\x61\x20\x61\x63\x71\x75\x69\
+\x73\x69\x74\x69\x6f\x6e\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\
+\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x20\x74\x68\x65\
+\x20\x66\x6f\x6c\x6c\x6f\x77\x69\x6e\x67\x20\x72\x65\x70\x6f\x73\
+\x69\x74\x6f\x72\x69\x65\x73\x3a\x3c\x62\x72\x3e\x0a\x20\x20\x3c\
+\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
+\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\x73\
+\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x47\x46\
+\x41\x2f\x43\x4f\x2f\x67\x65\x6e\x65\x72\x61\x6c\x2f\x43\x50\x53\
+\x49\x5f\x53\x43\x4f\x50\x45\x2f\x43\x50\x53\x49\x5f\x53\x43\x4f\
+\x50\x45\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\
+\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
+\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x68\x74\x74\x70\
+\x73\x3a\x2f\x2f\x67\x69\x74\x2e\x70\x73\x69\x2e\x63\x68\x2f\x65\
+\x70\x69\x63\x73\x5f\x69\x6f\x63\x62\x6f\x6f\x74\x5f\x68\x69\x70\
+\x61\x2f\x7a\x5f\x64\x69\x5f\x74\x75\x72\x6e\x5f\x63\x6f\x75\x6e\
+\x74\x3c\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x0a\x20\
+\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x6c\x69\x3e\x0a\x20\x20\x20\
+\x20\x41\x20\x48\x69\x67\x68\x20\x4c\x65\x76\x65\x6c\x20\x41\x70\
+\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x20\x28\x48\x4c\x41\x29\x20\
+\x74\x68\x61\x74\x20\x69\x73\x20\x61\x62\x6c\x65\x20\x74\x6f\x20\
+\x69\x6e\x74\x65\x72\x61\x63\x74\x20\x77\x69\x74\x68\x20\x74\x68\
+\x65\x20\x49\x4f\x43\x2c\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6c\
+\x6f\x77\x2d\x6c\x65\x76\x65\x6c\x20\x64\x61\x74\x61\x20\x61\x63\
+\x71\x75\x69\x73\x74\x69\x6f\x6e\x20\x72\x75\x6e\x2c\x0a\x20\x20\
+\x20\x20\x61\x63\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x72\x61\
+\x77\x20\x64\x61\x74\x61\x2c\x20\x61\x6e\x64\x20\x70\x65\x72\x66\
+\x6f\x72\x6d\x20\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\
+\x66\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
+\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\x73\x70\x61\x6e\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
+\x65\x65\x6e\x3b\x22\x3e\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x67\
+\x69\x74\x6c\x61\x62\x2e\x70\x73\x69\x2e\x63\x68\x2f\x68\x69\x70\
+\x61\x5f\x61\x70\x70\x73\x34\x6f\x70\x73\x2f\x74\x69\x6e\x61\x3c\
+\x2f\x73\x70\x61\x6e\x3e\x3c\x62\x72\x3e\x0a\x20\x20\x20\x20\x3c\
+\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
+\x72\x3a\x20\x67\x72\x61\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\
+\x2f\x62\x64\x2f\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\
+\x2f\x74\x69\x6e\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x74\x69\x6e\
+\x61\x2e\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\
+\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\
+\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\
+\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\
+\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\
+\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
+\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x2e\x20\x0a\
+\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
+\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x41\x63\x63\
+\x65\x6c\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\x2f\
+\x68\x33\x3e\x0a\x20\x20\x49\x6e\x70\x75\x74\x20\x70\x61\x72\x61\
+\x6d\x65\x74\x65\x72\x73\x20\x74\x6f\x20\x61\x6e\x61\x6c\x79\x73\
+\x69\x73\x20\x72\x6f\x75\x74\x69\x6e\x65\x2c\x20\x61\x73\x20\x63\
+\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\x6e\
+\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x54\x68\
+\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\x20\x4e\
+\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\
+\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
+\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\x20\x20\
+\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\x3d\x34\x30\x30\
+\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\
+\x09\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\
+\x74\x69\x6f\x6e\x3e\x0a\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\
+\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\
+\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\
+\x2f\x68\x34\x3e\x0a\x09\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\
+\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\
+\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
+\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\
+\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
+\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
+\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x48\
+\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\x2f\x74\x64\x3e\
+\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
+\x72\x3e\x36\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
+\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x54\x20\x43\x61\x62\
+\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
+\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x34\
+\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
+\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\x50\x69\x63\x6b\x75\x70\
+\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\
+\x63\x65\x6e\x74\x65\x72\x3e\x2d\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
+\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x77\x69\
+\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\
+\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x64\x3e\x20\
+\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x09\x20\x20\x3c\x63\x61\x70\x74\
+\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
+\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\x0a\x3c\x2f\
+\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x3c\x74\x68\x65\x61\
+\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x0a\x20\x20\x20\x20\
+\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\x6c\x65\x66\x74\
+\x3e\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x3c\x2f\x74\x68\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\x6e\x3d\
+\x63\x65\x6e\x74\x65\x72\x3e\x56\x61\x6c\x75\x65\x3c\x2f\x74\x68\
+\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\
+\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
+\x74\x64\x3e\x48\x61\x72\x6d\x6f\x6e\x69\x63\x20\x4e\x6f\x2e\x3c\
+\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\
+\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
+\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\
+\x54\x20\x43\x61\x62\x6c\x65\x20\x28\x6e\x73\x29\x3c\x2f\x74\x64\
+\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
+\x65\x72\x3e\x36\x2e\x39\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
+\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x64\x4e\x20\
+\x50\x69\x63\x6b\x75\x70\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\
+\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x34\x3c\x2f\
+\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
+\x3e\x3c\x74\x64\x3e\x4d\x6f\x64\x2e\x20\x46\x72\x65\x71\x2e\x20\
+\x28\x47\x48\x7a\x29\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
+\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\
+\x65\x72\x3e\x35\x30\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
+\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x44\x75\x74\
+\x79\x20\x43\x79\x63\x6c\x65\x20\x28\x25\x29\x3c\x2f\x74\x64\x3e\
+\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
+\x72\x3e\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\
+\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\
+\x74\x64\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x0a\x20\x20\x0a\
+\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
+\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\
+\x65\x72\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x49\
+\x6e\x70\x75\x74\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x73\x20\
+\x74\x6f\x20\x74\x68\x65\x20\x70\x65\x61\x6b\x20\x73\x65\x61\x72\
+\x63\x68\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\x2c\x20\x61\x73\x20\
+\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x20\x69\x6e\x20\x74\x69\
+\x6e\x61\x2e\x6a\x73\x6f\x6e\x2e\x3c\x62\x72\x3e\x0a\x20\x20\x0a\
+\x54\x68\x65\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\x20\x68\x61\x73\
+\x20\x4e\x4f\x54\x20\x79\x65\x74\x20\x62\x65\x65\x6e\x20\x69\x6d\
+\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x69\x6e\x74\x6f\x20\x74\
+\x68\x65\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2e\x0a\
+\x3c\x70\x3e\x20\x20\x0a\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\
+\x64\x74\x68\x3d\x31\x34\x30\x30\x70\x78\x3e\x0a\x20\x20\x20\x20\
+\x3c\x74\x72\x3e\x20\x3c\x74\x64\x3e\x0a\x09\x3c\x74\x61\x62\x6c\
+\x65\x20\x77\x69\x64\x74\x68\x3d\x31\x30\x30\x30\x70\x78\x3e\x0a\
+\x09\x20\x20\x3c\x21\x2d\x2d\x63\x61\x70\x74\x69\x6f\x6e\x3e\x0a\
+\x09\x20\x20\x20\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x34\x37\x61\x62\x3b\x22\x3e\
+\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\x3c\x2f\x68\x34\x3e\x0a\x09\
+\x20\x20\x20\x20\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\
+\x0a\x20\x20\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
+\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\
+\x69\x67\x6e\x3d\x6c\x65\x66\x74\x3e\x50\x61\x72\x61\x6d\x65\x74\
+\x65\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\
+\x68\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x20\
+\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\
+\x34\x37\x61\x62\x3b\x22\x3e\x43\x79\x63\x6c\x6f\x74\x72\x6f\x6e\
+\x3c\x2f\x74\x68\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x72\x3e\x0a\
+\x20\x20\x3c\x2f\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\
+\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x50\
+\x65\x61\x6b\x20\x48\x65\x69\x67\x68\x74\x3a\x3c\x2f\x74\x64\x3e\
+\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\
+\x72\x3e\x35\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
+\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\
+\x75\x6d\x20\x64\x69\x73\x74\x61\x6e\x63\x65\x20\x62\x65\x74\x77\
+\x65\x65\x6e\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\
+\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\
+\x3e\x31\x30\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\
+\x72\x3e\x3c\x74\x64\x20\x77\x69\x64\x74\x68\x3d\x38\x30\x25\x3e\
+\x4d\x69\x6e\x69\x6d\x69\x6d\x20\x64\x69\x66\x66\x65\x72\x65\x6e\
+\x63\x65\x20\x69\x6e\x20\x63\x6f\x72\x72\x65\x6c\x61\x74\x69\x6f\
+\x6e\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x6f\x70\x20\x74\x77\
+\x6f\x20\x70\x65\x61\x6b\x73\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
+\x64\x20\x76\x61\x6c\x69\x67\x6e\x3d\x62\x6f\x74\x74\x6f\x6d\x20\
+\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x30\x2e\x30\
+\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\
+\x0a\x3c\x74\x64\x3e\x4d\x69\x6e\x69\x6d\x75\x6d\x20\x43\x75\x72\
+\x72\x65\x6e\x74\x20\x69\x6e\x20\x49\x6e\x6a\x65\x63\x74\x6f\x72\
+\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\
+\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\x3e\
+\x0a\x3c\x2f\x74\x72\x3e\x0a\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\
+\x64\x20\x77\x69\x64\x74\x68\x3d\x32\x30\x3e\x20\x26\x6e\x62\x73\
+\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\
+\x74\x64\x3e\x20\x3c\x74\x61\x62\x6c\x65\x20\x77\x69\x64\x74\x68\
+\x3d\x32\x30\x30\x70\x78\x3e\x0a\x09\x20\x20\x3c\x21\x2d\x2d\x63\
+\x61\x70\x74\x69\x6f\x6e\x3e\x0a\x3c\x68\x34\x20\x73\x74\x79\x6c\
+\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\
+\x3b\x22\x3e\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x68\x34\x3e\
+\x0a\x3c\x2f\x63\x61\x70\x74\x69\x6f\x6e\x2d\x2d\x3e\x0a\x20\x20\
+\x3c\x74\x68\x65\x61\x64\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\
+\x20\x0a\x20\x20\x20\x20\x20\x20\x3c\x74\x68\x20\x61\x6c\x69\x67\
+\x6e\x3d\x63\x65\x6e\x74\x65\x72\x20\x73\x74\x79\x6c\x65\x3d\x22\
+\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x38\x62\x38\x62\x3b\x22\x3e\
+\x49\x6e\x6a\x65\x63\x74\x6f\x72\x3c\x2f\x74\x68\x3e\x0a\x20\x20\
+\x20\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x68\x65\x61\
+\x64\x3e\x0a\x20\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\
+\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x35\x30\x3c\x2f\x74\x64\
+\x3e\x3c\x2f\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\
+\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x30\x3c\x2f\
+\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x0a\x3c\x74\x72\x3e\x3c\x74\
+\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x26\
+\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\
+\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\x6e\x3d\x63\x65\
+\x6e\x74\x65\x72\x3e\x30\x2e\x30\x31\x3c\x2f\x74\x64\x3e\x3c\x2f\
+\x74\x72\x3e\x0a\x3c\x74\x72\x3e\x3c\x74\x64\x20\x61\x6c\x69\x67\
+\x6e\x3d\x63\x65\x6e\x74\x65\x72\x3e\x31\x2e\x30\x3c\x2f\x74\x64\
+\x3e\x3c\x2f\x74\x72\x3e\x0a\x09\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
+\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\
+\x20\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x74\x61\x62\
+\x6c\x65\x3e\x0a\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x4f\x73\
+\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x20\x6f\x70\x74\x69\x6f\
+\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\
+\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\
+\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\
+\x62\x6c\x65\x73\x20\x61\x6e\x64\x20\x69\x73\x20\x6d\x65\x61\x6e\
+\x74\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x20\x63\x6f\
+\x64\x65\x20\x77\x69\x74\x68\x20\x72\x61\x77\x20\x64\x61\x74\x61\
+\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\
+\x74\x68\x65\x20\x6f\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\
+\x20\x61\x6e\x64\x20\x73\x74\x6f\x72\x65\x64\x20\x69\x6e\x20\x68\
+\x64\x66\x35\x20\x66\x69\x6c\x65\x73\x3a\x20\x3c\x62\x72\x3e\x20\
+\x20\x0a\x20\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x64\x61\x74\
+\x61\x2f\x6d\x65\x61\x73\x75\x72\x65\x6d\x65\x6e\x74\x73\x2f\x54\
+\x69\x6e\x61\x5f\x32\x30\x32\x34\x2d\x30\x39\x2d\x31\x38\x5f\x6f\
+\x73\x63\x69\x6c\x6c\x6f\x73\x63\x6f\x70\x65\x2e\x68\x35\x0a\x3c\
+\x70\x3e\x0a\x20\x3c\x68\x34\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
+\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x50\
+\x72\x6f\x63\x65\x64\x75\x72\x65\x3c\x2f\x68\x34\x3e\x0a\x57\x69\
+\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x50\x72\x6f\x63\x65\x64\x75\
+\x72\x65\x20\x67\x72\x6f\x75\x70\x2c\x20\x74\x68\x65\x20\x53\x74\
+\x61\x72\x74\x20\x62\x75\x74\x74\x6f\x6e\x20\x65\x78\x65\x63\x75\
+\x74\x65\x73\x20\x74\x68\x65\x20\x61\x6e\x61\x6c\x79\x73\x69\x73\
+\x20\x70\x72\x6f\x67\x72\x61\x6d\x0a\x77\x68\x69\x63\x68\x20\x75\
+\x73\x75\x61\x6c\x6c\x79\x20\x74\x61\x6b\x65\x73\x20\x6c\x65\x73\
+\x73\x20\x74\x68\x61\x6e\x20\x31\x30\x20\x73\x65\x63\x6f\x6e\x64\
+\x73\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x20\x33\
+\x27\x30\x31\x30\x27\x35\x36\x30\x20\x73\x61\x6d\x70\x6c\x65\x73\
+\x20\x61\x72\x65\x0a\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x70\
+\x65\x72\x20\x63\x68\x61\x6e\x6e\x65\x6c\x20\x28\x65\x6e\x74\x72\
+\x79\x20\x77\x66\x2f\x65\x78\x69\x74\x20\x77\x66\x29\x2e\x20\x0a\
+\x3c\x70\x3e\x0a\x20\x20\x54\x68\x65\x20\x53\x61\x76\x65\x41\x6c\
+\x6c\x20\x62\x75\x74\x74\x6f\x6e\x3a\x0a\x20\x20\x3c\x75\x6c\x3e\
+\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x77\x72\x69\x74\x65\x73\x20\
+\x74\x68\x65\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x74\x75\
+\x72\x6e\x73\x20\x6d\x65\x61\x73\x75\x72\x65\x64\x20\x69\x6e\x74\
+\x6f\x20\x61\x6e\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\
+\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x2c\x0a\x20\x20\x20\
+\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x73\
+\x61\x76\x65\x20\x74\x68\x65\x20\x72\x61\x77\x20\x64\x61\x74\x61\
+\x20\x74\x6f\x20\x68\x64\x66\x35\x2c\x0a\x20\x20\x20\x20\x3c\x2f\
+\x6c\x69\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x3e\x6f\x70\x65\x6e\
+\x73\x20\x61\x20\x64\x69\x61\x6c\x6f\x67\x20\x77\x69\x6e\x64\x6f\
+\x77\x20\x66\x6f\x72\x20\x73\x75\x62\x6d\x69\x73\x73\x69\x6f\x6e\
+\x20\x74\x6f\x20\x74\x68\x65\x20\x73\x65\x6c\x65\x63\x74\x65\x64\
+\x20\x65\x6c\x6f\x67\x20\x62\x6f\x6f\x6b\x2e\x20\x0a\x20\x20\x20\
+\x20\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x20\x20\x3c\x2f\x75\x6c\x3e\
+\x0a\x20\x20\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\x6e\x73\
+\x20\x63\x61\x6e\x20\x61\x6c\x73\x6f\x20\x62\x65\x20\x65\x78\x65\
+\x63\x75\x74\x65\x64\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
+\x6c\x79\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x69\x63\x6f\x6e\x73\
+\x20\x70\x6c\x61\x63\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x6d\
+\x65\x6e\x75\x20\x62\x61\x72\x2e\x0a\x3c\x70\x3e\x0a\x20\x20\x3c\
+\x66\x6f\x6e\x74\x20\x63\x6f\x6c\x6f\x72\x3d\x67\x72\x65\x65\x6e\
+\x3e\x0a\x20\x20\x44\x61\x74\x61\x20\x63\x61\x6e\x20\x62\x65\x20\
+\x72\x65\x63\x61\x6c\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x68\x64\
+\x66\x35\x20\x61\x6e\x64\x20\x72\x65\x61\x6e\x61\x6c\x79\x7a\x65\
+\x64\x20\x75\x73\x69\x6e\x67\x20\x74\x68\x65\x20\x48\x44\x46\x20\
+\x61\x6e\x61\x6c\x79\x73\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\
+\x6e\x61\x6c\x69\x74\x79\x0a\x20\x20\x6d\x61\x64\x65\x20\x61\x76\
+\x61\x69\x6c\x61\x62\x6c\x65\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
+\x61\x20\x64\x6f\x63\x6b\x65\x64\x20\x77\x69\x64\x67\x65\x74\x20\
+\x69\x6e\x20\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x20\
+\x28\x72\x69\x67\x68\x74\x20\x63\x6c\x69\x63\x6b\x20\x6f\x6e\x20\
+\x74\x68\x65\x20\x6d\x65\x6e\x75\x20\x62\x61\x72\x0a\x20\x20\x61\
+\x6e\x64\x20\x73\x65\x6c\x65\x63\x74\x20\x74\x68\x65\x20\x48\x44\
+\x46\x35\x20\x6f\x70\x74\x69\x6f\x6e\x29\x2e\x0a\x20\x20\x3c\x2f\
+\x66\x6f\x6e\x74\x3e\x0a\x0a\x20\x20\x0a\x20\x20\x20\x3c\x68\x33\
+\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
+\x62\x36\x38\x65\x65\x3b\x22\x3e\x54\x49\x4e\x41\x20\x49\x6d\x61\
+\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\
+\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
+\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x54\
+\x69\x6e\x61\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\
+\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\
+\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\
+\x20\x20\x54\x69\x6e\x61\x20\x54\x75\x72\x6e\x65\x72\x3c\x2f\x74\
+\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
+\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
+\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x15\xad\
\xff\
\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\
@@ -740,6 +745,29 @@ qt_resource_data = b"\
\xfb\xfc\x44\x1d\x14\xe7\x0f\x15\x4f\x1b\x10\x93\x79\xdc\x62\xb1\
\x2b\x03\x09\x82\xd2\xa9\x73\xad\x8f\x92\xd8\xc0\x90\xee\xb1\xdf\
\xb1\xd9\x53\x50\xd0\xde\x4b\x2f\xff\x00\xff\xd9\
+\x00\x00\x00\x80\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
+\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
+\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
+\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
+\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
+\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
+\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
+\x00\x00\x00\xa7\
+\x3c\
+\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
+\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
+\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
+\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
+\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
+\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
+\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
+\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
+\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
+\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
+\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -757,14 +785,22 @@ qt_resource_data = b"\
qt_resource_name = b"\
\x00\x0a\
-\x0c\xba\xf2\x7c\
-\x00\x69\
-\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
+\x08\x4a\x34\x9c\
+\x00\x70\
+\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
+\x0c\xba\xf2\x7c\
+\x00\x69\
+\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
+\x00\x08\
+\x00\x44\x5a\x07\
+\x00\x54\
+\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
+\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -773,14 +809,6 @@ qt_resource_name = b"\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
-\x08\x4a\x34\x9c\
-\x00\x70\
-\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
-\x00\x08\
-\x00\x44\x5a\x07\
-\x00\x54\
-\x00\x69\x00\x6e\x00\x61\x00\x2e\x00\x6a\x00\x70\x00\x67\
-\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -788,36 +816,36 @@ qt_resource_name = b"\
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
-\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
-\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
-\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
-\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
-\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
+\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
+\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
+\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
+\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
+\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
-\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x17\x33\
-\x00\x00\x01\x94\x3a\xf8\x11\xe0\
-\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x16\x88\
-\x00\x00\x01\x94\x3a\xf8\x11\xe8\
-\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2c\xe4\
-\x00\x00\x01\x94\x3a\xf8\x11\xe9\
-\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x14\xae\
-\x00\x00\x01\x94\x3a\xf8\x11\xeb\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdd\
-\x00\x00\x01\x94\x3a\xf8\x11\xec\
-\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x59\
-\x00\x00\x01\x94\x3a\xf8\x11\xee\
+\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\xc5\
+\x00\x00\x01\x95\xeb\x5c\x84\xe2\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x01\x94\x41\x4a\x3a\x25\
+\x00\x00\x01\x95\xeb\x5c\x84\xeb\
+\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xa5\
+\x00\x00\x01\x95\xeb\x5c\x84\xed\
+\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
+\x00\x00\x01\x95\xeb\x5c\x84\xef\
+\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xfa\
+\x00\x00\x01\x95\xeb\x5c\x84\xf0\
+\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x2d\x76\
+\x00\x00\x01\x95\xeb\x5c\x84\xf2\
+\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
+\x00\x00\x01\x96\x1a\x88\xce\x2e\
"
-qt_version = QtCore.qVersion().split('.')
-if qt_version < ['5', '8', '0']:
+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:
diff --git a/src/analysis.py b/src/analysis.py
index ec50b14..52734da 100644
--- a/src/analysis.py
+++ b/src/analysis.py
@@ -49,7 +49,7 @@ class AnalysisProcedure(QObject):
self.check_status_list = self.parent.check_status_list
self.trigger_progressbar = self.parent.trigger_progressbar
self.daq_timeout = 30
- self.daq_ready = 0
+ self.daq_ready_init_value = 0
self.logging = self.parent.logging
self.logger = self.logging.getLogger(__name__)
self.logger.debug('Logging activated in analysis procedure')
@@ -80,19 +80,20 @@ class AnalysisProcedure(QObject):
self.log_level = logging.INFO
self.simulation = False
self.accelerator = self.ring_cyclotron
+ self.accelerator_peak_search = ' ' + self.accelerator + ' '
self.harmonic_no = 6
self.entry_current = 0
self.exit_current = 0
- self.n_turns = None
+ self.n_turns = 0
# self.t_stepsize = 0.000000019750043 #0.00000002
self.rf_freq = 50.6328 # 10**6
self.rf_sample = 3.0 # 10**6
- self.pulse_stepsize = 1/(self.rf_freq*10**6)
- self.t_stepsize = 1/(self.rf_sample*10**9)
- self.t_interval = math.ceil(self.pulse_stepsize/self.t_stepsize)
+ self.pulse_stepsize = 1 / (self.rf_freq * 10**6)
+ self.t_stepsize = 1 / (self.rf_sample * 10**9)
+ self.t_interval = math.ceil(self.pulse_stepsize / self.t_stepsize)
self.correlation_peak_diff = 0.0
- self.signal_min_peak_height = 50
+ self.signal_min_peak_height = 4 # 50
self.signal_min_peak_distance = 10
self.correlation_min_peak_diff = 0.01
@@ -100,7 +101,12 @@ class AnalysisProcedure(QObject):
self.dn_pickup = -1
self.mod_freq = 500 # GHz
self.duty_cycle = 1 # percentage
+ #self.minimum_current = -10.001
+ self.delay = 0
+ self.lag_full = 0
+ self.lags_full_array = []
+ self.corr_full = []
# Turn off DEBUG for MATLAB
mat_logger = logging.getLogger('matplotlib')
mat_logger.setLevel(logging.ERROR)
@@ -137,7 +143,7 @@ class AnalysisProcedure(QObject):
self.parent.gui_frame.line_sender_dict['accelerator'].setCurrentIndex(
idx)
- print(f'init input parameters {self.input_data}')
+ print(f'init input parameters {self.input_data}', flush=True)
if reanalysis:
self.loglevel = self.input_parameters['loggingLevel']
else:
@@ -171,6 +177,9 @@ class AnalysisProcedure(QObject):
self.input_data[self.accelerator]['deltaTcable'])
self.dn_pickup = int(
self.input_data[self.accelerator]['deltaNpickup'])
+ # self.minimum_current = float(
+ # self.input_data[self.accelerator_peak_search][
+ # 'minimumCurrent'])
if self.injector_2 in self.accelerator:
self.mod_freq = float(
@@ -189,6 +198,7 @@ class AnalysisProcedure(QObject):
self.logger.info(f'Harmonic No. {self.harmonic_no}')
self.logger.info(f'dT Cable {self.dt_cable}')
self.logger.info(f'dN Pickup {self.dn_pickup}')
+ #self.logger.info(f'I minimum {self.minimum_current} (mA)')
except KeyError as ex:
self.logger.error(f'KeyError {ex}')
@@ -197,11 +207,12 @@ class AnalysisProcedure(QObject):
try:
self.correlation_min_peak_diff = float(
- self.input_data[self.accelerator]['correlationPeakDifference'])
- self.signal_min_peak_height = round(
- self.input_data[self.accelerator]['peakHeight'])
- self.signal_min_peak_distance = round(
- self.input_data[self.accelerator]['peakDistance'])
+ self.input_data[self.accelerator_peak_search][
+ 'correlationPeakDifference'])
+ self.signal_min_peak_height = int(
+ self.input_data[self.accelerator_peak_search]['peakHeight'])
+ self.signal_min_peak_distance = int(
+ self.input_data[self.accelerator_peak_search]['peakDistance'])
except KeyError as ex:
self.logger.error(f'KeyError {ex}')
@@ -211,11 +222,13 @@ class AnalysisProcedure(QObject):
# Overide peak search parameters with those given in gui
if reanalysis:
self.correlation_min_peak_diff = float(self.input_parameters[
- self.accelerator]['correlationPeakDifference'])
+ self.accelerator_peak_search]['correlationPeakDifference'])
self.signal_min_peak_height = int(
- self.input_parameters[self.accelerator]['peakHeight'])
+ self.input_parameters[self.accelerator_peak_search][
+ 'peakHeight'])
self.signal_min_peak_distance = int(
- self.input_parameters[self.accelerator]['peakDistance'])
+ self.input_parameters[self.accelerator_peak_search][
+ 'peakDistance'])
print(f'self.input_parameters={self.input_parameters}')
print(('Reanalysis: self.correlation_min_peak_diff= ' +
@@ -245,16 +258,22 @@ class AnalysisProcedure(QObject):
# Step 1 - Collect ambient data relate to the machine
self.all_data['Ambient data'] = self.collect_ambient_data()
+
+ if not self.all_data['Ambient data']:
+ self.trigger_progressbar.emit(int(PROGRESS_THREAD_ERROR))
+ return None
+
self.trigger_progressbar.emit(int(PROGRESS_THREAD_START))
# Step 2 - Perform measurement and return data for processing
self.all_data['Raw data'] = self.measure()
- if self.all_data['Raw data'] is None:
+ if not self.all_data['Raw data']:
self.trigger_progressbar.emit(int(PROGRESS_THREAD_ERROR))
return None
# Step 3 - Process the raw data
+
self.all_data['Processed data'] = self.process()
# Step 4 - Provide plots
@@ -299,6 +318,7 @@ class AnalysisProcedure(QObject):
self.time_stamp = ambient_data['Time stamp']
self.all_data['Ambient data'] = ambient_data
+
self.all_data['Processed data'] = self.process(from_hdf5=True)
self.all_data['Figure data'] = self.make_figs()
@@ -343,10 +363,35 @@ class AnalysisProcedure(QObject):
if self.abort:
self.aborting(utils.line_no())
- return {}
+ return None
self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
- return {}
+ return None
+
+ '''
+ injector_current = self.cafe.getCache('MWC2:IST:2')
+ I_min = self.minimum_current
+ print('injector_current', injector_current)
+ print('I_min', I_min)
+
+ if not injector_current:
+ self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
+ stat = self.cafe.getStatus('MWC2:IST:2')
+ self.check_status(_pymodule, 'getCache', injector_current, stat,
+ utils.line_no())
+ mess = ('Unable to read Injector 2 current. ' +
+ 'Please try again.')
+ self.parent.trigger_log_message.emit(
+ MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
+ return None
+ elif injector_current <= self.minimum_current:
+ self.trigger_progressbar.emit(PROGRESS_THREAD_ERROR)
+ mess = (f'Injector 2 current is below threshold {I_min} mA. ' +
+ f'Measurement cannot be untertaken at the present time.')
+ self.parent.trigger_log_message.emit(
+ MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
+ return None
+ '''
pv_list = []
@@ -377,7 +422,9 @@ class AnalysisProcedure(QObject):
pv_entry_current = self.settings.data['PV'][self.accelerator]['IEntry']
entry_current = self.cafe.getCache(pv_entry_current)
- ambient_data['I Entry'] = entry_current/1000 \
+ print('entry_current==>', entry_current)
+
+ ambient_data['I Entry'] = entry_current / 1000 \
if entry_current is not None else 0.0
# mA if divied by 1000 above
self.entry_current = ambient_data['I Entry']
@@ -385,15 +432,16 @@ class AnalysisProcedure(QObject):
# Retrieve
pv_exit_current = self.settings.data['PV'][self.accelerator]['IExit']
exit_current = self.cafe.getCache(pv_exit_current)
- ambient_data['I Exit'] = exit_current/1000 \
+ print('exit_current==>', exit_current)
+ ambient_data['I Exit'] = exit_current / 1000 \
if exit_current is not None else 0.0
- # mA if divied by 1000 above
+ # mA if divided by 1000 above
self.exit_current = ambient_data['I Exit']
pv_daq_ready = self.pv_dict['daqReady']
'''
- self.daq_ready = self.cafe.getCache(pv_daq_ready)
- if self.daq_ready is None:
+ self.daq_ready_init_value = self.cafe.getCache(pv_daq_ready)
+ if self.daq_ready_init_value is None:
stat = self.cafe.getStatus(pv_daq_ready)
self.check_status(_pymodule, 'getCache', pv_daq_ready, stat,
utils.line_no())
@@ -424,13 +472,15 @@ class AnalysisProcedure(QObject):
print('MONITOR STARTED FOR ', pv_daq_error_count, flush=True)
self.cafe.monitor(pv_daq_error_count)
+ print('ambient_data', ambient_data)
+
return ambient_data
def extract_peak_data(self):
''' Using signal package for peak search
'''
if not self.simulation:
- height = 50.0
+ height = self.signal_min_peak_height
else:
height = 0.005
@@ -438,10 +488,13 @@ class AnalysisProcedure(QObject):
y1_peaks_pre = signal.find_peaks(self.y1_sample, height=height,
distance=10)
- print('peak length==>', len(y1_peaks_pre[1]['peak_heights']))
+ print(
+ 'peak length==>', len(
+ y1_peaks_pre[1]['peak_heights']), flush=True)
if len(y1_peaks_pre[1]['peak_heights']) < 2:
return False
-
+ print('peak length=============>', len(
+ y1_peaks_pre[1]['peak_heights']), flush=True)
##y1_peaks_avg = np.average(y1_peaks_pre[1]['peak_heights'])
min_y1_p = np.min(y1_peaks_pre[1]['peak_heights'])
max_y1_p = np.max(y1_peaks_pre[1]['peak_heights'])
@@ -474,7 +527,7 @@ class AnalysisProcedure(QObject):
#peak_heights = y2_peaks_pre[1]['peak_heights']
#peak_indices = y2_peaks_pre[0]
- #second_highest_peak_index = peak_indices[
+ # second_highest_peak_index = peak_indices[
# np.argpartition(peak_heights,-2)[-2]]
#print("2nd highest peak", np.argpartition(peak_heights,-2))
return True
@@ -508,7 +561,7 @@ class AnalysisProcedure(QObject):
entry = entry.replace('\n', '')
val = entry.split('\t')
self.t_sample.append(float(t_inc))
- self.y1_sample.append(float(val[1])*(-1))
+ self.y1_sample.append(float(val[1]) * (-1))
self.y2_sample.append(float(val[2]))
t_inc += self.t_stepsize
@@ -521,15 +574,34 @@ class AnalysisProcedure(QObject):
pv_wf_entry = self.pv_dict['wfEntry']
pv_wf_exit = self.pv_dict['wfExit']
pv_wf = [pv_wf_entry, pv_wf_exit]
- self.daq_ready = self.cafe.getCache(pv_daq_ready)
+ self.daq_ready_init_value = self.cafe.getCache(pv_daq_ready)
+
+ stat = 0
+ ntries = 3
+ itries = 0
+ sleeptime = 0.01
+ while stat != self.cyca.ICAFE_NORMAL and itries < ntries:
+ time.sleep(sleeptime)
+ stat = self.cafe.set(pv_daq_trigger, 1)
+ itries += 1
+ sleeptime = 0.2
- stat = self.cafe.set(pv_daq_trigger, 8)
- self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
- utils.line_no())
- time.sleep(0.5)
- stat = self.cafe.set(pv_daq_trigger, 0)
self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
utils.line_no())
+
+ if stat != self.cyca.ICAFE_NORMAL:
+ mess = ('DAQ cannot be started. Error in setting pv ' +
+ f'{pv_daq_trigger}')
+ self.parent.trigger_log_message.emit(
+ MsgSeverity.ERROR.name, _pymodule, utils.line_no(),
+ mess, {})
+ self.aborting(utils.line_no())
+ return None
+
+ time.sleep(sleeptime)
+ #####stat = self.cafe.set(pv_daq_trigger, 0)
+ # self.check_status(_pymodule, 'set', pv_daq_trigger, stat,
+ # utils.line_no())
# Monitor DAQ State
start = time.time()
@@ -549,12 +621,12 @@ class AnalysisProcedure(QObject):
stat = self.cafe.getStatus(pv_daq_ready)
self.check_status(_pymodule, 'getCache', pv_daq_ready,
stat, utils.line_no())
- elif value != 0:
+ elif value == self.daq_ready_init_value + 1:
finished = True
break
time.sleep(1.0)
icount += 1
- progress = int(100*icount/self.daq_timeout)
+ progress = int(100 * icount / self.daq_timeout)
if progress > PROGRESS_THREAD_ERROR:
self.trigger_progressbar.emit(progress)
@@ -616,13 +688,6 @@ class AnalysisProcedure(QObject):
self.trigger_progressbar.emit(60)
extract_raw_data()
- peaks_found = self.extract_peak_data()
- if not peaks_found:
- mess = ('No peaks found! ' +
- 'Measuremenmg procedure aborted.')
- self.parent.trigger_log_message.emit(
- MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
-
if self.abort:
self.aborting(utils.line_no())
return None
@@ -635,6 +700,9 @@ class AnalysisProcedure(QObject):
'y2': list(self.y2_sample),
't': list(self.t_sample),
}
+ print(len(self.y1_sample), type(self.y1_sample), flush=True)
+ print(len(self.y2_sample), type(self.y2_sample), flush=True)
+ print(len(self.t_sample), type(self.t_sample), flush=True)
return rawdata
@@ -657,59 +725,90 @@ class AnalysisProcedure(QObject):
if from_hdf5:
self.unpack_hdf_data()
+ peaks_found = self.extract_peak_data()
+ print('peaks_found', peaks_found)
+ if not peaks_found:
+ mess = ('No peaks found! ' +
+ 'No measurement made.')
+ self.parent.trigger_log_message.emit(
+ MsgSeverity.ERROR.name, _pymodule, utils.line_no(), mess, {})
+
+ # self.aborting(utils.line_no())
+ return {}
+
self.mean_amplitude_y1 = np.mean(self.y1_pulse, keepdims=True)
self.mean_amplitude_y2 = np.mean(self.y2_pulse, keepdims=True)
self.std_amplitude_y1 = np.std(self.y1_pulse, keepdims=True)
self.std_amplitude_y2 = np.std(self.y2_pulse, keepdims=True)
self.normalized_amplitude_envelope_1 = (
- self.y1_pulse - self.mean_amplitude_y1)/self.std_amplitude_y1
+ self.y1_pulse - self.mean_amplitude_y1) / self.std_amplitude_y1
self.normalized_amplitude_envelope_2 = (
- self.y2_pulse - self.mean_amplitude_y2)/(self.std_amplitude_y2*len(
- self.y2_pulse))
- self.corr_full = signal.correlate(
- self.normalized_amplitude_envelope_2,
- self.normalized_amplitude_envelope_1, mode='full', method='auto')
- self.lags_full_array = signal.correlation_lags(
- len(self.normalized_amplitude_envelope_2),
- len(self.normalized_amplitude_envelope_1), mode='full')
+ self.y2_pulse - self.mean_amplitude_y2) / \
+ (self.std_amplitude_y2 * len(self.y2_pulse))
- self.lag_full = int(self.lags_full_array[np.argmax(self.corr_full)])
- #self.delay = self.lag_full * self.t_stepsize*self.t_interval
- self.delay = float(self.lag_full * self.pulse_stepsize)
+ try:
+ self.corr_full = signal.correlate(
+ self.normalized_amplitude_envelope_2,
+ self.normalized_amplitude_envelope_1,
+ mode='full', method='auto')
+ self.lags_full_array = signal.correlation_lags(
+ len(self.normalized_amplitude_envelope_2),
+ len(self.normalized_amplitude_envelope_1), mode='full')
- print('peak height', np.max(self.corr_full))
- top_peak_values = heapq.nlargest(2, self.corr_full)
- print('1st peak height', top_peak_values[0])
- print('2nd peak height', top_peak_values[1])
- self.correlation_peak_diff = top_peak_values[0] - top_peak_values[1]
- print(f'peak significance = {self.correlation_peak_diff:.3f}')
- print('lag', self.lag_full)
- print('delay', self.delay, flush=True)
- print('dTcable', self.dt_cable, flush=True)
- print('rf freq', self.rf_freq, flush=True)
- print('harmonic', self.harmonic_no, flush=True)
- print('dN pickup', self.dn_pickup, flush=True)
- print(f'Correlation Peak Diff {self.correlation_peak_diff}')
- print(f'Min Peak Height {self.signal_min_peak_height}')
- print(f'Min Peak Distance {self.signal_min_peak_distance}')
+ self.lag_full = int(
+ self.lags_full_array[np.argmax(self.corr_full)])
+ #self.delay = self.lag_full * self.t_stepsize*self.t_interval
+ self.delay = float(self.lag_full * self.pulse_stepsize)
- self.n_turns = (
- ((self.delay-self.dt_cable*10**(-9))*self.rf_freq*10**6)
- / self.harmonic_no) + self.dn_pickup
+ print('peak height', np.max(self.corr_full))
+ top_peak_values = heapq.nlargest(2, self.corr_full)
+ print('1st peak height', top_peak_values[0])
+ print('2nd peak height', top_peak_values[1])
+ self.correlation_peak_diff = top_peak_values[0] - \
+ top_peak_values[1]
+ print(f'peak significance = {self.correlation_peak_diff:.3f}')
+ print('lag', self.lag_full)
+ print('delay', self.delay, flush=True)
+ print('dTcable', self.dt_cable, flush=True)
+ print('rf freq', self.rf_freq, flush=True)
+ print('harmonic', self.harmonic_no, flush=True)
+ print('dN pickup', self.dn_pickup, flush=True)
+ print(f'Correlation Peak Diff {self.correlation_peak_diff}')
+ print(f'Min Peak Height {self.signal_min_peak_height}')
+ print(f'Min Peak Distance {self.signal_min_peak_distance}')
- print((f'lag = {self.lag_full}, ' +
- f'delay = {self.delay*10**6:.3f} \u00B5s ' +
- f'nturns = {self.n_turns:.4f}'))
+ self.n_turns = (
+ ((self.delay - self.dt_cable * 10**(-9)) * self.rf_freq * 10**6)
+ / self.harmonic_no) + self.dn_pickup
+
+ print((f'lag = {self.lag_full}, ' +
+ f'delay = {self.delay*10**6:.3f} \u00B5s ' +
+ f'nturns = {self.n_turns:.4f}'))
+
+ except ValueError:
+ pass
+ except RuntimeError:
+ pass
if self.abort:
self.aborting(utils.line_no())
return None
+ if isinstance(self.y1_pulse, list):
+ y1p = self.y1_pulse
+ else:
+ y1p = self.y1_pulse.tolist()
+
+ if isinstance(self.y2_pulse, list):
+ y2p = self.y2_pulse
+ else:
+ y2p = self.y2_pulse.tolist()
+
# Fill Processed data here
proc_data = {
- 'y1': self.y1_pulse.tolist(),
- 'y2': self.y2_pulse.tolist(),
+ 'y1': y1p,
+ 'y2': y2p,
't_stepsize': self.pulse_stepsize,
'lag': self.lag_full,
'delay': self.delay,
@@ -725,9 +824,9 @@ class AnalysisProcedure(QObject):
def make_figs(self):
''' Figure construction with matplotlib
'''
- #if self.correlation_peak_diff < self.correlation_min_peak_diff:
+ # if self.correlation_peak_diff < self.correlation_min_peak_diff:
# is_suspect = True
- #else:
+ # else:
# is_suspect = False
is_suspect = bool(
self.correlation_peak_diff < self.correlation_min_peak_diff)
@@ -760,7 +859,7 @@ class AnalysisProcedure(QObject):
ax[1].plot(self.t_sample[s:e], self.y2_sample[s:e], '.r-', label='')
ax[0].xaxis.set_major_locator(
- ticker.MultipleLocator(self.t_stepsize*self.t_interval))
+ ticker.MultipleLocator(self.t_stepsize * self.t_interval))
ax[0].set_xlabel('Time [s]')
ax[0].set_ylabel('Amplitude')
ax[0].set_title('Pulse at Entry')
@@ -769,7 +868,7 @@ class AnalysisProcedure(QObject):
ax[0].grid(visible=True, which='major', axis='both',
linestyle='--', linewidth=0.8)
ax[1].xaxis.set_major_locator(
- ticker.MultipleLocator(self.t_stepsize*self.t_interval))
+ ticker.MultipleLocator(self.t_stepsize * self.t_interval))
ax[1].set_xlabel('Time [s]')
ax[1].set_ylabel('Amplitude')
ax[1].set_title('Pulse at Exit')
@@ -804,11 +903,11 @@ class AnalysisProcedure(QObject):
if self.entry_current != 0:
current_text = f'I(entry) = {self.entry_current:.3f} mA'
plt.figtext(0.80, 0.86, current_text, fontweight='normal',
- fontsize=10)
+ fontsize=8)
if self.exit_current != 0:
current_text = f'I(exit) = {self.exit_current:.3f} mA'
plt.figtext(0.8075, 0.84, current_text, fontweight='normal',
- fontsize=10)
+ fontsize=8)
plt.figtext(0.7, 0.72, f'lag = {self.lag_full}', fontweight=fontweight,
fontsize=14, color=color, alpha=alpha)
diff --git a/src/gui.py b/src/gui.py
index 3546112..c30a4da 100644
--- a/src/gui.py
+++ b/src/gui.py
@@ -37,15 +37,19 @@ class AppGui(QWidget):
self.input_parameters = self.parent.input_parameters
self.input_labels = self.parent.input_labels
self.expert_parameters = self.parent.expert_parameters
- self.gui_frame.expert_parameters_group.setFixedWidth(310)
- self.gui_frame.expert_parameters_group.setFixedHeight(290)
+ self.gui_frame.expert_parameters_group.setFixedWidth(280)
+ self.gui_frame.expert_parameters_group.setFixedHeight(350)
self.gui_frame.operator_parameters_group.setFixedWidth(260)
- self.gui_frame.operator_parameters_group.setFixedHeight(380)
- self.gui_frame.measurement_tab_wgt.setFixedWidth(496)
- self.gui_frame.measurement_tab_wgt.setFixedHeight(460)
+ self.gui_frame.operator_parameters_group.setFixedHeight(400)
+ self.gui_frame.measurement_tab_wgt.setFixedWidth(516)
+ self.gui_frame.measurement_tab_wgt.setFixedHeight(480)
self.gui_frame.operator_wgt.setFixedHeight(640)
# self.gui_frame.expert_wgt.setFixedHeight(240)
+
+ self.gui_frame.measurement_tab_wgt.setCurrentIndex(1)
+ self.gui_frame.measurement_tab_wgt.setTabText(0, 'Accelerator')
+
# DAQ
self.daq_wgt = self.daq_group_qtabwidget(widget_type='QStackedWidget')
self.gui_frame.measurement_layout.addWidget(
diff --git a/tina.json b/tina.json
index 6c12e91..4da3809 100755
--- a/tina.json
+++ b/tina.json
@@ -14,25 +14,40 @@
"addDateToDir" : 0
},
"header" : ["SHIFT", "INJ2", "IP2", "IW2", "PK1", "PK2", "SINQ", "UCN"],
- "PV" : {"Injector": {"nturns": "PV-INJ:NTURNS",
- "daqTrigger": "PV-INJ:TRG",
- "daqReady": "PV-INJ:READY",
- "daqErrorCount": "PV-INJ:ERR-CNT",
- "wfEntry": "PV-INJ:WF-ENTRY",
- "wfExit": "PV-INJ:WF-EXIT",
+ "PV" : {"Injector": {"nturns": "ZWSGA-CECL-TCINJ:TURN-COUNT",
+ "daqTrigger": "ZWSGA-CECL-TCINJ:TRG-SINGLE:PROC",
+ "daqReady": "ZWSGA-CECL-TCINJ:SCOPE-ACQ-CNT",
+ "daqErrorCount": "ZWSGA-CECL-TCINJ:ERR-CNT",
+ "wfEntry": "ZWSGA-CECL-TCINJ:SCOPE-CH0",
+ "wfExit": "ZWSGA-CECL-TCINJ:SCOPE-CH1",
"IEntry": "ENTRY:IST:1",
"IExit": "EXIT:IST:1"
},
- "Cyclotron": {"nturns": "ZTEST-CPSI-TCRING:TURN-NUM",
- "daqTrigger": "ZTEST-CPSI-TCRING:SCOPE-TRG",
- "daqReady": "ZTEST-CPSI-TCRING:SCOPE-READY",
- "daqErrorCount": "ZTEST-CPSI-TCRING:ERR-CNT",
- "wfEntry": "ZTEST-CPSI-TCRING:SCOPE-CH0",
- "wfExit": "ZTEST-CPSI-TCRING:SCOPE-CH1",
+ "Cyclotron": {"nturns": "ZWSGA-CECL-TCRING:TURN-COUNT",
+ "daqTrigger": "ZWSGA-CECL-TCRING:TRG-SINGLE.PROC",
+ "daqReady": "ZWSGA-CECL-TCRING:SCOPE-ACQ-CNT",
+ "daqErrorCount": "ZWSGA-CECL-TCRING:ERR-CNT",
+ "wfEntry": "ZWSGA-CECL-TCRING:SCOPE-CH0",
+ "wfExit": "ZWSGA-CECL-TCRING:SCOPE-CH1",
"IEntry": "MNC3:IST:2",
"IExit": "MHC1:IST:2"
}
},
+ "Init": {"Injector": {"ZWSGA-CECL-TCINJ:TRG-SINGLE.PROC": 1,
+ "ZWSGA-CECL-TCINJ:TRG-SOURCE": "Auto",
+ "ZWSGA-CECL-TCINJ:SCOPE-PRE-TRIGGER": 0,
+ "ZWSGA-CECL-TCINJ:TRG-AUTO-PERIOD": 4000,
+ "ZWSGA-CECL-TCINJ:TRG-SW-INHIBIT-ENA": 1,
+ "ZWSGA-CECL-TCINJ:ADC-CH-OFFSET": 4
+ },
+ "Cyclotron": {"ZWSGA-CECL-TCRING:TRG-SINGLE.PROC": 1,
+ "ZWSGA-CECL-TCRING:TRG-SOURCE": 0,
+ "ZWSGA-CECL-TCRING:SCOPE-PRE-TRIGGER": 0,
+ "ZWSGA-CECL-TCRING:TRG-AUTO-PERIOD": 4000,
+ "ZWSGA-CECL-TCRING:TRG-SW-INHIBIT-ENA": 1,
+ "ZWSGA-CECL-TCRING:ADC-CH-OFFSET": 4
+ }
+ },
"HIPA": ["Injector", "Ring"],
"HIPA2": {"test": ["Injector", "Ring"]},
"QTabAccelerator":{
@@ -41,24 +56,28 @@
"deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns):", "value": 6.9 }},
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": 4 }},
"freqmod" : {"data":{ "widget": "QLineRead", "text" :"Mod. Freq (GHz):", "value" : 500}},
- "dutycycle" : {"data":{ "widget": "QLineRead", "text" :"Duty Cycle (%):", "value" : 1}}
+ "dutycycle" : {"data":{ "widget": "QLineRead", "text" :"Duty Cycle (%):", "value" : 1}}
+
},
"Cyclotron": {
"harmonic" : {"data":{ "widget": "QLineRead", "text" :"Harmonic No: ", "value" : 6}},
"deltaTcable" : {"data":{ "widget": "QLineRead", "text" : "dT Cable (ns):", "value": 44 }},
"deltaNpickup" : {"data":{ "widget": "QLineEdit", "text" : "dN Pickup:", "value": -1 }}
+
}
},
"QTabSignalPeakSearch":{
- "Injector": {
+ " Injector ": {
"peakHeight": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak height:", "value" : 50 }},
"peakDistance": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak distance: ", "value" : 10 }},
- "correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01}}
+ "correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01}},
+ "minimumCurrent": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Inj2 I_min (mA):", "value" : "1.00"}}
},
- "Cyclotron": {
+ " Cyclotron ": {
"peakHeight": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak height:", "value" : 50 }},
"peakDistance": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min peak distance: ", "value" : 10 }},
- "correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01 }}
+ "correlationPeakDifference": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Min dcorr(peak1-peak2):", "value" : 0.01 }},
+ "minimumCurrent": {"flag": 1, "data":{ "widget": "QLineEdit", "text" :"Inj2 I_min (mA):", "value" : "1.00"}}
}
},
@@ -68,16 +87,15 @@
"freqsampling" : {"flag": 1, "data":{ "widget": "QLineRead", "text" :"Sampling Freq (GHz):", "value" : 3.0 }},
"drawLine" : {"flag" : 1, "data":{ "widget": "QHLine", "text" : "None", "value" : "None"}},
-
"accelerator" : {"flag" : 1, "data":{ "widget": "QTabWidget", "text" : "Accelerator: ",
"link" : "QTabAccelerator", "value" : 1,
- "color" : ["#008b8b", "#0047ab" ]}}
+ "color" : ["#008b8b", "#0047ab" ]}}
},
"Expert":{
- "signalPeakSearch" : {"flag" : 1, "data":{ "widget": "QStackedWidget", "text" : "Accelerator: ",
+ "signalPeakSearch" : {"flag" : 0, "data":{ "widget": "QStackedWidget", "text" : "Accelerator: ",
"link" : "QTabSignalPeakSearch", "value" : 1,
- "color" : ["#008b8b", "#0047ab" ]}},
+ "color" : ["#008b8b", "#0047ab" ]}},
"debug": {"flag" : 1, "data":{ "widget": "None", "text" : "Debug", "value" : 0}},
"simulation": {"flag" : 1, "data":{ "widget": "None", "text" : "Oscilloscope", "value" : 0}}
},
diff --git a/tina.py b/tina.py
index edece6a..5b474a2 100644
--- a/tina.py
+++ b/tina.py
@@ -38,8 +38,8 @@ class StartMain(BaseWindow):
Attributes:
appname: tina.py
- source_file: full pathname for inclusion into HDF.
- elog_enum: enumerated datatypes for elog attributes.
+ source_file: full pathname for inclusion into HDF.
+ elog_enum: enumerated datatypes for elog attributes.
message_elog: string to hold the elogbook message.
self.default_idx: int to indicate default accelerator.
self.accelerator: str to indicate default accelerator.
@@ -48,25 +48,32 @@ class StartMain(BaseWindow):
ring_cyclotron = 'Cyclotron'
injector_2 = 'Injector'
accelerator_list = [injector_2, ring_cyclotron]
-
+
def __init__(self, parent=None):
- '''Initialize class attrinbutes and instantiate GUI.'''
+ '''Initialize class attrinbutes and instantiate GUI.'''
super().__init__(
parent=parent, pymodule=_pymodule, appversion=_appversion,
title=_title, user_mode=UserMode.OPERATION, facility=Facility.HIPA,
- has_optics=False, has_procedure=True)
+ has_optics=False, has_procedure='VerticalExpert')
self.appname = _appname
- self.source_file = _abspath
+ self.source_file = _abspath
self.elog_enum = ElogHIPA()
self.message_elog = None
self.default_idx = self.settings.data['Parameters']['accelerator'][
'data']['value']
self.accelerator = self.ring_cyclotron if self.default_idx else \
self.injector_2
+ self.accelerator_peak_search = ' ' + self.accelerator + ' '
# self.from_hdf = False in base class
self.message = ''
-
+ self.init_pv_dict = self.settings.data['Init'][self.accelerator]
+ self.init_pv_list = list(self.init_pv_dict.keys())
+ self.init_pv_values = list(self.init_pv_dict.values())
+ if self.is_front_end_initialized(init=False):
+ mess = 'FEE Initialized'
+ self.trigger_log_message.emit(
+ MsgSeverity.INFO.name, _pymodule, utils.line_no(), mess, {})
AppGui(self)
def prepare_results_message(self):
@@ -102,7 +109,7 @@ class StartMain(BaseWindow):
'''No. turns measured in the {0} = {1:0.0f} ({2:.2f}) lag = {3}, delay = {4:.3f} \u00B5s '''.format( self.accelerator, (self.no_turns), self.no_turns, - lag_full, delay*10**6)) + lag_full, delay * 10**6)) self.message = ( mess + @@ -110,7 +117,7 @@ class StartMain(BaseWindow): No. turns measured in the {0} = {1:0.0f} ({2:.2f}) lag = {3}, delay = {4:.3f} \u00B5s'''.format( self.accelerator, self.no_turns, self.no_turns, - lag_full, delay*10**6)) + lag_full, delay * 10**6)) def prepare_elog_message(self): '''Define elog parameters and define message @@ -139,11 +146,63 @@ class StartMain(BaseWindow): self.logbook = 'Sandkasten' if simulation else 'HIPA' self.title = _title + def is_front_end_initialized(self, init: bool = True): + '''Initialized Front End Electonics if required + ''' + value_list, status, status_list = self.cafe.getScalarList( + self.init_pv_list, dt='int') + + if status != self.cyca.ICAFE_NORMAL: + self.check_status_list( + _pymodule, 'getScalarList', self.init_pv_list, status_list, + utils.line_no()) + + if value_list != self.init_pv_values and not init: + return False + + def is_simulation(): + if self.all_data: + if self.all_data['Input data'] is not None: + try: + simulation = self.all_data['Input data']['simulation'] + except KeyError: + simulation = self.input_parameters['simulation'] + pass + else: + simulation = self.input_parameters['simulation'] + return simulation + + if value_list != self.init_pv_values: + for val, val_init, pv in zip(value_list, self.init_pv_values, + self.init_pv_list): + if val != val_init: + if not is_simulation(): + status = self.cafe.set(pv, val_init) + if status != self.cyca.ICAFE_NORMAL: + self.check_status(_pymodule, 'set', pv, status, + utils.line_no()) + time.sleep(0.02) + + value_list, status, status_list = self.cafe.getScalarList( + self.init_pv_list, dt='int') + if status != self.cyca.ICAFE_NORMAL: + self.check_status_list( + _pymodule, 'getScalarList', self.init_pv_list, status_list, + utils.line_no()) + + if value_list != self.init_pv_values: + return False + return True + def verify_analysis_preconditions(self): '''Verify machine is setup for measurement procedure- - Check machine current is above threshold (1 mA) + Check machine current is above threshold (0.001 mA is default) + Check that that the front-end electronics are initialized ''' - if self.injector_2 in self.input_parameters['accelerator']: + + accelerator = self.input_parameters['accelerator'] + + if self.injector_2 in accelerator: mess = ('Measurement procedure for Injector 2 \n' + 'has not yet been implementented.') QMessageBox.information(self, 'Injector 2', mess, QMessageBox.Ok) @@ -154,7 +213,8 @@ class StartMain(BaseWindow): if self.input_parameters['simulation']: return True - #return True + I_min = float(self.input_parameters[self.accelerator_peak_search][ + 'minimumCurrent']) injector_current = self.cafe.getCache('MWC2:IST:2') if not injector_current: @@ -166,14 +226,14 @@ class StartMain(BaseWindow): QMessageBox.information(self, 'Cyclotron', mess, QMessageBox.Ok) QApplication.processEvents() return False - elif injector_current < 0.001: - mess = ('Injector 2 current is below threshold.\n' + - 'Measurement cannot be untertaken at the present time.') + elif injector_current <= I_min: + mess = (f'Injector 2 current is below threshold {I_min} mA.\n' + + f'Measurement cannot be untertaken at the present time.') QMessageBox.information(self, 'Cyclotron', mess, QMessageBox.Ok) QApplication.processEvents() return False - return True + return self.is_front_end_initialized(init=True) @Slot() def analysis_thread_finished(self): @@ -182,8 +242,12 @@ class StartMain(BaseWindow): BaseWindow.analysis_thread_finished(self) if self.all_data is not None: try: - if self.all_data['Figure data'] is not None: - self.gui_frame.central_tab_widget.setCurrentIndex(1) + try: + if self.all_data['Figure data'] is not None: + self.gui_frame.central_tab_widget.setCurrentIndex(1) + except AttributeError: + print('No analysis performed') + return except KeyError: print('No analysis performed') return @@ -192,11 +256,17 @@ class StartMain(BaseWindow): ncanvas = len(self.settings.data['GUI']['subResultsTabTitle']) dict_fig = {} dict_fig['Figure data'] = {} + print('canvas', ncanvas, flush=True) for i in range(0, ncanvas): canvas = f'Canvas {i+1}' dict_fig['Figure data'][canvas] = None # Delete old figures - self.gui.gui_frame.canvas_update(dict_fig['Figure data']) + try: + self.gui_frame.canvas_update(dict_fig['Figure data']) + except AttributeError as ex: + print('AttributeError', ex, flush=True) + pass + print('Thread finished with no data', flush=True) return self.prepare_results_message() @@ -205,7 +275,7 @@ class StartMain(BaseWindow): @Slot() def hdf_thread_finished(self): - '''If hdf analysis completed successfuly, prepare results + '''If hdf analysis completed successfuly, prepare results message. ''' BaseWindow.hdf_thread_finished(self) @@ -251,7 +321,7 @@ class StartMain(BaseWindow): time.sleep(0.05) # Wait a tick return True - def add_to_hdf(self, dataH5, proc=True, raw=False): + def add_to_hdf(self, data_H5, proc=True, raw=False): '''User supplied hdf data ''' if self.all_data is not None: @@ -265,8 +335,9 @@ class StartMain(BaseWindow): 'Processed data'] all_data['Raw data']['Raw_data'] = self.all_data[ 'Raw data'] + h5_storage.saveH5Recursive( - self.hdf_filename, all_data['Raw data'], dataH5) + self.hdf_filename, all_data['Raw data'], data_H5) @Slot() def send_to_elog(self): @@ -393,7 +464,8 @@ class StartMain(BaseWindow): """{0} v {1} Copyright © Paul Scherrer Institut (PSI). All rights reserved. -Authors: P.-A. Duperrex, J. Chrin, A. Facchetti, W. Koprek, +Authors: P.-A. Duperrex, J. Chrin, A. Facchetti, D. Felici, + W. Koprek, A python implementation of the LabVIEW measurement developed
by P.-A. Duperrex |