Change code to make eric compatible to PyQt 5.5 (QByteArry issue).

Wed, 22 Jul 2015 19:45:39 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 22 Jul 2015 19:45:39 +0200
changeset 4326
e52318f11812
parent 4325
3e6dd786a5ff
child 4327
ff666d8230f7

Change code to make eric compatible to PyQt 5.5 (QByteArry issue).

E5Network/E5SslCertificatesInfoWidget.py file | annotate | diff | comparison | revisions
E5Network/E5XmlRpcClient.py file | annotate | diff | comparison | revisions
Helpviewer/AdBlock/AdBlockNetwork.py file | annotate | diff | comparison | revisions
Helpviewer/AdBlock/AdBlockRule.py file | annotate | diff | comparison | revisions
Helpviewer/AdBlock/AdBlockSubscription.py file | annotate | diff | comparison | revisions
Helpviewer/CookieJar/CookieJar.py file | annotate | diff | comparison | revisions
Helpviewer/Download/DownloadItem.py file | annotate | diff | comparison | revisions
Helpviewer/GreaseMonkey/GreaseMonkeyManager.py file | annotate | diff | comparison | revisions
Helpviewer/HelpBrowserWV.py file | annotate | diff | comparison | revisions
Helpviewer/HelpLanguagesDialog.py file | annotate | diff | comparison | revisions
Helpviewer/HelpTabWidget.py file | annotate | diff | comparison | revisions
Helpviewer/HelpUtilities.py file | annotate | diff | comparison | revisions
Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
Helpviewer/Network/EricAccessHandler.py file | annotate | diff | comparison | revisions
Helpviewer/Network/NetworkAccessManager.py file | annotate | diff | comparison | revisions
Helpviewer/OpenSearch/OpenSearchEngine.py file | annotate | diff | comparison | revisions
Helpviewer/Passwords/PasswordManager.py file | annotate | diff | comparison | revisions
Helpviewer/VirusTotalApi.py file | annotate | diff | comparison | revisions
Helpviewer/data/html/startPage.html file | annotate | diff | comparison | revisions
Helpviewer/data/html_rc.py file | annotate | diff | comparison | revisions
--- a/E5Network/E5SslCertificatesInfoWidget.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/E5Network/E5SslCertificatesInfoWidget.py	Wed Jul 22 19:45:39 2015 +0200
@@ -173,7 +173,7 @@
         if serial == "":
             return self.tr("<not part of the certificate>")
         
-        if ':' in serial:
+        if b':' in serial:
             return str(serial, encoding="ascii").upper()
         else:
             hexString = hex(int(serial))[2:]
--- a/E5Network/E5XmlRpcClient.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/E5Network/E5XmlRpcClient.py	Wed Jul 22 19:45:39 2015 +0200
@@ -50,7 +50,7 @@
         self.__callmap = {}
         
         self.__request = QNetworkRequest(QUrl(url))
-        self.__request.setRawHeader("User-Agent", "E5XmlRpcClient/1.0")
+        self.__request.setRawHeader(b"User-Agent", b"E5XmlRpcClient/1.0")
         self.__request.setHeader(QNetworkRequest.ContentTypeHeader, "text/xml")
     
     def setUrl(self, url):
--- a/Helpviewer/AdBlock/AdBlockNetwork.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/AdBlock/AdBlockNetwork.py	Wed Jul 22 19:45:39 2015 +0200
@@ -30,7 +30,7 @@
         urlString = bytes(url.toEncoded()).decode()
         urlDomain = url.host()
         urlScheme = url.scheme()
-        refererHost = QUrl.fromEncoded(request.rawHeader("Referer")).host()
+        refererHost = QUrl.fromEncoded(request.rawHeader(b"Referer")).host()
         
         import Helpviewer.HelpWindow
         manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager()
--- a/Helpviewer/AdBlock/AdBlockRule.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/AdBlock/AdBlockRule.py	Wed Jul 22 19:45:39 2015 +0200
@@ -423,7 +423,7 @@
         @param req request object to check (QNetworkRequest)
         @return flag indicating a match (boolean)
         """
-        match = req.rawHeader("X-Request-With") == "XMLHttpRequest"
+        match = req.rawHeader(b"X-Request-With") == "XMLHttpRequest"
         
         if self.__xmlhttprequestException:
             return not match
--- a/Helpviewer/AdBlock/AdBlockSubscription.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/AdBlock/AdBlockSubscription.py	Wed Jul 22 19:45:39 2015 +0200
@@ -118,7 +118,7 @@
             urlQuery = QUrlQuery(url)
             self.__title = urlQuery.queryItemValue("title")
             self.__enabled = urlQuery.queryItemValue("enabled") != "false"
-            self.__location = QByteArray(urlQuery.queryItemValue("location"))
+            self.__location = QByteArray(urlQuery.queryItemValue("location").encode())
             
             # Check for required subscription
             self.__requiresLocation = urlQuery.queryItemValue(
--- a/Helpviewer/CookieJar/CookieJar.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/CookieJar/CookieJar.py	Wed Jul 22 19:45:39 2015 +0200
@@ -261,7 +261,7 @@
             for cookie in cookieList:
                 lst = []
                 if not (self.__filterTrackingCookies and
-                        cookie.name().startsWith("__utm")):
+                        cookie.name().startsWith(b"__utm")):
                     if eAllowSession:
                         cookie.setExpirationDate(QDateTime())
                     if self.__keepCookies == self.KeepUntilTimeLimit and \
--- a/Helpviewer/Download/DownloadItem.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/Download/DownloadItem.py	Wed Jul 22 19:45:39 2015 +0200
@@ -270,27 +270,11 @@
         @param directory name of the directory to store the file into (string)
         @return proposed filename and original filename (string, string)
         """
-##        path = ""
-##        if self.__reply.hasRawHeader("Content-Disposition"):
-##            header = bytes(self.__reply.rawHeader("Content-Disposition"))\
-##                .decode()
-##            if header:
-##                pos = header.find("filename=")
-##                if pos != -1:
-##                    path = header[pos + 9:]
-##                    if path.startswith('"') and path.endswith('"'):
-##                        path = path[1:-1]
-##        if not path:
-##            path = self.__url.path()
-##        
         path = parseContentDisposition(self.__reply)
         info = QFileInfo(path)
         baseName = info.completeBaseName()
         endName = info.suffix()
         
-##        if not baseName:
-##            baseName = "unnamed_download"
-##        
         origName = baseName
         if endName:
             origName += '.' + endName
--- a/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/GreaseMonkey/GreaseMonkeyManager.py	Wed Jul 22 19:45:39 2015 +0200
@@ -303,7 +303,7 @@
         @return reference to the created reply object (QNetworkReply)
         """
         if op == QNetworkAccessManager.GetOperation and \
-           request.rawHeader("X-Eric6-UserLoadAction") == QByteArray("1"):
+           request.rawHeader(b"X-Eric6-UserLoadAction") == QByteArray(b"1"):
             urlString = request.url().toString(
                 QUrl.RemoveFragment | QUrl.RemoveQuery)
             if urlString.endswith(".user.js"):
--- a/Helpviewer/HelpBrowserWV.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/HelpBrowserWV.py	Wed Jul 22 19:45:39 2015 +0200
@@ -238,8 +238,8 @@
                                      self.__lastRequestType)
                 if self.__lastRequestType == \
                         QWebPage.NavigationTypeLinkClicked:
-                    request.setRawHeader("X-Eric6-UserLoadAction",
-                                         QByteArray("1"))
+                    request.setRawHeader(b"X-Eric6-UserLoadAction",
+                                         QByteArray(b"1"))
         except TypeError:
             pass
     
--- a/Helpviewer/HelpLanguagesDialog.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/HelpLanguagesDialog.py	Wed Jul 22 19:45:39 2015 +0200
@@ -143,7 +143,7 @@
             if qvalue > 0.1:
                 qvalue -= 0.1
         
-        return QByteArray(", ".join(processed))
+        return QByteArray(", ".join(processed).encode())
     
     @classmethod
     def defaultAcceptLanguages(cls):
--- a/Helpviewer/HelpTabWidget.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/HelpTabWidget.py	Wed Jul 22 19:45:39 2015 +0200
@@ -249,7 +249,7 @@
             return
         
         req = QNetworkRequest(self.widget(idx).url())
-        req.setRawHeader("X-Eric6-UserLoadAction", b"1")
+        req.setRawHeader(b"X-Eric6-UserLoadAction", b"1")
         self.newBrowser(None, (req, QNetworkAccessManager.GetOperation, b""))
     
     def __tabContextMenuClose(self):
@@ -869,7 +869,7 @@
         edit = self.sender()
         url = self.__guessUrlFromPath(edit.text())
         request = QNetworkRequest(url)
-        request.setRawHeader("X-Eric6-UserLoadAction", b"1")
+        request.setRawHeader(b"X-Eric6-UserLoadAction", b"1")
         if e5App().keyboardModifiers() == Qt.AltModifier:
             self.newBrowser(
                 None, (request, QNetworkAccessManager.GetOperation, b""))
--- a/Helpviewer/HelpUtilities.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/HelpUtilities.py	Wed Jul 22 19:45:39 2015 +0200
@@ -93,10 +93,10 @@
     """
     path = ""
     # step 1: check the content disposition header for a file name
-    if reply.hasRawHeader("Content-Disposition"):
+    if reply.hasRawHeader(b"Content-Disposition"):
         from E5Network.E5RFC6266 import parse_headers
         contentDisposition = parse_headers(
-            bytes(reply.rawHeader("Content-Disposition")))
+            bytes(reply.rawHeader(b"Content-Disposition")))
         path = contentDisposition.filename()
     # step 2: get file name from URL
     if not path:
--- a/Helpviewer/HelpWindow.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/HelpWindow.py	Wed Jul 22 19:45:39 2015 +0200
@@ -2634,7 +2634,7 @@
         if not self.__activating:
             self.__activating = True
             req = QNetworkRequest(url)
-            req.setRawHeader("X-Eric6-UserLoadAction", b"1")
+            req.setRawHeader(b"X-Eric6-UserLoadAction", b"1")
             self.currentBrowser().setSource(
                 None, (req, QNetworkAccessManager.GetOperation, b""))
             self.__activating = False
@@ -3209,7 +3209,7 @@
         @param title title of the bookmark (string)
         """
         req = QNetworkRequest(url)
-        req.setRawHeader("X-Eric6-UserLoadAction", b"1")
+        req.setRawHeader(b"X-Eric6-UserLoadAction", b"1")
         self.newTab(None, (req, QNetworkAccessManager.GetOperation, b""))
         
     @classmethod
@@ -3684,7 +3684,7 @@
             except IOError:
                 pass
         
-        encodedStyle = bytes(QByteArray(userStyle).toBase64()).decode()
+        encodedStyle = bytes(QByteArray(userStyle.encode()).toBase64()).decode()
         dataString = "data:text/css;charset=utf-8;base64,{0}".format(
             encodedStyle)
         
--- a/Helpviewer/Network/EricAccessHandler.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/Network/EricAccessHandler.py	Wed Jul 22 19:45:39 2015 +0200
@@ -58,8 +58,8 @@
             htmlFile.open(QFile.ReadOnly)
             html = htmlFile.readAll()
             
-            html.replace("@IMAGE@", "qrc:icons/ericWeb32.png")
-            html.replace("@FAVICON@", "qrc:icons/ericWeb16.png")
+            html.replace("@IMAGE@", b"qrc:icons/ericWeb32.png")
+            html.replace("@FAVICON@", b"qrc:icons/ericWeb16.png")
             
             self._homePage = html
         
@@ -113,11 +113,11 @@
             self._speedDialPage = Utilities.html_uencode(html)
         
         import Helpviewer.HelpWindow
-        html = QByteArray(self._speedDialPage)
+        html = QByteArray(self._speedDialPage.encode())
         dial = Helpviewer.HelpWindow.HelpWindow.speedDial()
         
-        html.replace("@INITIAL-SCRIPT@", dial.initialScript())
-        html.replace("@ROW-PAGES@", str(dial.pagesInRow()))
-        html.replace("@SD-SIZE@", str(dial.sdSize()))
+        html.replace("@INITIAL-SCRIPT@", dial.initialScript().encode())
+        html.replace("@ROW-PAGES@", str(dial.pagesInRow()).encode())
+        html.replace("@SD-SIZE@", str(dial.sdSize()).encode())
         
         return html
--- a/Helpviewer/Network/NetworkAccessManager.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/Network/NetworkAccessManager.py	Wed Jul 22 19:45:39 2015 +0200
@@ -141,18 +141,18 @@
             return reply
         
         req = QNetworkRequest(request)
-        if req.rawHeader("X-Eric6-UserLoadAction") == QByteArray("1"):
-            req.setRawHeader("X-Eric6-UserLoadAction", QByteArray())
+        if req.rawHeader(b"X-Eric6-UserLoadAction") == QByteArray(b"1"):
+            req.setRawHeader(b"X-Eric6-UserLoadAction", QByteArray())
             req.setAttribute(QNetworkRequest.User + 200, "")
         else:
             req.setAttribute(
-                QNetworkRequest.User + 200, req.rawHeader("Referer"))
+                QNetworkRequest.User + 200, req.rawHeader(b"Referer"))
         
         if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'):
             req.setAttribute(
                 QNetworkRequest.HttpPipeliningAllowedAttribute, True)
         if not self.__acceptLanguage.isEmpty():
-            req.setRawHeader("Accept-Language", self.__acceptLanguage)
+            req.setRawHeader(b"Accept-Language", self.__acceptLanguage)
         
         # AdBlock code
         if op == QNetworkAccessManager.GetOperation:
@@ -184,13 +184,13 @@
         
         # Do Not Track feature
         if self.__doNotTrack:
-            req.setRawHeader("DNT", "1")
-            req.setRawHeader("X-Do-Not-Track", "1")
+            req.setRawHeader(b"DNT", b"1")
+            req.setRawHeader(b"X-Do-Not-Track", b"1")
         
         # Send referer header?
         if not self.__sendReferer and \
            req.url().host() not in Preferences.getHelp("SendRefererWhitelist"):
-            req.setRawHeader("Referer", "")
+            req.setRawHeader(b"Referer", "")
         
         reply = QNetworkAccessManager.createRequest(
             self, op, req, outgoingData)
--- a/Helpviewer/OpenSearch/OpenSearchEngine.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/OpenSearch/OpenSearchEngine.py	Wed Jul 22 19:45:39 2015 +0200
@@ -151,7 +151,7 @@
             return QUrl()
         
         ret = QUrl.fromEncoded(
-            self.parseTemplate(searchTerm, self._searchUrlTemplate))
+            self.parseTemplate(searchTerm, self._searchUrlTemplate).encode())
         
         if self.__searchMethod != "post":
             if qVersion() >= "5.0.0":
@@ -337,7 +337,7 @@
             return
         
         reply = self.__networkAccessManager.get(
-            QNetworkRequest(QUrl.fromEncoded(self._imageUrl)))
+            QNetworkRequest(QUrl.fromEncoded(self._imageUrl.encode())))
         reply.finished.connect(self.__imageObtained)
         self.__replies.append(reply)
     
@@ -359,7 +359,7 @@
         if response.isEmpty():
             return
         
-        if response.startsWith("<html>") or response.startsWith("HTML"):
+        if response.startsWith(b"<html>") or response.startsWith(b"HTML"):
             self.__iconMoved = True
             self.__image = QImage()
         else:
--- a/Helpviewer/Passwords/PasswordManager.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/Passwords/PasswordManager.py	Wed Jul 22 19:45:39 2015 +0200
@@ -343,7 +343,7 @@
             self.__load()
         
         # determine the url
-        refererHeader = request.rawHeader("Referer")
+        refererHeader = request.rawHeader(b"Referer")
         if refererHeader.isEmpty():
             return
         url = QUrl.fromEncoded(refererHeader)
@@ -366,7 +366,7 @@
             return
         
         # determine the requests content type
-        contentTypeHeader = request.rawHeader("Content-Type")
+        contentTypeHeader = request.rawHeader(b"Content-Type")
         if contentTypeHeader.isEmpty():
             return
         multipart = contentTypeHeader.startsWith("multipart/form-data")
--- a/Helpviewer/VirusTotalApi.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/VirusTotalApi.py	Wed Jul 22 19:45:39 2015 +0200
@@ -112,7 +112,7 @@
         request.setHeader(QNetworkRequest.ContentTypeHeader,
                           "application/x-www-form-urlencoded")
         params = QByteArray("key={0}&resource={1}".format(
-            key, self.TestServiceKeyScanID))
+            key, self.TestServiceKeyScanID).encode())
         
         import Helpviewer.HelpWindow
         nam = Helpviewer.HelpWindow.HelpWindow.networkAccessManager()
@@ -148,7 +148,7 @@
         request.setHeader(QNetworkRequest.ContentTypeHeader,
                           "application/x-www-form-urlencoded")
         params = QByteArray("key={0}&url=".format(
-            Preferences.getHelp("VirusTotalServiceKey")))\
+            Preferences.getHelp("VirusTotalServiceKey")).encode())\
             .append(QUrl.toPercentEncoding(url.toString()))
         
         import Helpviewer.HelpWindow
@@ -184,7 +184,7 @@
         request.setHeader(QNetworkRequest.ContentTypeHeader,
                           "application/x-www-form-urlencoded")
         params = QByteArray("key={0}&resource={1}".format(
-            Preferences.getHelp("VirusTotalServiceKey"), scanId))
+            Preferences.getHelp("VirusTotalServiceKey"), scanId).encode())
         
         import Helpviewer.HelpWindow
         nam = Helpviewer.HelpWindow.HelpWindow.networkAccessManager()
@@ -219,6 +219,6 @@
         request.setHeader(QNetworkRequest.ContentTypeHeader,
                           "application/x-www-form-urlencoded")
         op = QNetworkAccessManager.PostOperation
-        params = QByteArray("chain=").append(QUrl.toPercentEncoding(term))
+        params = QByteArray(b"chain=").append(QUrl.toPercentEncoding(term))
         
         return (request, op, params)
--- a/Helpviewer/data/html/startPage.html	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/data/html/startPage.html	Wed Jul 22 19:45:39 2015 +0200
@@ -82,12 +82,12 @@
     <script type="text/javascript">
         function update()
         {
-            document.title = window.eric.translate('Welcome to eric5 Web Browser!');
-            document.getElementById('headerTitle').innerHTML = window.eric.translate('eric5 Web Browser');
+            document.title = window.eric.translate('Welcome to eric6 Web Browser!');
+            document.getElementById('headerTitle').innerHTML = window.eric.translate('eric6 Web Browser');
             document.getElementById('searchButton').value = window.eric.translate('Search!');
             document.getElementById('footer').innerHTML = window.eric.providerString()
                                                           + ' | ' + '<a href="http://eric-ide.python-projects.org/">'
-                                                          + window.eric.translate('About eric5') + '</a>';
+                                                          + window.eric.translate('About eric6') + '</a>';
             document.getElementById('lineEdit').placeholder = window.eric.providerString();
 
             // Try to change the direction of the page:
--- a/Helpviewer/data/html_rc.py	Sun Jul 19 18:39:55 2015 +0200
+++ b/Helpviewer/data/html_rc.py	Wed Jul 22 19:45:39 2015 +0200
@@ -2,14 +2,223 @@
 
 # Resource object code
 #
-# Created: Sa. Sep. 20 16:16:54 2014
-#      by: The Resource Compiler for PyQt (Qt v5.3.1)
+# Created by: The Resource Compiler for PyQt5 (Qt v5.5.0)
 #
 # WARNING! All changes made in this file will be lost!
 
 from PyQt5 import QtCore
 
 qt_resource_data = b"\
+\x00\x00\x0c\xfe\
+\x3c\
+\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x68\x74\x6d\x6c\x3e\x0a\x3c\
+\x68\x74\x6d\x6c\x3e\x0a\x3c\x68\x65\x61\x64\x3e\x0a\x3c\x6d\x65\
+\x74\x61\x20\x63\x68\x61\x72\x73\x65\x74\x3d\x22\x75\x74\x66\x2d\
+\x38\x22\x3e\x20\x0a\x3c\x6d\x65\x74\x61\x20\x68\x74\x74\x70\x2d\
+\x65\x71\x75\x69\x76\x3d\x22\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\
+\x79\x70\x65\x22\x20\x63\x6f\x6e\x74\x65\x6e\x74\x3d\x22\x74\x65\
+\x78\x74\x2f\x68\x74\x6d\x6c\x3b\x20\x63\x68\x61\x72\x73\x65\x74\
+\x3d\x75\x74\x66\x2d\x38\x22\x3e\x0a\x3c\x74\x69\x74\x6c\x65\x3e\
+\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x0a\x3c\x6c\x69\x6e\x6b\x20\x72\
+\x65\x6c\x3d\x22\x69\x63\x6f\x6e\x22\x20\x68\x72\x65\x66\x3d\x22\
+\x40\x46\x41\x56\x49\x43\x4f\x4e\x40\x22\x20\x74\x79\x70\x65\x3d\
+\x22\x69\x6d\x61\x67\x65\x2f\x78\x2d\x69\x63\x6f\x6e\x22\x20\x2f\
+\x3e\x0a\x3c\x73\x74\x79\x6c\x65\x3e\x0a\x2a\x20\x7b\x0a\x20\x20\
+\x20\x20\x6d\x61\x72\x67\x69\x6e\x3a\x20\x30\x3b\x0a\x20\x20\x20\
+\x20\x70\x61\x64\x64\x69\x6e\x67\x3a\x20\x30\x3b\x0a\x20\x20\x20\
+\x20\x66\x6f\x6e\x74\x2d\x66\x61\x6d\x69\x6c\x79\x3a\x20\x22\x44\
+\x65\x6a\x61\x56\x75\x20\x53\x61\x6e\x73\x22\x3b\x0a\x7d\x0a\x0a\
+\x62\x6f\x64\x79\x20\x7b\x0a\x20\x20\x20\x20\x62\x61\x63\x6b\x67\
+\x72\x6f\x75\x6e\x64\x3a\x20\x2d\x77\x65\x62\x6b\x69\x74\x2d\x67\
+\x72\x61\x64\x69\x65\x6e\x74\x28\x6c\x69\x6e\x65\x61\x72\x2c\x20\
+\x6c\x65\x66\x74\x20\x74\x6f\x70\x2c\x20\x6c\x65\x66\x74\x20\x62\
+\x6f\x74\x74\x6f\x6d\x2c\x20\x66\x72\x6f\x6d\x28\x23\x38\x35\x37\
+\x38\x34\x41\x29\x2c\x20\x74\x6f\x28\x23\x46\x44\x46\x44\x46\x44\
+\x29\x2c\x20\x63\x6f\x6c\x6f\x72\x2d\x73\x74\x6f\x70\x28\x30\x2e\
+\x35\x2c\x20\x23\x46\x44\x46\x44\x46\x44\x29\x29\x3b\x0a\x20\x20\
+\x20\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x2d\x72\x65\x70\
+\x65\x61\x74\x3a\x20\x72\x65\x70\x65\x61\x74\x2d\x78\x3b\x0a\x20\
+\x20\x20\x20\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\x3a\x20\x32\
+\x30\x30\x70\x78\x3b\x0a\x7d\x0a\x0a\x23\x68\x65\x61\x64\x65\x72\
+\x2c\x20\x23\x73\x65\x61\x72\x63\x68\x2c\x20\x23\x66\x6f\x6f\x74\
+\x65\x72\x20\x7b\x0a\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3a\x20\
+\x36\x30\x30\x70\x78\x3b\x0a\x20\x20\x20\x20\x6d\x61\x72\x67\x69\
+\x6e\x3a\x20\x31\x30\x70\x78\x20\x61\x75\x74\x6f\x3b\x0a\x7d\x0a\
+\x0a\x23\x68\x65\x61\x64\x65\x72\x2c\x20\x23\x73\x65\x61\x72\x63\
+\x68\x20\x7b\x0a\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x2d\x72\
+\x61\x64\x69\x75\x73\x3a\x20\x30\x2e\x38\x65\x6d\x3b\x0a\x20\x20\
+\x20\x20\x70\x61\x64\x64\x69\x6e\x67\x3a\x20\x32\x35\x70\x78\x3b\
+\x0a\x7d\x0a\x0a\x23\x68\x65\x61\x64\x65\x72\x20\x7b\x0a\x20\x20\
+\x20\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x20\x2d\x77\
+\x65\x62\x6b\x69\x74\x2d\x67\x72\x61\x64\x69\x65\x6e\x74\x28\x6c\
+\x69\x6e\x65\x61\x72\x2c\x20\x6c\x65\x66\x74\x20\x74\x6f\x70\x2c\
+\x20\x6c\x65\x66\x74\x20\x62\x6f\x74\x74\x6f\x6d\x2c\x20\x66\x72\
+\x6f\x6d\x28\x23\x44\x35\x37\x45\x33\x45\x29\x2c\x20\x74\x6f\x28\
+\x23\x44\x35\x37\x45\x33\x45\x29\x2c\x20\x63\x6f\x6c\x6f\x72\x2d\
+\x73\x74\x6f\x70\x28\x30\x2e\x35\x2c\x20\x23\x46\x46\x42\x41\x38\
+\x39\x29\x29\x3b\x0a\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3a\
+\x20\x32\x35\x70\x78\x3b\x0a\x7d\x0a\x0a\x23\x68\x65\x61\x64\x65\
+\x72\x20\x68\x31\x20\x7b\x0a\x20\x20\x20\x20\x64\x69\x73\x70\x6c\
+\x61\x79\x3a\x20\x69\x6e\x6c\x69\x6e\x65\x3b\x0a\x20\x20\x20\x20\
+\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\x20\x31\x2e\x37\x65\x6d\
+\x3b\x0a\x20\x20\x20\x20\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\
+\x74\x3a\x20\x62\x6f\x6c\x64\x3b\x0a\x7d\x0a\x0a\x23\x68\x65\x61\
+\x64\x65\x72\x20\x69\x6d\x67\x20\x7b\x0a\x20\x20\x20\x20\x64\x69\
+\x73\x70\x6c\x61\x79\x3a\x20\x69\x6e\x6c\x69\x6e\x65\x3b\x0a\x20\
+\x20\x20\x20\x66\x6c\x6f\x61\x74\x3a\x20\x72\x69\x67\x68\x74\x3b\
+\x0a\x20\x20\x20\x20\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\x3a\
+\x20\x2d\x35\x70\x78\x3b\x0a\x7d\x0a\x0a\x23\x73\x65\x61\x72\x63\
+\x68\x20\x7b\x0a\x20\x20\x20\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\
+\x6e\x64\x3a\x20\x2d\x77\x65\x62\x6b\x69\x74\x2d\x67\x72\x61\x64\
+\x69\x65\x6e\x74\x28\x6c\x69\x6e\x65\x61\x72\x2c\x20\x6c\x65\x66\
+\x74\x20\x74\x6f\x70\x2c\x20\x72\x69\x67\x68\x74\x20\x74\x6f\x70\
+\x2c\x20\x66\x72\x6f\x6d\x28\x23\x38\x35\x37\x38\x34\x41\x29\x2c\
+\x20\x74\x6f\x28\x23\x38\x35\x37\x38\x34\x41\x29\x2c\x20\x63\x6f\
+\x6c\x6f\x72\x2d\x73\x74\x6f\x70\x28\x30\x2e\x35\x2c\x20\x23\x43\
+\x38\x43\x32\x41\x45\x29\x29\x3b\x0a\x20\x20\x20\x20\x68\x65\x69\
+\x67\x68\x74\x3a\x20\x35\x30\x70\x78\x3b\x0a\x20\x20\x20\x20\x63\
+\x6f\x6c\x6f\x72\x3a\x20\x23\x30\x30\x30\x3b\x0a\x20\x20\x20\x20\
+\x74\x65\x78\x74\x2d\x61\x6c\x69\x67\x6e\x3a\x20\x63\x65\x6e\x74\
+\x65\x72\x3b\x0a\x20\x20\x20\x20\x70\x61\x64\x64\x69\x6e\x67\x2d\
+\x74\x6f\x70\x3a\x20\x34\x30\x70\x78\x20\x21\x69\x6d\x70\x6f\x72\
+\x74\x61\x6e\x74\x3b\x0a\x7d\x0a\x0a\x23\x73\x65\x61\x72\x63\x68\
+\x20\x66\x69\x65\x6c\x64\x73\x65\x74\x20\x7b\x0a\x20\x20\x20\x20\
+\x62\x6f\x72\x64\x65\x72\x3a\x20\x30\x3b\x0a\x7d\x0a\x0a\x23\x73\
+\x65\x61\x72\x63\x68\x20\x69\x6e\x70\x75\x74\x5b\x74\x79\x70\x65\
+\x3d\x74\x65\x78\x74\x5d\x20\x7b\x0a\x20\x20\x20\x20\x77\x69\x64\
+\x74\x68\x3a\x20\x36\x35\x25\x3b\x0a\x7d\x0a\x0a\x23\x73\x65\x61\
+\x72\x63\x68\x20\x69\x6e\x70\x75\x74\x5b\x74\x79\x70\x65\x3d\x73\
+\x75\x62\x6d\x69\x74\x5d\x20\x7b\x0a\x20\x20\x20\x20\x77\x69\x64\
+\x74\x68\x3a\x20\x32\x35\x25\x3b\x0a\x7d\x0a\x0a\x23\x66\x6f\x6f\
+\x74\x65\x72\x20\x7b\x0a\x20\x20\x20\x20\x74\x65\x78\x74\x2d\x61\
+\x6c\x69\x67\x6e\x3a\x20\x63\x65\x6e\x74\x65\x72\x3b\x0a\x20\x20\
+\x20\x20\x63\x6f\x6c\x6f\x72\x3a\x20\x23\x39\x39\x39\x3b\x0a\x7d\
+\x0a\x0a\x23\x66\x6f\x6f\x74\x65\x72\x20\x61\x20\x7b\x0a\x20\x20\
+\x20\x20\x63\x6f\x6c\x6f\x72\x3a\x20\x23\x35\x35\x35\x3b\x0a\x20\
+\x20\x20\x20\x74\x65\x78\x74\x2d\x64\x65\x63\x6f\x72\x61\x74\x69\
+\x6f\x6e\x3a\x20\x6e\x6f\x6e\x65\x3b\x0a\x7d\x0a\x0a\x23\x66\x6f\
+\x6f\x74\x65\x72\x20\x61\x3a\x68\x6f\x76\x65\x72\x20\x7b\x0a\x20\
+\x20\x20\x20\x74\x65\x78\x74\x2d\x64\x65\x63\x6f\x72\x61\x74\x69\
+\x6f\x6e\x3a\x20\x75\x6e\x64\x65\x72\x6c\x69\x6e\x65\x3b\x0a\x7d\
+\x0a\x20\x20\x20\x20\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\
+\x20\x20\x3c\x73\x63\x72\x69\x70\x74\x20\x74\x79\x70\x65\x3d\x22\
+\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\
+\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6e\x63\x74\x69\
+\x6f\x6e\x20\x75\x70\x64\x61\x74\x65\x28\x29\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x74\x69\x74\x6c\x65\
+\x20\x3d\x20\x77\x69\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x74\
+\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x27\x57\x65\x6c\x63\x6f\x6d\
+\x65\x20\x74\x6f\x20\x65\x72\x69\x63\x36\x20\x57\x65\x62\x20\x42\
+\x72\x6f\x77\x73\x65\x72\x21\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\
+\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x27\
+\x68\x65\x61\x64\x65\x72\x54\x69\x74\x6c\x65\x27\x29\x2e\x69\x6e\
+\x6e\x65\x72\x48\x54\x4d\x4c\x20\x3d\x20\x77\x69\x6e\x64\x6f\x77\
+\x2e\x65\x72\x69\x63\x2e\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x27\x65\x72\x69\x63\x36\x20\x57\x65\x62\x20\x42\x72\x6f\x77\x73\
+\x65\x72\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x67\x65\x74\x45\x6c\
+\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x27\x73\x65\x61\x72\x63\
+\x68\x42\x75\x74\x74\x6f\x6e\x27\x29\x2e\x76\x61\x6c\x75\x65\x20\
+\x3d\x20\x77\x69\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x74\x72\
+\x61\x6e\x73\x6c\x61\x74\x65\x28\x27\x53\x65\x61\x72\x63\x68\x21\
+\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x67\x65\x74\x45\x6c\x65\x6d\
+\x65\x6e\x74\x42\x79\x49\x64\x28\x27\x66\x6f\x6f\x74\x65\x72\x27\
+\x29\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x20\x3d\x20\x77\x69\
+\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x70\x72\x6f\x76\x69\x64\
+\x65\x72\x53\x74\x72\x69\x6e\x67\x28\x29\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x2b\x20\x27\x20\x7c\x20\x27\x20\x2b\x20\x27\
+\x3c\x61\x20\x68\x72\x65\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\
+\x65\x72\x69\x63\x2d\x69\x64\x65\x2e\x70\x79\x74\x68\x6f\x6e\x2d\
+\x70\x72\x6f\x6a\x65\x63\x74\x73\x2e\x6f\x72\x67\x2f\x22\x3e\x27\
+\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2b\x20\x77\x69\x6e\
+\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x27\x41\x62\x6f\x75\x74\x20\x65\x72\x69\x63\x36\x27\
+\x29\x20\x2b\x20\x27\x3c\x2f\x61\x3e\x27\x3b\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\
+\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\
+\x27\x6c\x69\x6e\x65\x45\x64\x69\x74\x27\x29\x2e\x70\x6c\x61\x63\
+\x65\x68\x6f\x6c\x64\x65\x72\x20\x3d\x20\x77\x69\x6e\x64\x6f\x77\
+\x2e\x65\x72\x69\x63\x2e\x70\x72\x6f\x76\x69\x64\x65\x72\x53\x74\
+\x72\x69\x6e\x67\x28\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x2f\x2f\x20\x54\x72\x79\x20\x74\x6f\x20\x63\
+\x68\x61\x6e\x67\x65\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\
+\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x61\x67\x65\x3a\
+\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\
+\x72\x20\x6e\x65\x77\x44\x69\x72\x20\x3d\x20\x77\x69\x6e\x64\x6f\
+\x77\x2e\x65\x72\x69\x63\x2e\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
+\x28\x27\x51\x54\x5f\x4c\x41\x59\x4f\x55\x54\x5f\x44\x49\x52\x45\
+\x43\x54\x49\x4f\x4e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x6e\x65\x77\x44\x69\x72\x20\x3d\x20\x6e\x65\
+\x77\x44\x69\x72\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\
+\x28\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x69\x66\x20\x28\x28\x6e\x65\x77\x44\x69\x72\x20\x21\x3d\x20\x27\
+\x6c\x74\x72\x27\x29\x20\x26\x26\x20\x28\x6e\x65\x77\x44\x69\x72\
+\x20\x21\x3d\x20\x27\x72\x74\x6c\x27\x29\x29\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x77\x44\
+\x69\x72\x20\x3d\x20\x27\x6c\x74\x72\x27\x3b\x0a\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\
+\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\
+\x67\x4e\x61\x6d\x65\x28\x27\x62\x6f\x64\x79\x27\x29\x5b\x30\x5d\
+\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x27\x64\
+\x69\x72\x27\x2c\x20\x6e\x65\x77\x44\x69\x72\x29\x3b\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x66\x6f\x72\x6d\x53\x75\
+\x62\x6d\x69\x74\x74\x65\x64\x28\x29\x0a\x20\x20\x20\x20\x20\x20\
+\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x76\x61\x72\x20\x73\x74\x72\x69\x6e\x67\x20\x3d\x20\x6c\x69\x6e\
+\x65\x45\x64\x69\x74\x2e\x76\x61\x6c\x75\x65\x3b\x0a\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x74\
+\x72\x69\x6e\x67\x2e\x6c\x65\x6e\x67\x74\x68\x20\x3d\x3d\x20\x30\
+\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x72\x65\x74\x75\x72\x6e\x3b\x0a\x0a\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x75\x72\x6c\x20\x3d\
+\x20\x77\x69\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x73\x65\x61\
+\x72\x63\x68\x55\x72\x6c\x28\x73\x74\x72\x69\x6e\x67\x29\x3b\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6e\x64\
+\x6f\x77\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2e\x68\x72\x65\x66\
+\x20\x3d\x20\x75\x72\x6c\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
+\x7d\x0a\x20\x20\x20\x20\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e\x0a\
+\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x20\x6f\x6e\
+\x6c\x6f\x61\x64\x3d\x22\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x66\
+\x6f\x72\x6d\x73\x5b\x30\x5d\x2e\x6c\x69\x6e\x65\x45\x64\x69\x74\
+\x2e\x73\x65\x6c\x65\x63\x74\x28\x29\x3b\x20\x75\x70\x64\x61\x74\
+\x65\x28\x29\x3b\x22\x3e\x0a\x20\x20\x20\x20\x3c\x64\x69\x76\x20\
+\x69\x64\x3d\x22\x68\x65\x61\x64\x65\x72\x22\x3e\x0a\x20\x20\x20\
+\x20\x20\x20\x20\x20\x3c\x68\x31\x20\x69\x64\x3d\x22\x68\x65\x61\
+\x64\x65\x72\x54\x69\x74\x6c\x65\x22\x3e\x3c\x2f\x68\x31\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\
+\x3d\x22\x40\x49\x4d\x41\x47\x45\x40\x22\x20\x77\x69\x64\x74\x68\
+\x3d\x22\x33\x32\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x33\x32\
+\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x64\x69\x76\x3e\x0a\x20\
+\x20\x20\x20\x3c\x64\x69\x76\x20\x69\x64\x3d\x22\x73\x65\x61\x72\
+\x63\x68\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x66\x6f\
+\x72\x6d\x20\x61\x63\x74\x69\x6f\x6e\x3d\x22\x6a\x61\x76\x61\x73\
+\x63\x72\x69\x70\x74\x3a\x66\x6f\x72\x6d\x53\x75\x62\x6d\x69\x74\
+\x74\x65\x64\x28\x29\x3b\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x20\x3c\x66\x69\x65\x6c\x64\x73\x65\x74\x3e\x0a\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x3c\x69\x6e\x70\x75\x74\x20\x69\x64\x3d\x22\x6c\x69\x6e\x65\x45\
+\x64\x69\x74\x22\x20\x6e\x61\x6d\x65\x3d\x22\x6c\x69\x6e\x65\x45\
+\x64\x69\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x22\
+\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+\x20\x20\x20\x20\x3c\x69\x6e\x70\x75\x74\x20\x69\x64\x3d\x22\x73\
+\x65\x61\x72\x63\x68\x42\x75\x74\x74\x6f\x6e\x22\x20\x74\x79\x70\
+\x65\x3d\x22\x73\x75\x62\x6d\x69\x74\x22\x20\x2f\x3e\x0a\x20\x20\
+\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x66\x69\x65\x6c\
+\x64\x73\x65\x74\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\
+\x66\x6f\x72\x6d\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x64\x69\x76\x3e\
+\x0a\x20\x20\x20\x20\x3c\x64\x69\x76\x20\x69\x64\x3d\x22\x66\x6f\
+\x6f\x74\x65\x72\x22\x3e\x3c\x2f\x64\x69\x76\x3e\x0a\x3c\x2f\x62\
+\x6f\x64\x79\x3e\x0a\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
 \x00\x00\x03\x7c\
 \x3c\
 \x21\x44\x4f\x43\x54\x59\x50\x45\x20\x68\x74\x6d\x6c\x3e\x0a\x3c\
@@ -427,216 +636,6 @@
 \x72\x65\x6c\x6f\x61\x64\x28\x29\x22\x3e\x0a\x20\x20\x20\x20\x3c\
 \x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x2f\x64\x69\x76\x3e\x0a\x3c\x2f\
 \x62\x6f\x64\x79\x3e\x0a\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
-\x00\x00\x0c\xfe\
-\x3c\
-\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x68\x74\x6d\x6c\x3e\x0a\x3c\
-\x68\x74\x6d\x6c\x3e\x0a\x3c\x68\x65\x61\x64\x3e\x0a\x3c\x6d\x65\
-\x74\x61\x20\x63\x68\x61\x72\x73\x65\x74\x3d\x22\x75\x74\x66\x2d\
-\x38\x22\x3e\x20\x0a\x3c\x6d\x65\x74\x61\x20\x68\x74\x74\x70\x2d\
-\x65\x71\x75\x69\x76\x3d\x22\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\
-\x79\x70\x65\x22\x20\x63\x6f\x6e\x74\x65\x6e\x74\x3d\x22\x74\x65\
-\x78\x74\x2f\x68\x74\x6d\x6c\x3b\x20\x63\x68\x61\x72\x73\x65\x74\
-\x3d\x75\x74\x66\x2d\x38\x22\x3e\x0a\x3c\x74\x69\x74\x6c\x65\x3e\
-\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x0a\x3c\x6c\x69\x6e\x6b\x20\x72\
-\x65\x6c\x3d\x22\x69\x63\x6f\x6e\x22\x20\x68\x72\x65\x66\x3d\x22\
-\x40\x46\x41\x56\x49\x43\x4f\x4e\x40\x22\x20\x74\x79\x70\x65\x3d\
-\x22\x69\x6d\x61\x67\x65\x2f\x78\x2d\x69\x63\x6f\x6e\x22\x20\x2f\
-\x3e\x0a\x3c\x73\x74\x79\x6c\x65\x3e\x0a\x2a\x20\x7b\x0a\x20\x20\
-\x20\x20\x6d\x61\x72\x67\x69\x6e\x3a\x20\x30\x3b\x0a\x20\x20\x20\
-\x20\x70\x61\x64\x64\x69\x6e\x67\x3a\x20\x30\x3b\x0a\x20\x20\x20\
-\x20\x66\x6f\x6e\x74\x2d\x66\x61\x6d\x69\x6c\x79\x3a\x20\x22\x44\
-\x65\x6a\x61\x56\x75\x20\x53\x61\x6e\x73\x22\x3b\x0a\x7d\x0a\x0a\
-\x62\x6f\x64\x79\x20\x7b\x0a\x20\x20\x20\x20\x62\x61\x63\x6b\x67\
-\x72\x6f\x75\x6e\x64\x3a\x20\x2d\x77\x65\x62\x6b\x69\x74\x2d\x67\
-\x72\x61\x64\x69\x65\x6e\x74\x28\x6c\x69\x6e\x65\x61\x72\x2c\x20\
-\x6c\x65\x66\x74\x20\x74\x6f\x70\x2c\x20\x6c\x65\x66\x74\x20\x62\
-\x6f\x74\x74\x6f\x6d\x2c\x20\x66\x72\x6f\x6d\x28\x23\x38\x35\x37\
-\x38\x34\x41\x29\x2c\x20\x74\x6f\x28\x23\x46\x44\x46\x44\x46\x44\
-\x29\x2c\x20\x63\x6f\x6c\x6f\x72\x2d\x73\x74\x6f\x70\x28\x30\x2e\
-\x35\x2c\x20\x23\x46\x44\x46\x44\x46\x44\x29\x29\x3b\x0a\x20\x20\
-\x20\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x2d\x72\x65\x70\
-\x65\x61\x74\x3a\x20\x72\x65\x70\x65\x61\x74\x2d\x78\x3b\x0a\x20\
-\x20\x20\x20\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\x3a\x20\x32\
-\x30\x30\x70\x78\x3b\x0a\x7d\x0a\x0a\x23\x68\x65\x61\x64\x65\x72\
-\x2c\x20\x23\x73\x65\x61\x72\x63\x68\x2c\x20\x23\x66\x6f\x6f\x74\
-\x65\x72\x20\x7b\x0a\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3a\x20\
-\x36\x30\x30\x70\x78\x3b\x0a\x20\x20\x20\x20\x6d\x61\x72\x67\x69\
-\x6e\x3a\x20\x31\x30\x70\x78\x20\x61\x75\x74\x6f\x3b\x0a\x7d\x0a\
-\x0a\x23\x68\x65\x61\x64\x65\x72\x2c\x20\x23\x73\x65\x61\x72\x63\
-\x68\x20\x7b\x0a\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x2d\x72\
-\x61\x64\x69\x75\x73\x3a\x20\x30\x2e\x38\x65\x6d\x3b\x0a\x20\x20\
-\x20\x20\x70\x61\x64\x64\x69\x6e\x67\x3a\x20\x32\x35\x70\x78\x3b\
-\x0a\x7d\x0a\x0a\x23\x68\x65\x61\x64\x65\x72\x20\x7b\x0a\x20\x20\
-\x20\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x20\x2d\x77\
-\x65\x62\x6b\x69\x74\x2d\x67\x72\x61\x64\x69\x65\x6e\x74\x28\x6c\
-\x69\x6e\x65\x61\x72\x2c\x20\x6c\x65\x66\x74\x20\x74\x6f\x70\x2c\
-\x20\x6c\x65\x66\x74\x20\x62\x6f\x74\x74\x6f\x6d\x2c\x20\x66\x72\
-\x6f\x6d\x28\x23\x44\x35\x37\x45\x33\x45\x29\x2c\x20\x74\x6f\x28\
-\x23\x44\x35\x37\x45\x33\x45\x29\x2c\x20\x63\x6f\x6c\x6f\x72\x2d\
-\x73\x74\x6f\x70\x28\x30\x2e\x35\x2c\x20\x23\x46\x46\x42\x41\x38\
-\x39\x29\x29\x3b\x0a\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3a\
-\x20\x32\x35\x70\x78\x3b\x0a\x7d\x0a\x0a\x23\x68\x65\x61\x64\x65\
-\x72\x20\x68\x31\x20\x7b\x0a\x20\x20\x20\x20\x64\x69\x73\x70\x6c\
-\x61\x79\x3a\x20\x69\x6e\x6c\x69\x6e\x65\x3b\x0a\x20\x20\x20\x20\
-\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3a\x20\x31\x2e\x37\x65\x6d\
-\x3b\x0a\x20\x20\x20\x20\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\
-\x74\x3a\x20\x62\x6f\x6c\x64\x3b\x0a\x7d\x0a\x0a\x23\x68\x65\x61\
-\x64\x65\x72\x20\x69\x6d\x67\x20\x7b\x0a\x20\x20\x20\x20\x64\x69\
-\x73\x70\x6c\x61\x79\x3a\x20\x69\x6e\x6c\x69\x6e\x65\x3b\x0a\x20\
-\x20\x20\x20\x66\x6c\x6f\x61\x74\x3a\x20\x72\x69\x67\x68\x74\x3b\
-\x0a\x20\x20\x20\x20\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\x3a\
-\x20\x2d\x35\x70\x78\x3b\x0a\x7d\x0a\x0a\x23\x73\x65\x61\x72\x63\
-\x68\x20\x7b\x0a\x20\x20\x20\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\
-\x6e\x64\x3a\x20\x2d\x77\x65\x62\x6b\x69\x74\x2d\x67\x72\x61\x64\
-\x69\x65\x6e\x74\x28\x6c\x69\x6e\x65\x61\x72\x2c\x20\x6c\x65\x66\
-\x74\x20\x74\x6f\x70\x2c\x20\x72\x69\x67\x68\x74\x20\x74\x6f\x70\
-\x2c\x20\x66\x72\x6f\x6d\x28\x23\x38\x35\x37\x38\x34\x41\x29\x2c\
-\x20\x74\x6f\x28\x23\x38\x35\x37\x38\x34\x41\x29\x2c\x20\x63\x6f\
-\x6c\x6f\x72\x2d\x73\x74\x6f\x70\x28\x30\x2e\x35\x2c\x20\x23\x43\
-\x38\x43\x32\x41\x45\x29\x29\x3b\x0a\x20\x20\x20\x20\x68\x65\x69\
-\x67\x68\x74\x3a\x20\x35\x30\x70\x78\x3b\x0a\x20\x20\x20\x20\x63\
-\x6f\x6c\x6f\x72\x3a\x20\x23\x30\x30\x30\x3b\x0a\x20\x20\x20\x20\
-\x74\x65\x78\x74\x2d\x61\x6c\x69\x67\x6e\x3a\x20\x63\x65\x6e\x74\
-\x65\x72\x3b\x0a\x20\x20\x20\x20\x70\x61\x64\x64\x69\x6e\x67\x2d\
-\x74\x6f\x70\x3a\x20\x34\x30\x70\x78\x20\x21\x69\x6d\x70\x6f\x72\
-\x74\x61\x6e\x74\x3b\x0a\x7d\x0a\x0a\x23\x73\x65\x61\x72\x63\x68\
-\x20\x66\x69\x65\x6c\x64\x73\x65\x74\x20\x7b\x0a\x20\x20\x20\x20\
-\x62\x6f\x72\x64\x65\x72\x3a\x20\x30\x3b\x0a\x7d\x0a\x0a\x23\x73\
-\x65\x61\x72\x63\x68\x20\x69\x6e\x70\x75\x74\x5b\x74\x79\x70\x65\
-\x3d\x74\x65\x78\x74\x5d\x20\x7b\x0a\x20\x20\x20\x20\x77\x69\x64\
-\x74\x68\x3a\x20\x36\x35\x25\x3b\x0a\x7d\x0a\x0a\x23\x73\x65\x61\
-\x72\x63\x68\x20\x69\x6e\x70\x75\x74\x5b\x74\x79\x70\x65\x3d\x73\
-\x75\x62\x6d\x69\x74\x5d\x20\x7b\x0a\x20\x20\x20\x20\x77\x69\x64\
-\x74\x68\x3a\x20\x32\x35\x25\x3b\x0a\x7d\x0a\x0a\x23\x66\x6f\x6f\
-\x74\x65\x72\x20\x7b\x0a\x20\x20\x20\x20\x74\x65\x78\x74\x2d\x61\
-\x6c\x69\x67\x6e\x3a\x20\x63\x65\x6e\x74\x65\x72\x3b\x0a\x20\x20\
-\x20\x20\x63\x6f\x6c\x6f\x72\x3a\x20\x23\x39\x39\x39\x3b\x0a\x7d\
-\x0a\x0a\x23\x66\x6f\x6f\x74\x65\x72\x20\x61\x20\x7b\x0a\x20\x20\
-\x20\x20\x63\x6f\x6c\x6f\x72\x3a\x20\x23\x35\x35\x35\x3b\x0a\x20\
-\x20\x20\x20\x74\x65\x78\x74\x2d\x64\x65\x63\x6f\x72\x61\x74\x69\
-\x6f\x6e\x3a\x20\x6e\x6f\x6e\x65\x3b\x0a\x7d\x0a\x0a\x23\x66\x6f\
-\x6f\x74\x65\x72\x20\x61\x3a\x68\x6f\x76\x65\x72\x20\x7b\x0a\x20\
-\x20\x20\x20\x74\x65\x78\x74\x2d\x64\x65\x63\x6f\x72\x61\x74\x69\
-\x6f\x6e\x3a\x20\x75\x6e\x64\x65\x72\x6c\x69\x6e\x65\x3b\x0a\x7d\
-\x0a\x20\x20\x20\x20\x3c\x2f\x73\x74\x79\x6c\x65\x3e\x0a\x20\x20\
-\x20\x20\x3c\x73\x63\x72\x69\x70\x74\x20\x74\x79\x70\x65\x3d\x22\
-\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\
-\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6e\x63\x74\x69\
-\x6f\x6e\x20\x75\x70\x64\x61\x74\x65\x28\x29\x0a\x20\x20\x20\x20\
-\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x74\x69\x74\x6c\x65\
-\x20\x3d\x20\x77\x69\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x74\
-\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x27\x57\x65\x6c\x63\x6f\x6d\
-\x65\x20\x74\x6f\x20\x65\x72\x69\x63\x35\x20\x57\x65\x62\x20\x42\
-\x72\x6f\x77\x73\x65\x72\x21\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\
-\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x27\
-\x68\x65\x61\x64\x65\x72\x54\x69\x74\x6c\x65\x27\x29\x2e\x69\x6e\
-\x6e\x65\x72\x48\x54\x4d\x4c\x20\x3d\x20\x77\x69\x6e\x64\x6f\x77\
-\x2e\x65\x72\x69\x63\x2e\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
-\x27\x65\x72\x69\x63\x35\x20\x57\x65\x62\x20\x42\x72\x6f\x77\x73\
-\x65\x72\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x67\x65\x74\x45\x6c\
-\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x27\x73\x65\x61\x72\x63\
-\x68\x42\x75\x74\x74\x6f\x6e\x27\x29\x2e\x76\x61\x6c\x75\x65\x20\
-\x3d\x20\x77\x69\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x74\x72\
-\x61\x6e\x73\x6c\x61\x74\x65\x28\x27\x53\x65\x61\x72\x63\x68\x21\
-\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x67\x65\x74\x45\x6c\x65\x6d\
-\x65\x6e\x74\x42\x79\x49\x64\x28\x27\x66\x6f\x6f\x74\x65\x72\x27\
-\x29\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x20\x3d\x20\x77\x69\
-\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x70\x72\x6f\x76\x69\x64\
-\x65\x72\x53\x74\x72\x69\x6e\x67\x28\x29\x0a\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x2b\x20\x27\x20\x7c\x20\x27\x20\x2b\x20\x27\
-\x3c\x61\x20\x68\x72\x65\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\
-\x65\x72\x69\x63\x2d\x69\x64\x65\x2e\x70\x79\x74\x68\x6f\x6e\x2d\
-\x70\x72\x6f\x6a\x65\x63\x74\x73\x2e\x6f\x72\x67\x2f\x22\x3e\x27\
-\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2b\x20\x77\x69\x6e\
-\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x74\x72\x61\x6e\x73\x6c\x61\
-\x74\x65\x28\x27\x41\x62\x6f\x75\x74\x20\x65\x72\x69\x63\x35\x27\
-\x29\x20\x2b\x20\x27\x3c\x2f\x61\x3e\x27\x3b\x0a\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\
-\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\
-\x27\x6c\x69\x6e\x65\x45\x64\x69\x74\x27\x29\x2e\x70\x6c\x61\x63\
-\x65\x68\x6f\x6c\x64\x65\x72\x20\x3d\x20\x77\x69\x6e\x64\x6f\x77\
-\x2e\x65\x72\x69\x63\x2e\x70\x72\x6f\x76\x69\x64\x65\x72\x53\x74\
-\x72\x69\x6e\x67\x28\x29\x3b\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x2f\x2f\x20\x54\x72\x79\x20\x74\x6f\x20\x63\
-\x68\x61\x6e\x67\x65\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\
-\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x70\x61\x67\x65\x3a\
-\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\
-\x72\x20\x6e\x65\x77\x44\x69\x72\x20\x3d\x20\x77\x69\x6e\x64\x6f\
-\x77\x2e\x65\x72\x69\x63\x2e\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
-\x28\x27\x51\x54\x5f\x4c\x41\x59\x4f\x55\x54\x5f\x44\x49\x52\x45\
-\x43\x54\x49\x4f\x4e\x27\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x6e\x65\x77\x44\x69\x72\x20\x3d\x20\x6e\x65\
-\x77\x44\x69\x72\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\
-\x28\x29\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x69\x66\x20\x28\x28\x6e\x65\x77\x44\x69\x72\x20\x21\x3d\x20\x27\
-\x6c\x74\x72\x27\x29\x20\x26\x26\x20\x28\x6e\x65\x77\x44\x69\x72\
-\x20\x21\x3d\x20\x27\x72\x74\x6c\x27\x29\x29\x0a\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x77\x44\
-\x69\x72\x20\x3d\x20\x27\x6c\x74\x72\x27\x3b\x0a\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\
-\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\
-\x67\x4e\x61\x6d\x65\x28\x27\x62\x6f\x64\x79\x27\x29\x5b\x30\x5d\
-\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x27\x64\
-\x69\x72\x27\x2c\x20\x6e\x65\x77\x44\x69\x72\x29\x3b\x0a\x20\x20\
-\x20\x20\x20\x20\x20\x20\x7d\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\
-\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x66\x6f\x72\x6d\x53\x75\
-\x62\x6d\x69\x74\x74\x65\x64\x28\x29\x0a\x20\x20\x20\x20\x20\x20\
-\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x76\x61\x72\x20\x73\x74\x72\x69\x6e\x67\x20\x3d\x20\x6c\x69\x6e\
-\x65\x45\x64\x69\x74\x2e\x76\x61\x6c\x75\x65\x3b\x0a\x0a\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x73\x74\
-\x72\x69\x6e\x67\x2e\x6c\x65\x6e\x67\x74\x68\x20\x3d\x3d\x20\x30\
-\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x72\x65\x74\x75\x72\x6e\x3b\x0a\x0a\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x75\x72\x6c\x20\x3d\
-\x20\x77\x69\x6e\x64\x6f\x77\x2e\x65\x72\x69\x63\x2e\x73\x65\x61\
-\x72\x63\x68\x55\x72\x6c\x28\x73\x74\x72\x69\x6e\x67\x29\x3b\x0a\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6e\x64\
-\x6f\x77\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x2e\x68\x72\x65\x66\
-\x20\x3d\x20\x75\x72\x6c\x3b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
-\x7d\x0a\x20\x20\x20\x20\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e\x0a\
-\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x20\x6f\x6e\
-\x6c\x6f\x61\x64\x3d\x22\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x66\
-\x6f\x72\x6d\x73\x5b\x30\x5d\x2e\x6c\x69\x6e\x65\x45\x64\x69\x74\
-\x2e\x73\x65\x6c\x65\x63\x74\x28\x29\x3b\x20\x75\x70\x64\x61\x74\
-\x65\x28\x29\x3b\x22\x3e\x0a\x20\x20\x20\x20\x3c\x64\x69\x76\x20\
-\x69\x64\x3d\x22\x68\x65\x61\x64\x65\x72\x22\x3e\x0a\x20\x20\x20\
-\x20\x20\x20\x20\x20\x3c\x68\x31\x20\x69\x64\x3d\x22\x68\x65\x61\
-\x64\x65\x72\x54\x69\x74\x6c\x65\x22\x3e\x3c\x2f\x68\x31\x3e\x0a\
-\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\
-\x3d\x22\x40\x49\x4d\x41\x47\x45\x40\x22\x20\x77\x69\x64\x74\x68\
-\x3d\x22\x33\x32\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x33\x32\
-\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x64\x69\x76\x3e\x0a\x20\
-\x20\x20\x20\x3c\x64\x69\x76\x20\x69\x64\x3d\x22\x73\x65\x61\x72\
-\x63\x68\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x66\x6f\
-\x72\x6d\x20\x61\x63\x74\x69\x6f\x6e\x3d\x22\x6a\x61\x76\x61\x73\
-\x63\x72\x69\x70\x74\x3a\x66\x6f\x72\x6d\x53\x75\x62\x6d\x69\x74\
-\x74\x65\x64\x28\x29\x3b\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x20\x3c\x66\x69\x65\x6c\x64\x73\x65\x74\x3e\x0a\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x3c\x69\x6e\x70\x75\x74\x20\x69\x64\x3d\x22\x6c\x69\x6e\x65\x45\
-\x64\x69\x74\x22\x20\x6e\x61\x6d\x65\x3d\x22\x6c\x69\x6e\x65\x45\
-\x64\x69\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x22\
-\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
-\x20\x20\x20\x20\x3c\x69\x6e\x70\x75\x74\x20\x69\x64\x3d\x22\x73\
-\x65\x61\x72\x63\x68\x42\x75\x74\x74\x6f\x6e\x22\x20\x74\x79\x70\
-\x65\x3d\x22\x73\x75\x62\x6d\x69\x74\x22\x20\x2f\x3e\x0a\x20\x20\
-\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x66\x69\x65\x6c\
-\x64\x73\x65\x74\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\
-\x66\x6f\x72\x6d\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x64\x69\x76\x3e\
-\x0a\x20\x20\x20\x20\x3c\x64\x69\x76\x20\x69\x64\x3d\x22\x66\x6f\
-\x6f\x74\x65\x72\x22\x3e\x3c\x2f\x64\x69\x76\x3e\x0a\x3c\x2f\x62\
-\x6f\x64\x79\x3e\x0a\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
 "
 
 qt_resource_name = b"\
@@ -644,6 +643,10 @@
 \x00\x06\xfb\x3c\
 \x00\x68\
 \x00\x74\x00\x6d\x00\x6c\
+\x00\x0e\
+\x08\x97\xc9\x7c\
+\x00\x73\
+\x00\x74\x00\x61\x00\x72\x00\x74\x00\x50\x00\x61\x00\x67\x00\x65\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
 \x00\x10\
 \x0b\xe9\x1d\x9c\
 \x00\x61\
@@ -658,19 +661,15 @@
 \x00\x6e\
 \x00\x6f\x00\x74\x00\x46\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x50\x00\x61\x00\x67\x00\x65\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
 \
-\x00\x0e\
-\x08\x97\xc9\x7c\
-\x00\x73\
-\x00\x74\x00\x61\x00\x72\x00\x74\x00\x50\x00\x61\x00\x67\x00\x65\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
 "
 
 qt_resource_struct = b"\
 \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
 \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\
-\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x14\xe4\
-\x00\x00\x00\x34\x00\x01\x00\x00\x00\x01\x00\x00\x03\x80\
-\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x19\xb7\
+\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x21\xe6\
+\x00\x00\x00\x56\x00\x01\x00\x00\x00\x01\x00\x00\x10\x82\
 \x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+\x00\x00\x00\x30\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x02\
 "
 
 def qInitResources():

eric ide

mercurial