Sun, 31 May 2020 17:26:14 +0200
Merged with default branch to prepare new release.
--- a/docs/changelog Sat May 02 14:04:18 2020 +0200 +++ b/docs/changelog Sun May 31 17:26:14 2020 +0200 @@ -1,5 +1,11 @@ Change Log ---------- +Version 20.6: +- bug fixes +- Web Browser: + -- added a configurable URL entry color to indicate sites with certificate + issues + -- added code to ask for the title of a new bookmark folder Version 20.5: - bug fixes - MicroPython
--- a/eric6.e4p Sat May 02 14:04:18 2020 +0200 +++ b/eric6.e4p Sun May 31 17:26:14 2020 +0200 @@ -258,6 +258,7 @@ <Source>eric6/MicroPython/EspBackupRestoreFirmwareDialog.py</Source> <Source>eric6/MicroPython/EspDevices.py</Source> <Source>eric6/MicroPython/EspFirmwareSelectionDialog.py</Source> + <Source>eric6/MicroPython/IgnoredDevicesDialog.py</Source> <Source>eric6/MicroPython/MicroPythonCommandsInterface.py</Source> <Source>eric6/MicroPython/MicroPythonDevices.py</Source> <Source>eric6/MicroPython/MicroPythonFileManager.py</Source> @@ -1620,6 +1621,7 @@ <Form>eric6/MicroPython/CircuitPythonFirmwareSelectionDialog.ui</Form> <Form>eric6/MicroPython/EspBackupRestoreFirmwareDialog.ui</Form> <Form>eric6/MicroPython/EspFirmwareSelectionDialog.ui</Form> + <Form>eric6/MicroPython/IgnoredDevicesDialog.ui</Form> <Form>eric6/MicroPython/MicroPythonFileManagerWidget.ui</Form> <Form>eric6/MicroPython/MicroPythonProgressInfoDialog.ui</Form> <Form>eric6/MicroPython/MicroPythonWidget.ui</Form>
--- a/eric6/APIs/Python3/eric6.api Sat May 02 14:04:18 2020 +0200 +++ b/eric6/APIs/Python3/eric6.api Sun May 31 17:26:14 2020 +0200 @@ -1375,6 +1375,7 @@ eric6.E5Gui.E5SqueezeLabels.E5SqueezeLabelPath?1(parent=None) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.getList?4() eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.on_addButton_clicked?4() +eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setAddVisible?4(visible) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setDefaultVisible?4(visible) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setList?4(stringList) eric6.E5Gui.E5StringListEditWidget.E5StringListEditWidget.setListWhatsThis?4(txt) @@ -2274,10 +2275,13 @@ eric6.MicroPython.EspDevices.EspDevice.runScript?4(script) eric6.MicroPython.EspDevices.EspDevice.setButtons?4() eric6.MicroPython.EspDevices.EspDevice?1(microPythonWidget, parent=None) +eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.FlashModes?7 eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.getData?4() eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged?4(chip) eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_firmwarePicker_textChanged?4(firmware) eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog?1(addon=False, parent=None) +eric6.MicroPython.IgnoredDevicesDialog.IgnoredDevicesDialog.getDevices?4() +eric6.MicroPython.IgnoredDevicesDialog.IgnoredDevicesDialog?1(deviceList, parent=None) eric6.MicroPython.MicroPythonCommandsInterface.MicroPythonCommandsInterface.cd?4(dirname) eric6.MicroPython.MicroPythonCommandsInterface.MicroPythonCommandsInterface.connectToDevice?4(port) eric6.MicroPython.MicroPythonCommandsInterface.MicroPythonCommandsInterface.dataReceived?7 @@ -9345,7 +9349,7 @@ eric6.Utilities.parseEnvironmentString?4(s) eric6.Utilities.parseOptionString?4(s) eric6.Utilities.parseString?4(s, rx) -eric6.Utilities.prepareQtMacBundle?4(toolname, version, args) +eric6.Utilities.prepareQtMacBundle?4(toolname, args) eric6.Utilities.readEncodedFile?4(filename) eric6.Utilities.readEncodedFileWithEncoding?4(filename, encoding) eric6.Utilities.readEncodedFileWithHash?4(filename) @@ -10570,6 +10574,7 @@ eric6.WebBrowser.Network.NetworkManager.NetworkManager.clearSslExceptions?4() eric6.WebBrowser.Network.NetworkManager.NetworkManager.createRequest?4(op, request, data) eric6.WebBrowser.Network.NetworkManager.NetworkManager.installUrlInterceptor?4(interceptor) +eric6.WebBrowser.Network.NetworkManager.NetworkManager.isInsecureHost?4(host) eric6.WebBrowser.Network.NetworkManager.NetworkManager.languagesChanged?4() eric6.WebBrowser.Network.NetworkManager.NetworkManager.preferencesChanged?4() eric6.WebBrowser.Network.NetworkManager.NetworkManager.proxyAuthentication?4(requestUrl, auth, proxyHost) @@ -10969,9 +10974,8 @@ eric6.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog.resizeEvent?4(evt) eric6.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog.showEvent?4(evt) eric6.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog?1(parent=None) -eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.nokStyle?7 -eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.okStyle?7 eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.on_imagesTree_currentItemChanged?4(current, previous) +eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog.securityStyleFormat?7 eric6.WebBrowser.SiteInfo.SiteInfoDialog.SiteInfoDialog?1(browser, parent=None) eric6.WebBrowser.SiteInfo.SiteInfoWidget.SiteInfoWidget.accept?4() eric6.WebBrowser.SiteInfo.SiteInfoWidget.SiteInfoWidget.showAt?4(pos)
--- a/eric6/APIs/Python3/eric6.bas Sat May 02 14:04:18 2020 +0200 +++ b/eric6/APIs/Python3/eric6.bas Sun May 31 17:26:14 2020 +0200 @@ -503,6 +503,7 @@ IconsPreviewDialog QDialog Ui_IconsPreviewDialog IdlCompilerDefineNameDialog QDialog Ui_IdlCompilerDefineNameDialog IdlCompilerOptionsDialog QDialog Ui_IdlCompilerOptionsDialog +IgnoredDevicesDialog QDialog Ui_IgnoredDevicesDialog ImageMarkupDialog QDialog Ui_ImageMarkupDialog ImageSearchEngine QObject ImagesIcon StatusBarIcon
--- a/eric6/DebugClients/Python/DebugClientBase.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/DebugClients/Python/DebugClientBase.py Sun May 31 17:26:14 2020 +0200 @@ -68,7 +68,7 @@ This function works with the split debugger. - @param prompt prompt to be shown + @param prompt prompt to be shown @type str @return result of the input() call @rtype str @@ -1817,7 +1817,7 @@ if ConfigVarTypeStrings.index(valtype) in filterList: continue except ValueError: - if valtype == "sip.enumtype": + if valtype in ("sip.enumtype", "sip.wrappertype"): if ConfigVarTypeStrings.index('class') in filterList: continue elif (valtype == "sip.methoddescriptor" or
--- a/eric6/DebugClients/Python/DebugVariables.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/DebugClients/Python/DebugVariables.py Sun May 31 17:26:14 2020 +0200 @@ -704,8 +704,10 @@ typeStr = str(typeObject).split(' ', 1)[-1] typeStr = typeStr[1:-2] - if (typeStr.startswith(ConfigQtNames) and - typeStr.endswith(ConfigKnownQtTypes)): + if ( + typeStr.startswith(ConfigQtNames) and + typeStr.endswith(ConfigKnownQtTypes) + ): resolver = None else: if _TypeMap is None:
--- a/eric6/Documentation/Help/source.qhp Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Help/source.qhp Sun May 31 17:26:14 2020 +0200 @@ -232,6 +232,7 @@ <section title="eric6.MicroPython.EspBackupRestoreFirmwareDialog" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html" /> <section title="eric6.MicroPython.EspDevices" ref="eric6.MicroPython.EspDevices.html" /> <section title="eric6.MicroPython.EspFirmwareSelectionDialog" ref="eric6.MicroPython.EspFirmwareSelectionDialog.html" /> + <section title="eric6.MicroPython.IgnoredDevicesDialog" ref="eric6.MicroPython.IgnoredDevicesDialog.html" /> <section title="eric6.MicroPython.MicroPythonCommandsInterface" ref="eric6.MicroPython.MicroPythonCommandsInterface.html" /> <section title="eric6.MicroPython.MicroPythonDevices" ref="eric6.MicroPython.MicroPythonDevices.html" /> <section title="eric6.MicroPython.MicroPythonFileManager" ref="eric6.MicroPython.MicroPythonFileManager.html" /> @@ -2527,6 +2528,7 @@ <keyword name="CodeStyleCheckerDialog.on_loadDefaultButton_clicked" id="CodeStyleCheckerDialog.on_loadDefaultButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_loadDefaultButton_clicked" /> <keyword name="CodeStyleCheckerDialog.on_noFixIssuesSelectButton_clicked" id="CodeStyleCheckerDialog.on_noFixIssuesSelectButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_noFixIssuesSelectButton_clicked" /> <keyword name="CodeStyleCheckerDialog.on_resetDefaultButton_clicked" id="CodeStyleCheckerDialog.on_resetDefaultButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_resetDefaultButton_clicked" /> + <keyword name="CodeStyleCheckerDialog.on_restartButton_clicked" id="CodeStyleCheckerDialog.on_restartButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_restartButton_clicked" /> <keyword name="CodeStyleCheckerDialog.on_resultList_itemActivated" id="CodeStyleCheckerDialog.on_resultList_itemActivated" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_resultList_itemActivated" /> <keyword name="CodeStyleCheckerDialog.on_resultList_itemSelectionChanged" id="CodeStyleCheckerDialog.on_resultList_itemSelectionChanged" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_resultList_itemSelectionChanged" /> <keyword name="CodeStyleCheckerDialog.on_showButton_clicked" id="CodeStyleCheckerDialog.on_showButton_clicked" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_showButton_clicked" /> @@ -4385,6 +4387,7 @@ <keyword name="E5StringListEditWidget (Module)" id="E5StringListEditWidget (Module)" ref="eric6.E5Gui.E5StringListEditWidget.html" /> <keyword name="E5StringListEditWidget.getList" id="E5StringListEditWidget.getList" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.getList" /> <keyword name="E5StringListEditWidget.on_addButton_clicked" id="E5StringListEditWidget.on_addButton_clicked" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.on_addButton_clicked" /> + <keyword name="E5StringListEditWidget.setAddVisible" id="E5StringListEditWidget.setAddVisible" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setAddVisible" /> <keyword name="E5StringListEditWidget.setDefaultVisible" id="E5StringListEditWidget.setDefaultVisible" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setDefaultVisible" /> <keyword name="E5StringListEditWidget.setList" id="E5StringListEditWidget.setList" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setList" /> <keyword name="E5StringListEditWidget.setListWhatsThis" id="E5StringListEditWidget.setListWhatsThis" ref="eric6.E5Gui.E5StringListEditWidget.html#E5StringListEditWidget.setListWhatsThis" /> @@ -8536,6 +8539,10 @@ <keyword name="IdlCompilerOptionsDialog.on_unDeleteButton_clicked" id="IdlCompilerOptionsDialog.on_unDeleteButton_clicked" ref="eric6.Project.IdlCompilerOptionsDialog.html#IdlCompilerOptionsDialog.on_unDeleteButton_clicked" /> <keyword name="IdlCompilerOptionsDialog.on_unEditButton_clicked" id="IdlCompilerOptionsDialog.on_unEditButton_clicked" ref="eric6.Project.IdlCompilerOptionsDialog.html#IdlCompilerOptionsDialog.on_unEditButton_clicked" /> <keyword name="IdlCompilerOptionsDialog.on_unList_itemSelectionChanged" id="IdlCompilerOptionsDialog.on_unList_itemSelectionChanged" ref="eric6.Project.IdlCompilerOptionsDialog.html#IdlCompilerOptionsDialog.on_unList_itemSelectionChanged" /> + <keyword name="IgnoredDevicesDialog" id="IgnoredDevicesDialog" ref="eric6.MicroPython.IgnoredDevicesDialog.html#IgnoredDevicesDialog" /> + <keyword name="IgnoredDevicesDialog (Constructor)" id="IgnoredDevicesDialog (Constructor)" ref="eric6.MicroPython.IgnoredDevicesDialog.html#IgnoredDevicesDialog.__init__" /> + <keyword name="IgnoredDevicesDialog (Module)" id="IgnoredDevicesDialog (Module)" ref="eric6.MicroPython.IgnoredDevicesDialog.html" /> + <keyword name="IgnoredDevicesDialog.getDevices" id="IgnoredDevicesDialog.getDevices" ref="eric6.MicroPython.IgnoredDevicesDialog.html#IgnoredDevicesDialog.getDevices" /> <keyword name="ImageMarkupDialog" id="ImageMarkupDialog" ref="eric6.QScintilla.MarkupProviders.ImageMarkupDialog.html#ImageMarkupDialog" /> <keyword name="ImageMarkupDialog (Constructor)" id="ImageMarkupDialog (Constructor)" ref="eric6.QScintilla.MarkupProviders.ImageMarkupDialog.html#ImageMarkupDialog.__init__" /> <keyword name="ImageMarkupDialog (Module)" id="ImageMarkupDialog (Module)" ref="eric6.QScintilla.MarkupProviders.ImageMarkupDialog.html" /> @@ -9725,6 +9732,7 @@ <keyword name="MicroPythonWidget.__downloadFirmware" id="MicroPythonWidget.__downloadFirmware" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__downloadFirmware" /> <keyword name="MicroPythonWidget.__getDeviceTime" id="MicroPythonWidget.__getDeviceTime" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__getDeviceTime" /> <keyword name="MicroPythonWidget.__handlePreferencesChanged" id="MicroPythonWidget.__handlePreferencesChanged" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__handlePreferencesChanged" /> + <keyword name="MicroPythonWidget.__manageIgnored" id="MicroPythonWidget.__manageIgnored" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__manageIgnored" /> <keyword name="MicroPythonWidget.__mpyCrossAvailable" id="MicroPythonWidget.__mpyCrossAvailable" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__mpyCrossAvailable" /> <keyword name="MicroPythonWidget.__paste" id="MicroPythonWidget.__paste" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__paste" /> <keyword name="MicroPythonWidget.__populateDeviceTypeComboBox" id="MicroPythonWidget.__populateDeviceTypeComboBox" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__populateDeviceTypeComboBox" /> @@ -10156,11 +10164,13 @@ <keyword name="NetworkManager.__load" id="NetworkManager.__load" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.__load" /> <keyword name="NetworkManager.__save" id="NetworkManager.__save" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.__save" /> <keyword name="NetworkManager.__showAuthenticationErrorPage" id="NetworkManager.__showAuthenticationErrorPage" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.__showAuthenticationErrorPage" /> + <keyword name="NetworkManager.__sslErrorHandlingSlot" id="NetworkManager.__sslErrorHandlingSlot" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.__sslErrorHandlingSlot" /> <keyword name="NetworkManager.authentication" id="NetworkManager.authentication" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.authentication" /> <keyword name="NetworkManager.certificateError" id="NetworkManager.certificateError" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.certificateError" /> <keyword name="NetworkManager.clearSslExceptions" id="NetworkManager.clearSslExceptions" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.clearSslExceptions" /> <keyword name="NetworkManager.createRequest" id="NetworkManager.createRequest" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.createRequest" /> <keyword name="NetworkManager.installUrlInterceptor" id="NetworkManager.installUrlInterceptor" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.installUrlInterceptor" /> + <keyword name="NetworkManager.isInsecureHost" id="NetworkManager.isInsecureHost" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.isInsecureHost" /> <keyword name="NetworkManager.languagesChanged" id="NetworkManager.languagesChanged" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.languagesChanged" /> <keyword name="NetworkManager.preferencesChanged" id="NetworkManager.preferencesChanged" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.preferencesChanged" /> <keyword name="NetworkManager.proxyAuthentication" id="NetworkManager.proxyAuthentication" ref="eric6.WebBrowser.Network.NetworkManager.html#NetworkManager.proxyAuthentication" /> @@ -15222,7 +15232,6 @@ <keyword name="UserInterface.__activateViewProfile" id="UserInterface.__activateViewProfile" ref="eric6.UI.UserInterface.html#UserInterface.__activateViewProfile" /> <keyword name="UserInterface.__activateViewmanager" id="UserInterface.__activateViewmanager" ref="eric6.UI.UserInterface.html#UserInterface.__activateViewmanager" /> <keyword name="UserInterface.__assistant" id="UserInterface.__assistant" ref="eric6.UI.UserInterface.html#UserInterface.__assistant" /> - <keyword name="UserInterface.__assistant4" id="UserInterface.__assistant4" ref="eric6.UI.UserInterface.html#UserInterface.__assistant4" /> <keyword name="UserInterface.__checkActions" id="UserInterface.__checkActions" ref="eric6.UI.UserInterface.html#UserInterface.__checkActions" /> <keyword name="UserInterface.__chmViewer" id="UserInterface.__chmViewer" ref="eric6.UI.UserInterface.html#UserInterface.__chmViewer" /> <keyword name="UserInterface.__clearPrivateData" id="UserInterface.__clearPrivateData" ref="eric6.UI.UserInterface.html#UserInterface.__clearPrivateData" /> @@ -15243,7 +15252,6 @@ <keyword name="UserInterface.__deinstallPlugin" id="UserInterface.__deinstallPlugin" ref="eric6.UI.UserInterface.html#UserInterface.__deinstallPlugin" /> <keyword name="UserInterface.__deleteCrashSession" id="UserInterface.__deleteCrashSession" ref="eric6.UI.UserInterface.html#UserInterface.__deleteCrashSession" /> <keyword name="UserInterface.__designer" id="UserInterface.__designer" ref="eric6.UI.UserInterface.html#UserInterface.__designer" /> - <keyword name="UserInterface.__designer4" id="UserInterface.__designer4" ref="eric6.UI.UserInterface.html#UserInterface.__designer4" /> <keyword name="UserInterface.__editPixmap" id="UserInterface.__editPixmap" ref="eric6.UI.UserInterface.html#UserInterface.__editPixmap" /> <keyword name="UserInterface.__editorOpened" id="UserInterface.__editorOpened" ref="eric6.UI.UserInterface.html#UserInterface.__editorOpened" /> <keyword name="UserInterface.__exportPreferences" id="UserInterface.__exportPreferences" ref="eric6.UI.UserInterface.html#UserInterface.__exportPreferences" /> @@ -15269,7 +15277,6 @@ <keyword name="UserInterface.__lastEditorClosed" id="UserInterface.__lastEditorClosed" ref="eric6.UI.UserInterface.html#UserInterface.__lastEditorClosed" /> <keyword name="UserInterface.__launchExternalWebBrowser" id="UserInterface.__launchExternalWebBrowser" ref="eric6.UI.UserInterface.html#UserInterface.__launchExternalWebBrowser" /> <keyword name="UserInterface.__linguist" id="UserInterface.__linguist" ref="eric6.UI.UserInterface.html#UserInterface.__linguist" /> - <keyword name="UserInterface.__linguist4" id="UserInterface.__linguist4" ref="eric6.UI.UserInterface.html#UserInterface.__linguist4" /> <keyword name="UserInterface.__loadSessionFromFile" id="UserInterface.__loadSessionFromFile" ref="eric6.UI.UserInterface.html#UserInterface.__loadSessionFromFile" /> <keyword name="UserInterface.__masterPasswordChanged" id="UserInterface.__masterPasswordChanged" ref="eric6.UI.UserInterface.html#UserInterface.__masterPasswordChanged" /> <keyword name="UserInterface.__newProject" id="UserInterface.__newProject" ref="eric6.UI.UserInterface.html#UserInterface.__newProject" /> @@ -16299,7 +16306,7 @@ <keyword name="WebBrowserTabWidget.__initTabContextMenu" id="WebBrowserTabWidget.__initTabContextMenu" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__initTabContextMenu" /> <keyword name="WebBrowserTabWidget.__lineEditReturnPressed" id="WebBrowserTabWidget.__lineEditReturnPressed" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__lineEditReturnPressed" /> <keyword name="WebBrowserTabWidget.__loadFinished" id="WebBrowserTabWidget.__loadFinished" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__loadFinished" /> - <keyword name="WebBrowserTabWidget.__loadStarted" id="WebBrowserTabWidget.__loadStarted" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__loadStarted" /> + <keyword name="WebBrowserTabWidget.__loadProgress" id="WebBrowserTabWidget.__loadProgress" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__loadProgress" /> <keyword name="WebBrowserTabWidget.__navigationMenuTriggered" id="WebBrowserTabWidget.__navigationMenuTriggered" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__navigationMenuTriggered" /> <keyword name="WebBrowserTabWidget.__newBrowser" id="WebBrowserTabWidget.__newBrowser" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__newBrowser" /> <keyword name="WebBrowserTabWidget.__pathSelected" id="WebBrowserTabWidget.__pathSelected" ref="eric6.WebBrowser.WebBrowserTabWidget.html#WebBrowserTabWidget.__pathSelected" /> @@ -18011,6 +18018,7 @@ <file>eric6.MicroPython.EspBackupRestoreFirmwareDialog.html</file> <file>eric6.MicroPython.EspDevices.html</file> <file>eric6.MicroPython.EspFirmwareSelectionDialog.html</file> + <file>eric6.MicroPython.IgnoredDevicesDialog.html</file> <file>eric6.MicroPython.MicroPythonCommandsInterface.html</file> <file>eric6.MicroPython.MicroPythonDevices.html</file> <file>eric6.MicroPython.MicroPythonFileManager.html</file>
--- a/eric6/Documentation/Source/eric6.E5Gui.E5StringListEditWidget.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.E5Gui.E5StringListEditWidget.html Sun May 31 17:26:14 2020 +0200 @@ -89,6 +89,10 @@ <td>Private slot to add an entry to the list.</td> </tr> <tr> +<td><a href="#E5StringListEditWidget.setAddVisible">setAddVisible</a></td> +<td>Public method to show or hide the add button.</td> +</tr> +<tr> <td><a href="#E5StringListEditWidget.setDefaultVisible">setDefaultVisible</a></td> <td>Public method to show or hide the default button.</td> </tr> @@ -141,6 +145,20 @@ <p> Private slot to add an entry to the list. </p> +<a NAME="E5StringListEditWidget.setAddVisible" ID="E5StringListEditWidget.setAddVisible"></a> +<h4>E5StringListEditWidget.setAddVisible</h4> +<b>setAddVisible</b>(<i>visible</i>) + +<p> + Public method to show or hide the add button. +</p> +<dl> + +<dt><i>visible</i> (bool)</dt> +<dd> +flag indicating the visibility of the add button +</dd> +</dl> <a NAME="E5StringListEditWidget.setDefaultVisible" ID="E5StringListEditWidget.setDefaultVisible"></a> <h4>E5StringListEditWidget.setDefaultVisible</h4> <b>setDefaultVisible</b>(<i>visible</i>)
--- a/eric6/Documentation/Source/eric6.MicroPython.EspFirmwareSelectionDialog.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.MicroPython.EspFirmwareSelectionDialog.html Sun May 31 17:26:14 2020 +0200 @@ -59,7 +59,7 @@ <h3>Class Attributes</h3> <table> -<tr><td>None</td></tr> +<tr><td>FlashModes</td></tr> </table> <h3>Class Methods</h3> @@ -133,13 +133,13 @@ <dt>Returns:</dt> <dd> tuple containing the selected chip type, the path of the - firmware file and the flash address + firmware file, the flash mode and the flash address </dd> </dl> <dl> <dt>Return Type:</dt> <dd> -tuple of (str, str, str) +tuple of (str, str, str, str) </dd> </dl> <a NAME="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged" ID="EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged"></a>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Documentation/Source/eric6.MicroPython.IgnoredDevicesDialog.html Sun May 31 17:26:14 2020 +0200 @@ -0,0 +1,126 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.MicroPython.IgnoredDevicesDialog</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<a NAME="top" ID="top"></a> +<h1>eric6.MicroPython.IgnoredDevicesDialog</h1> + +<p> +Module implementing a dialog to manage the list of ignored serial devices. +</p> +<h3>Global Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> + +<table> + +<tr> +<td><a href="#IgnoredDevicesDialog">IgnoredDevicesDialog</a></td> +<td>Class implementing a dialog to manage the list of ignored serial devices.</td> +</tr> +</table> +<h3>Functions</h3> + +<table> +<tr><td>None</td></tr> +</table> +<hr /> +<hr /> +<a NAME="IgnoredDevicesDialog" ID="IgnoredDevicesDialog"></a> +<h2>IgnoredDevicesDialog</h2> + +<p> + Class implementing a dialog to manage the list of ignored serial devices. +</p> +<h3>Derived from</h3> +QDialog, Ui_IgnoredDevicesDialog +<h3>Class Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#IgnoredDevicesDialog.__init__">IgnoredDevicesDialog</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#IgnoredDevicesDialog.getDevices">getDevices</a></td> +<td>Public method to get the list of ignored serial devices.</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="IgnoredDevicesDialog.__init__" ID="IgnoredDevicesDialog.__init__"></a> +<h4>IgnoredDevicesDialog (Constructor)</h4> +<b>IgnoredDevicesDialog</b>(<i>deviceList, parent=None</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>deviceList</i> (list of tuple of (int, int))</dt> +<dd> +list of ignored serial devices given by VID and PID +</dd> +<dt><i>parent</i> (QWidget)</dt> +<dd> +reference to the parent widget +</dd> +</dl> +<a NAME="IgnoredDevicesDialog.getDevices" ID="IgnoredDevicesDialog.getDevices"></a> +<h4>IgnoredDevicesDialog.getDevices</h4> +<b>getDevices</b>(<i></i>) + +<p> + Public method to get the list of ignored serial devices. +</p> +<dl> +<dt>Returns:</dt> +<dd> +list of tuples containing the VID, PID and a description + of each ignored device +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +list of tuple of (int, int, str) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.MicroPython.MicroPythonDevices.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.MicroPython.MicroPythonDevices.html Sun May 31 17:26:14 2020 +0200 @@ -633,14 +633,17 @@ <dl> <dt>Returns:</dt> <dd> -set of tuples with the board type, a description and the serial - port it is connected at +tuple containing a list of tuples with the board type, a + description and the serial port it is connected at for known device + types and a list of tuples with VID, PID and description for unknown + devices </dd> </dl> <dl> <dt>Return Type:</dt> <dd> -set of tuples of (str, str, str) +tuple of (list of tuples of (str, str, str), list of tuples of + (int, int, str) </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/eric6/Documentation/Source/eric6.MicroPython.MicroPythonWidget.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.MicroPython.MicroPythonWidget.html Sun May 31 17:26:14 2020 +0200 @@ -130,6 +130,10 @@ <td>Private slot to handle a change in preferences.</td> </tr> <tr> +<td><a href="#MicroPythonWidget.__manageIgnored">__manageIgnored</a></td> +<td>Private slot to manage the list of ignored serial devices.</td> +</tr> +<tr> <td><a href="#MicroPythonWidget.__mpyCrossAvailable">__mpyCrossAvailable</a></td> <td>Private method to check the availability of mpy-cross.</td> </tr> @@ -397,6 +401,13 @@ <p> Private slot to handle a change in preferences. </p> +<a NAME="MicroPythonWidget.__manageIgnored" ID="MicroPythonWidget.__manageIgnored"></a> +<h4>MicroPythonWidget.__manageIgnored</h4> +<b>__manageIgnored</b>(<i></i>) + +<p> + Private slot to manage the list of ignored serial devices. +</p> <a NAME="MicroPythonWidget.__mpyCrossAvailable" ID="MicroPythonWidget.__mpyCrossAvailable"></a> <h4>MicroPythonWidget.__mpyCrossAvailable</h4> <b>__mpyCrossAvailable</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html Sun May 31 17:26:14 2020 +0200 @@ -209,6 +209,10 @@ <td>Private slot to reset the configuration values to their default values.</td> </tr> <tr> +<td><a href="#CodeStyleCheckerDialog.on_restartButton_clicked">on_restartButton_clicked</a></td> +<td>Private slot to restart a code style check run.</td> +</tr> +<tr> <td><a href="#CodeStyleCheckerDialog.on_resultList_itemActivated">on_resultList_itemActivated</a></td> <td>Private slot to handle the activation of an item.</td> </tr> @@ -763,6 +767,13 @@ <p> Private slot to reset the configuration values to their default values. </p> +<a NAME="CodeStyleCheckerDialog.on_restartButton_clicked" ID="CodeStyleCheckerDialog.on_restartButton_clicked"></a> +<h4>CodeStyleCheckerDialog.on_restartButton_clicked</h4> +<b>on_restartButton_clicked</b>(<i></i>) + +<p> + Private slot to restart a code style check run. +</p> <a NAME="CodeStyleCheckerDialog.on_resultList_itemActivated" ID="CodeStyleCheckerDialog.on_resultList_itemActivated"></a> <h4>CodeStyleCheckerDialog.on_resultList_itemActivated</h4> <b>on_resultList_itemActivated</b>(<i>item, column</i>)
--- a/eric6/Documentation/Source/eric6.UI.UserInterface.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.UI.UserInterface.html Sun May 31 17:26:14 2020 +0200 @@ -323,10 +323,6 @@ <td>Private slot to start the Qt-Assistant executable.</td> </tr> <tr> -<td><a href="#UserInterface.__assistant4">__assistant4</a></td> -<td>Private slot to start the Qt-Assistant 4/5 executable.</td> -</tr> -<tr> <td><a href="#UserInterface.__checkActions">__checkActions</a></td> <td>Private slot to check some actions for their enable/disable status.</td> </tr> @@ -407,10 +403,6 @@ <td>Private slot to start the Qt-Designer executable.</td> </tr> <tr> -<td><a href="#UserInterface.__designer4">__designer4</a></td> -<td>Private slot to start the Qt-Designer 4/5 executable.</td> -</tr> -<tr> <td><a href="#UserInterface.__editPixmap">__editPixmap</a></td> <td>Private slot to show a pixmap in a dialog.</td> </tr> @@ -511,10 +503,6 @@ <td>Private slot to start the Qt-Linguist executable.</td> </tr> <tr> -<td><a href="#UserInterface.__linguist4">__linguist4</a></td> -<td>Private slot to start the Qt-Linguist 4/5 executable.</td> -</tr> -<tr> <td><a href="#UserInterface.__loadSessionFromFile">__loadSessionFromFile</a></td> <td>Private slot to load a session from disk.</td> </tr> @@ -1372,7 +1360,7 @@ </p> <a NAME="UserInterface.__assistant" ID="UserInterface.__assistant"></a> <h4>UserInterface.__assistant</h4> -<b>__assistant</b>(<i>home=None, version=0</i>) +<b>__assistant</b>(<i>home=None</i>) <p> Private slot to start the Qt-Assistant executable. @@ -1383,18 +1371,7 @@ <dd> full pathname of a file to display </dd> -<dt><i>version</i> (int)</dt> -<dd> -indication for the requested version (4 = Qt 4/5) -</dd> </dl> -<a NAME="UserInterface.__assistant4" ID="UserInterface.__assistant4"></a> -<h4>UserInterface.__assistant4</h4> -<b>__assistant4</b>(<i></i>) - -<p> - Private slot to start the Qt-Assistant 4/5 executable. -</p> <a NAME="UserInterface.__checkActions" ID="UserInterface.__checkActions"></a> <h4>UserInterface.__checkActions</h4> <b>__checkActions</b>(<i>editor</i>) @@ -1612,7 +1589,7 @@ </p> <a NAME="UserInterface.__designer" ID="UserInterface.__designer"></a> <h4>UserInterface.__designer</h4> -<b>__designer</b>(<i>fn=None, version=0</i>) +<b>__designer</b>(<i>fn=None</i>) <p> Private slot to start the Qt-Designer executable. @@ -1623,18 +1600,7 @@ <dd> filename of the form to be opened </dd> -<dt><i>version</i> (int)</dt> -<dd> -indication for the requested version (4 = Qt 4/5) -</dd> </dl> -<a NAME="UserInterface.__designer4" ID="UserInterface.__designer4"></a> -<h4>UserInterface.__designer4</h4> -<b>__designer4</b>(<i></i>) - -<p> - Private slot to start the Qt-Designer 4/5 executable. -</p> <a NAME="UserInterface.__editPixmap" ID="UserInterface.__editPixmap"></a> <h4>UserInterface.__editPixmap</h4> <b>__editPixmap</b>(<i>fn=""</i>) @@ -1879,7 +1845,7 @@ </dl> <a NAME="UserInterface.__linguist" ID="UserInterface.__linguist"></a> <h4>UserInterface.__linguist</h4> -<b>__linguist</b>(<i>fn=None, version=0</i>) +<b>__linguist</b>(<i>fn=None</i>) <p> Private slot to start the Qt-Linguist executable. @@ -1890,24 +1856,6 @@ <dd> filename of the translation file to be opened </dd> -<dt><i>version</i> (int)</dt> -<dd> -indication for the requested version (4 = Qt 4/5) -</dd> -</dl> -<a NAME="UserInterface.__linguist4" ID="UserInterface.__linguist4"></a> -<h4>UserInterface.__linguist4</h4> -<b>__linguist4</b>(<i>fn=None</i>) - -<p> - Private slot to start the Qt-Linguist 4/5 executable. -</p> -<dl> - -<dt><i>fn</i></dt> -<dd> -filename of the translation file to be opened -</dd> </dl> <a NAME="UserInterface.__loadSessionFromFile" ID="UserInterface.__loadSessionFromFile"></a> <h4>UserInterface.__loadSessionFromFile</h4>
--- a/eric6/Documentation/Source/eric6.Utilities.__init__.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.Utilities.__init__.html Sun May 31 17:26:14 2020 +0200 @@ -491,9 +491,9 @@ </dl> <dl> -<dt>Raises <b>SyntaxError</b>:</dt> +<dt>Raises <b>err</b>:</dt> <dd> - +exception of type SyntaxError </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -2065,30 +2065,32 @@ <hr /> <a NAME="prepareQtMacBundle" ID="prepareQtMacBundle"></a> <h2>prepareQtMacBundle</h2> -<b>prepareQtMacBundle</b>(<i>toolname, version, args</i>) +<b>prepareQtMacBundle</b>(<i>toolname, args</i>) <p> Module function for starting Qt tools that are Mac OS X bundles. </p> <dl> -<dt><i>toolname</i></dt> -<dd> -plain name of the tool (e.g. "designer") (string) -</dd> -<dt><i>version</i></dt> +<dt><i>toolname</i> (str)</dt> <dd> -indication for the requested version (Qt 4) (integer) +plain name of the tool (e.g. "designer") </dd> -<dt><i>args</i></dt> +<dt><i>args</i> (list of str)</dt> <dd> -name of input file for tool, if any (list of strings) +name of input file for tool, if any </dd> </dl> <dl> <dt>Returns:</dt> <dd> -command-name and args for QProcess (tuple) +command-name and args for QProcess +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +tuple of (str, list of str) </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/eric6/Documentation/Source/eric6.WebBrowser.Network.NetworkManager.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.Network.NetworkManager.html Sun May 31 17:26:14 2020 +0200 @@ -93,6 +93,10 @@ <td>Private method to show an authentication error page.</td> </tr> <tr> +<td><a href="#NetworkManager.__sslErrorHandlingSlot">__sslErrorHandlingSlot</a></td> +<td>Private slot to handle SSL errors for a network reply.</td> +</tr> +<tr> <td><a href="#NetworkManager.authentication">authentication</a></td> <td>Public slot to handle an authentication request.</td> </tr> @@ -113,6 +117,10 @@ <td>Public method to install an URL interceptor.</td> </tr> <tr> +<td><a href="#NetworkManager.isInsecureHost">isInsecureHost</a></td> +<td>Public method to check a host against the list of insecure hosts.</td> +</tr> +<tr> <td><a href="#NetworkManager.languagesChanged">languagesChanged</a></td> <td>Public slot to (re-)load the list of accepted languages.</td> </tr> @@ -193,6 +201,24 @@ reference to the URL requesting authentication </dd> </dl> +<a NAME="NetworkManager.__sslErrorHandlingSlot" ID="NetworkManager.__sslErrorHandlingSlot"></a> +<h4>NetworkManager.__sslErrorHandlingSlot</h4> +<b>__sslErrorHandlingSlot</b>(<i>reply, errors</i>) + +<p> + Private slot to handle SSL errors for a network reply. +</p> +<dl> + +<dt><i>reply</i> (QNetworkReply)</dt> +<dd> +reference to the reply object +</dd> +<dt><i>errors</i> (list of QSslError)</dt> +<dd> +list of SSL errors +</dd> +</dl> <a NAME="NetworkManager.authentication" ID="NetworkManager.authentication"></a> <h4>NetworkManager.authentication</h4> <b>authentication</b>(<i>url, auth, page=None</i>) @@ -300,6 +326,32 @@ URL interceptor to be installed </dd> </dl> +<a NAME="NetworkManager.isInsecureHost" ID="NetworkManager.isInsecureHost"></a> +<h4>NetworkManager.isInsecureHost</h4> +<b>isInsecureHost</b>(<i>host</i>) + +<p> + Public method to check a host against the list of insecure hosts. +</p> +<dl> + +<dt><i>host</i> (str)</dt> +<dd> +name of the host to be checked +</dd> +</dl> +<dl> +<dt>Returns:</dt> +<dd> +flag indicating an insecure host +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> <a NAME="NetworkManager.languagesChanged" ID="NetworkManager.languagesChanged"></a> <h4>NetworkManager.languagesChanged</h4> <b>languagesChanged</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.WebBrowser.SiteInfo.SiteInfoDialog.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.SiteInfo.SiteInfoDialog.html Sun May 31 17:26:14 2020 +0200 @@ -57,7 +57,7 @@ <h3>Class Attributes</h3> <table> -<tr><td>nokStyle</td></tr><tr><td>okStyle</td></tr> +<tr><td>securityStyleFormat</td></tr> </table> <h3>Class Methods</h3>
--- a/eric6/Documentation/Source/eric6.WebBrowser.Tools.WebIconLoader.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.Tools.WebIconLoader.html Sun May 31 17:26:14 2020 +0200 @@ -57,7 +57,7 @@ <dt>iconLoaded(icon)</dt> <dd> -emitted when the con has been loaded +emitted when the icon has been loaded </dd> </dl> <h3>Derived from</h3>
--- a/eric6/Documentation/Source/eric6.WebBrowser.Tools.WebIconProvider.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.Tools.WebIconProvider.html Sun May 31 17:26:14 2020 +0200 @@ -106,11 +106,11 @@ </tr> <tr> <td><a href="#WebIconProvider.load">load</a></td> -<td>Public method to load the bookmarks.</td> +<td>Public method to load the web site icons.</td> </tr> <tr> <td><a href="#WebIconProvider.save">save</a></td> -<td>Public method to save the zoom values.</td> +<td>Public method to save the web site icons.</td> </tr> <tr> <td><a href="#WebIconProvider.saveIcon">saveIcon</a></td> @@ -235,14 +235,14 @@ <b>load</b>(<i></i>) <p> - Public method to load the bookmarks. + Public method to load the web site icons. </p> <a NAME="WebIconProvider.save" ID="WebIconProvider.save"></a> <h4>WebIconProvider.save</h4> <b>save</b>(<i></i>) <p> - Public method to save the zoom values. + Public method to save the web site icons. </p> <a NAME="WebIconProvider.saveIcon" ID="WebIconProvider.saveIcon"></a> <h4>WebIconProvider.saveIcon</h4>
--- a/eric6/Documentation/Source/eric6.WebBrowser.WebBrowserTabWidget.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/eric6.WebBrowser.WebBrowserTabWidget.html Sun May 31 17:26:14 2020 +0200 @@ -150,8 +150,8 @@ <td>Private method to handle the loadFinished signal.</td> </tr> <tr> -<td><a href="#WebBrowserTabWidget.__loadStarted">__loadStarted</a></td> -<td>Private method to handle the loadStarted signal.</td> +<td><a href="#WebBrowserTabWidget.__loadProgress">__loadProgress</a></td> +<td>Private method to handle the loadProgress signal.</td> </tr> <tr> <td><a href="#WebBrowserTabWidget.__navigationMenuTriggered">__navigationMenuTriggered</a></td> @@ -494,15 +494,23 @@ reference to the web browser </dd> </dl> -<a NAME="WebBrowserTabWidget.__loadStarted" ID="WebBrowserTabWidget.__loadStarted"></a> -<h4>WebBrowserTabWidget.__loadStarted</h4> -<b>__loadStarted</b>(<i>browser</i>) +<a NAME="WebBrowserTabWidget.__loadProgress" ID="WebBrowserTabWidget.__loadProgress"></a> +<h4>WebBrowserTabWidget.__loadProgress</h4> +<b>__loadProgress</b>(<i>progress, browser</i>) <p> - Private method to handle the loadStarted signal. + Private method to handle the loadProgress signal. +</p> +<p> + Note: This works around wegengine not sending a loadFinished + signal for navigation on the same page. </p> <dl> +<dt><i>progress</i> (int)</dt> +<dd> +load progress in percent +</dd> <dt><i>browser</i> (WebBrowserView)</dt> <dd> reference to the web browser
--- a/eric6/Documentation/Source/index-eric6.MicroPython.html Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Documentation/Source/index-eric6.MicroPython.html Sun May 31 17:26:14 2020 +0200 @@ -50,6 +50,10 @@ <td>Module implementing a dialog to select the ESP chip type and the firmware to be flashed.</td> </tr> <tr> +<td><a href="eric6.MicroPython.IgnoredDevicesDialog.html">IgnoredDevicesDialog</a></td> +<td>Module implementing a dialog to manage the list of ignored serial devices.</td> +</tr> +<tr> <td><a href="eric6.MicroPython.MicroPythonCommandsInterface.html">MicroPythonCommandsInterface</a></td> <td>Module implementing some file system commands for MicroPython.</td> </tr>
--- a/eric6/E5Gui/E5Application.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/E5Gui/E5Application.py Sun May 31 17:26:14 2020 +0200 @@ -12,6 +12,17 @@ from PyQt5.QtGui import QPalette from PyQt5.QtWidgets import QApplication +try: + QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling) + # __IGNORE_EXCEPTION__ +except AttributeError: + pass +try: + QCoreApplication.setAttribute(Qt.AA_ShareOpenGLContexts) + # __IGNORE_EXCEPTION__ +except AttributeError: + pass + class E5Application(QApplication): """ @@ -24,17 +35,6 @@ @param argv command line arguments @type list """ - try: - QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling) - # __IGNORE_EXCEPTION__ - except AttributeError: - pass - try: - QCoreApplication.setAttribute(Qt.AA_ShareOpenGLContexts) - # __IGNORE_EXCEPTION__ - except AttributeError: - pass - super(E5Application, self).__init__(argv) QCoreApplication.setAttribute(Qt.AA_DontCreateNativeWidgetSiblings)
--- a/eric6/E5Gui/E5StringListEditWidget.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/E5Gui/E5StringListEditWidget.py Sun May 31 17:26:14 2020 +0200 @@ -82,6 +82,16 @@ """ self.defaultButton.setVisible(visible) + def setAddVisible(self, visible): + """ + Public method to show or hide the add button. + + @param visible flag indicating the visibility of the add button + @type bool + """ + self.addButton.setVisible(visible) + self.addLine.setVisible(visible) + @pyqtSlot() def on_addButton_clicked(self): """
--- a/eric6/E5Gui/E5StringListEditWidget.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/E5Gui/E5StringListEditWidget.ui Sun May 31 17:26:14 2020 +0200 @@ -91,7 +91,7 @@ </widget> </item> <item row="1" column="1"> - <widget class="Line" name="line_3"> + <widget class="Line" name="addLine"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property>
--- a/eric6/IconEditor/cursors/cursors_rc.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/IconEditor/cursors/cursors_rc.py Sun May 31 17:26:14 2020 +0200 @@ -2,81 +2,13 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.12.1) +# Created by: The Resource Compiler for PyQt5 (Qt v5.14.2) # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore qt_resource_data = b"\ -\x00\x00\x01\x07\ -\x3c\ -\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x52\x43\x43\x3e\x0a\x3c\x52\ -\x43\x43\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x30\x22\ -\x3e\x0a\x3c\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x3e\x0a\x20\x20\ -\x3c\x66\x69\x6c\x65\x3e\x61\x69\x6d\x2d\x63\x75\x72\x73\x6f\x72\ -\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\x66\ -\x69\x6c\x65\x3e\x63\x6f\x6c\x6f\x72\x70\x69\x63\x6b\x65\x72\x2d\ -\x63\x75\x72\x73\x6f\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\ -\x3e\x0a\x20\x20\x3c\x66\x69\x6c\x65\x3e\x63\x75\x72\x73\x6f\x72\ -\x73\x2e\x71\x72\x63\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\ -\x66\x69\x6c\x65\x3e\x65\x72\x61\x73\x65\x72\x2d\x63\x75\x72\x73\ -\x6f\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\ -\x3c\x66\x69\x6c\x65\x3e\x66\x69\x6c\x6c\x2d\x63\x75\x72\x73\x6f\ -\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\ -\x66\x69\x6c\x65\x3e\x70\x61\x69\x6e\x74\x62\x72\x75\x73\x68\x2d\ -\x63\x75\x72\x73\x6f\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\ -\x3e\x0a\x3c\x2f\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x3e\x0a\x3c\ -\x2f\x52\x43\x43\x3e\x0a\ -\x00\x00\x02\xe1\ -\x2f\ -\x2a\x20\x58\x50\x4d\x20\x2a\x2f\x0a\x73\x74\x61\x74\x69\x63\x20\ -\x63\x68\x61\x72\x20\x2a\x65\x72\x61\x73\x65\x72\x5b\x5d\x3d\x7b\ -\x0a\x22\x32\x32\x20\x32\x32\x20\x38\x20\x31\x22\x2c\x0a\x22\x2e\ -\x20\x63\x20\x4e\x6f\x6e\x65\x22\x2c\x0a\x22\x63\x20\x63\x20\x23\ -\x31\x34\x31\x34\x31\x34\x22\x2c\x0a\x22\x66\x20\x63\x20\x23\x32\ -\x63\x32\x63\x32\x63\x22\x2c\x0a\x22\x65\x20\x63\x20\x23\x34\x32\ -\x34\x32\x34\x32\x22\x2c\x0a\x22\x62\x20\x63\x20\x23\x39\x33\x39\ -\x33\x39\x33\x22\x2c\x0a\x22\x61\x20\x63\x20\x23\x63\x39\x63\x39\ -\x63\x39\x22\x2c\x0a\x22\x64\x20\x63\x20\x23\x64\x35\x64\x35\x64\ -\x35\x22\x2c\x0a\x22\x23\x20\x63\x20\x23\x66\x66\x66\x66\x66\x66\ -\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ -\x2e\x2e\x2e\x23\x23\x23\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\ -\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\ -\x23\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ -\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\x62\x23\x2e\x2e\x22\x2c\ -\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\ -\x62\x62\x62\x62\x62\x62\x23\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\ -\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\x62\x62\x62\x62\ -\x62\x23\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ -\x23\x61\x62\x62\x62\x62\x62\x62\x62\x62\x62\x23\x22\x2c\x0a\x22\ -\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\x62\x62\ -\x62\x62\x62\x62\x63\x23\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\ -\x2e\x2e\x23\x61\x62\x62\x62\x62\x62\x62\x62\x62\x62\x63\x23\x2e\ -\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\ -\x62\x62\x62\x62\x62\x62\x63\x23\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\ -\x2e\x2e\x2e\x2e\x23\x64\x61\x61\x62\x62\x62\x62\x62\x62\x62\x63\ -\x23\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x23\x64\x65\ -\x65\x61\x61\x62\x62\x62\x62\x62\x63\x23\x2e\x2e\x2e\x2e\x22\x2c\ -\x0a\x22\x2e\x2e\x2e\x2e\x23\x64\x65\x65\x65\x65\x61\x61\x62\x62\ -\x62\x63\x23\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x23\ -\x64\x65\x65\x65\x65\x65\x65\x61\x61\x62\x63\x23\x2e\x2e\x2e\x2e\ -\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x23\x64\x65\x65\x65\x65\x65\x65\ -\x65\x65\x61\x63\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\ -\x2e\x23\x64\x65\x65\x65\x65\x65\x65\x65\x65\x65\x66\x23\x2e\x2e\ -\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x23\x64\x65\x65\x65\x65\ -\x65\x65\x65\x65\x65\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ -\x22\x2c\x0a\x22\x23\x64\x64\x65\x65\x65\x65\x65\x65\x65\x66\x23\ -\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x23\x64\ -\x64\x64\x65\x65\x65\x65\x65\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ -\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x23\x64\x64\x64\x65\x65\x65\ -\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\ -\x0a\x22\x2e\x2e\x23\x64\x64\x64\x65\x66\x23\x2e\x2e\x2e\x2e\x2e\ -\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x23\ -\x64\x64\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ -\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x23\x23\x23\x2e\x2e\x2e\ -\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x7d\x3b\x0a\ -\ \x00\x00\x03\x14\ \x2f\ \x2a\x20\x58\x50\x4d\x20\x2a\x2f\x0a\x73\x74\x61\x74\x69\x63\x20\ @@ -129,16 +61,25 @@ \x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x23\x69\x23\x2e\x2e\x2e\x2e\ \x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\ \x7d\x3b\x0a\ -\x00\x00\x00\x7d\ -\x00\ -\x00\x02\x93\x78\x9c\xd3\xd7\x52\x88\x08\xf0\x55\xd0\xd2\xe7\x2a\ -\x2e\x49\x2c\xc9\x4c\x56\x48\xce\x48\x2c\x52\xd0\x4a\xcc\xcc\x8d\ -\x8e\xb5\xad\xe6\x52\x32\x32\x52\x00\x22\x63\x05\x43\x25\x1d\x2e\ -\x25\x3d\x85\x64\x05\xbf\xfc\xbc\x54\x10\x3b\x11\xc8\x56\x36\x00\ -\x03\x10\x57\x19\xc4\x4d\x03\x03\xb0\x4a\xac\x00\x55\x46\x19\x97\ -\x8c\x72\xa2\xf2\x50\x92\x51\x86\x00\x3d\x64\x16\x58\x46\x39\x11\ -\x02\x80\x7c\x28\x4b\x99\xa0\x1e\x38\x48\x1c\x8a\xa1\x83\x3b\x4e\ -\x51\x00\x1e\x99\x5a\x6b\x2e\x00\x12\x9a\x79\xb2\ +\x00\x00\x01\x07\ +\x3c\ +\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x52\x43\x43\x3e\x0a\x3c\x52\ +\x43\x43\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x30\x22\ +\x3e\x0a\x3c\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x3e\x0a\x20\x20\ +\x3c\x66\x69\x6c\x65\x3e\x61\x69\x6d\x2d\x63\x75\x72\x73\x6f\x72\ +\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\x66\ +\x69\x6c\x65\x3e\x63\x6f\x6c\x6f\x72\x70\x69\x63\x6b\x65\x72\x2d\ +\x63\x75\x72\x73\x6f\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\ +\x3e\x0a\x20\x20\x3c\x66\x69\x6c\x65\x3e\x63\x75\x72\x73\x6f\x72\ +\x73\x2e\x71\x72\x63\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\ +\x66\x69\x6c\x65\x3e\x65\x72\x61\x73\x65\x72\x2d\x63\x75\x72\x73\ +\x6f\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\ +\x3c\x66\x69\x6c\x65\x3e\x66\x69\x6c\x6c\x2d\x63\x75\x72\x73\x6f\ +\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\x3e\x0a\x20\x20\x3c\ +\x66\x69\x6c\x65\x3e\x70\x61\x69\x6e\x74\x62\x72\x75\x73\x68\x2d\ +\x63\x75\x72\x73\x6f\x72\x2e\x78\x70\x6d\x3c\x2f\x66\x69\x6c\x65\ +\x3e\x0a\x3c\x2f\x71\x72\x65\x73\x6f\x75\x72\x63\x65\x3e\x0a\x3c\ +\x2f\x52\x43\x43\x3e\x0a\ \x00\x00\x03\x0d\ \x2f\ \x2a\x20\x58\x50\x4d\x20\x2a\x2f\x0a\x73\x74\x61\x74\x69\x63\x20\ @@ -242,27 +183,77 @@ \x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ \x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x7d\ \x3b\x0a\ +\x00\x00\x00\x7d\ +\x00\ +\x00\x02\x93\x78\x9c\xd3\xd7\x52\x88\x08\xf0\x55\xd0\xd2\xe7\x2a\ +\x2e\x49\x2c\xc9\x4c\x56\x48\xce\x48\x2c\x52\xd0\x4a\xcc\xcc\x8d\ +\x8e\xb5\xad\xe6\x52\x32\x32\x52\x00\x22\x63\x05\x43\x25\x1d\x2e\ +\x25\x3d\x85\x64\x05\xbf\xfc\xbc\x54\x10\x3b\x11\xc8\x56\x36\x00\ +\x03\x10\x57\x19\xc4\x4d\x03\x03\xb0\x4a\xac\x00\x55\x46\x19\x97\ +\x8c\x72\xa2\xf2\x50\x92\x51\x86\x00\x3d\x64\x16\x58\x46\x39\x11\ +\x02\x80\x7c\x28\x4b\x99\xa0\x1e\x38\x48\x1c\x8a\xa1\x83\x3b\x4e\ +\x51\x00\x1e\x99\x5a\x6b\x2e\x00\x12\x9a\x79\xb2\ +\x00\x00\x02\xe1\ +\x2f\ +\x2a\x20\x58\x50\x4d\x20\x2a\x2f\x0a\x73\x74\x61\x74\x69\x63\x20\ +\x63\x68\x61\x72\x20\x2a\x65\x72\x61\x73\x65\x72\x5b\x5d\x3d\x7b\ +\x0a\x22\x32\x32\x20\x32\x32\x20\x38\x20\x31\x22\x2c\x0a\x22\x2e\ +\x20\x63\x20\x4e\x6f\x6e\x65\x22\x2c\x0a\x22\x63\x20\x63\x20\x23\ +\x31\x34\x31\x34\x31\x34\x22\x2c\x0a\x22\x66\x20\x63\x20\x23\x32\ +\x63\x32\x63\x32\x63\x22\x2c\x0a\x22\x65\x20\x63\x20\x23\x34\x32\ +\x34\x32\x34\x32\x22\x2c\x0a\x22\x62\x20\x63\x20\x23\x39\x33\x39\ +\x33\x39\x33\x22\x2c\x0a\x22\x61\x20\x63\x20\x23\x63\x39\x63\x39\ +\x63\x39\x22\x2c\x0a\x22\x64\x20\x63\x20\x23\x64\x35\x64\x35\x64\ +\x35\x22\x2c\x0a\x22\x23\x20\x63\x20\x23\x66\x66\x66\x66\x66\x66\ +\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ +\x2e\x2e\x2e\x23\x23\x23\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\ +\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\ +\x23\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ +\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\x62\x23\x2e\x2e\x22\x2c\ +\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\ +\x62\x62\x62\x62\x62\x62\x23\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\ +\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\x62\x62\x62\x62\ +\x62\x23\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ +\x23\x61\x62\x62\x62\x62\x62\x62\x62\x62\x62\x23\x22\x2c\x0a\x22\ +\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\x62\x62\ +\x62\x62\x62\x62\x63\x23\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\ +\x2e\x2e\x23\x61\x62\x62\x62\x62\x62\x62\x62\x62\x62\x63\x23\x2e\ +\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x23\x61\x62\x62\x62\ +\x62\x62\x62\x62\x62\x62\x63\x23\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\ +\x2e\x2e\x2e\x2e\x23\x64\x61\x61\x62\x62\x62\x62\x62\x62\x62\x63\ +\x23\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x2e\x23\x64\x65\ +\x65\x61\x61\x62\x62\x62\x62\x62\x63\x23\x2e\x2e\x2e\x2e\x22\x2c\ +\x0a\x22\x2e\x2e\x2e\x2e\x23\x64\x65\x65\x65\x65\x61\x61\x62\x62\ +\x62\x63\x23\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x23\ +\x64\x65\x65\x65\x65\x65\x65\x61\x61\x62\x63\x23\x2e\x2e\x2e\x2e\ +\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x23\x64\x65\x65\x65\x65\x65\x65\ +\x65\x65\x61\x63\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\ +\x2e\x23\x64\x65\x65\x65\x65\x65\x65\x65\x65\x65\x66\x23\x2e\x2e\ +\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x23\x64\x65\x65\x65\x65\ +\x65\x65\x65\x65\x65\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ +\x22\x2c\x0a\x22\x23\x64\x64\x65\x65\x65\x65\x65\x65\x65\x66\x23\ +\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x23\x64\ +\x64\x64\x65\x65\x65\x65\x65\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ +\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x23\x64\x64\x64\x65\x65\x65\ +\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\ +\x0a\x22\x2e\x2e\x23\x64\x64\x64\x65\x66\x23\x2e\x2e\x2e\x2e\x2e\ +\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x23\ +\x64\x64\x66\x23\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\ +\x2e\x2e\x22\x2c\x0a\x22\x2e\x2e\x2e\x2e\x23\x23\x23\x2e\x2e\x2e\ +\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x22\x7d\x3b\x0a\ +\ " qt_resource_name = b"\ -\x00\x0b\ -\x06\x43\xcb\xc3\ -\x00\x63\ -\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\x00\x73\x00\x2e\x00\x71\x00\x72\x00\x63\ -\x00\x11\ -\x03\x70\x24\x2d\ -\x00\x65\ -\x00\x72\x00\x61\x00\x73\x00\x65\x00\x72\x00\x2d\x00\x63\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\x00\x2e\x00\x78\x00\x70\x00\x6d\ -\ \x00\x16\ \x0c\xac\xdf\x8d\ \x00\x63\ \x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x70\x00\x69\x00\x63\x00\x6b\x00\x65\x00\x72\x00\x2d\x00\x63\x00\x75\x00\x72\x00\x73\x00\x6f\ \x00\x72\x00\x2e\x00\x78\x00\x70\x00\x6d\ -\x00\x0e\ -\x0a\x62\x1c\x4d\ -\x00\x61\ -\x00\x69\x00\x6d\x00\x2d\x00\x63\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\x00\x2e\x00\x78\x00\x70\x00\x6d\ +\x00\x0b\ +\x06\x43\xcb\xc3\ +\x00\x63\ +\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\x00\x73\x00\x2e\x00\x71\x00\x72\x00\x63\ \x00\x0f\ \x0f\x83\xb2\x4d\ \x00\x66\ @@ -272,33 +263,42 @@ \x00\x70\ \x00\x61\x00\x69\x00\x6e\x00\x74\x00\x62\x00\x72\x00\x75\x00\x73\x00\x68\x00\x2d\x00\x63\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\ \x00\x2e\x00\x78\x00\x70\x00\x6d\ +\x00\x0e\ +\x0a\x62\x1c\x4d\ +\x00\x61\ +\x00\x69\x00\x6d\x00\x2d\x00\x63\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\x00\x2e\x00\x78\x00\x70\x00\x6d\ +\x00\x11\ +\x03\x70\x24\x2d\ +\x00\x65\ +\x00\x72\x00\x61\x00\x73\x00\x65\x00\x72\x00\x2d\x00\x63\x00\x75\x00\x72\x00\x73\x00\x6f\x00\x72\x00\x2e\x00\x78\x00\x70\x00\x6d\ +\ " qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\ -\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x01\x0b\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xcc\ +\x00\x00\x00\x32\x00\x00\x00\x00\x00\x01\x00\x00\x03\x18\ +\x00\x00\x00\xa2\x00\x01\x00\x00\x00\x01\x00\x00\x0a\x4b\ +\x00\x00\x00\x72\x00\x00\x00\x00\x00\x01\x00\x00\x07\x34\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x76\x00\x01\x00\x00\x00\x01\x00\x00\x07\x08\ -\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x9a\ -\x00\x00\x00\x44\x00\x00\x00\x00\x00\x01\x00\x00\x03\xf0\ -\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x07\x89\ +\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x04\x23\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x01\x0b\ -\x00\x00\x01\x6a\x36\x3b\x50\x01\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xcc\ +\x00\x00\x01\x71\xda\xe0\x03\x7f\ +\x00\x00\x00\x32\x00\x00\x00\x00\x00\x01\x00\x00\x03\x18\ +\x00\x00\x01\x71\xda\xe0\x03\x83\ +\x00\x00\x00\xa2\x00\x01\x00\x00\x00\x01\x00\x00\x0a\x4b\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x00\x72\x00\x00\x00\x00\x00\x01\x00\x00\x07\x34\ +\x00\x00\x01\x71\xda\xe0\x03\x7b\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x6a\x36\x3b\x50\x36\ -\x00\x00\x00\x76\x00\x01\x00\x00\x00\x01\x00\x00\x07\x08\ -\x00\x00\x01\x6a\x36\x3b\x4f\xf9\ -\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x9a\ -\x00\x00\x01\x6a\x36\x3b\x4f\xf4\ -\x00\x00\x00\x44\x00\x00\x00\x00\x00\x01\x00\x00\x03\xf0\ -\x00\x00\x01\x6a\x36\x3b\x50\xb1\ -\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\x07\x89\ -\x00\x00\x01\x6a\x36\x3b\x4f\xa4\ +\x00\x00\x01\x71\xda\xe0\x03\x93\ +\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x04\x23\ +\x00\x00\x01\x71\xda\xe0\x03\x7b\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')]
--- a/eric6/MicroPython/CircuitPythonDevices.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/CircuitPythonDevices.py Sun May 31 17:26:14 2020 +0200 @@ -190,7 +190,7 @@ """ Private slot to flash a CircuitPython firmware to the device. """ - ok = E5MessageBox.information( + button = E5MessageBox.information( self.microPython, self.tr("Flash CircuitPython Firmware"), self.tr("Please reset the device to bootloader mode and confirm" @@ -198,7 +198,7 @@ E5MessageBox.StandardButtons( E5MessageBox.Abort | E5MessageBox.Ok)) - if ok: + if button == E5MessageBox.Ok: from .CircuitPythonFirmwareSelectionDialog import ( CircuitPythonFirmwareSelectionDialog) dlg = CircuitPythonFirmwareSelectionDialog()
--- a/eric6/MicroPython/CircuitPythonFirmwareSelectionDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/CircuitPythonFirmwareSelectionDialog.py Sun May 31 17:26:14 2020 +0200 @@ -48,22 +48,49 @@ self.bootPicker.setMode(E5PathPickerModes.DirectoryShowFilesMode) + self.__manualMarker = "<manual>" boards = ( ("", ""), # indicator for no selection + # Adafruit boards + ("--- Adafruit ---", ""), + ("CLUE nRF52840 Express", "CLUEBOOT"), + ("Circuit Playground Bluefruit", "CPLAYBTBOOT"), ("Circuit Playground Express", "CPLAYBOOT"), + ("Feather Bluefruit Sense", "FTHR840BOOT"), + ("Feather M0 Adalogger", "FEATHERBOOT"), + ("Feather M0 Basic", "FEATHERBOOT"), ("Feather M0 Express", "FEATHERBOOT"), + ("Feather M0 RFM69", "FEATHERBOOT"), + ("Feather M0 RFM9x", "FEATHERBOOT"), ("Feather M4 Express", "FEATHERBOOT"), + ("Feather nRF52840 Express", "FTHR840BOOT"), ("Gemma M0", "GEMMABOOT"), ("Grand Central M4 Express", "GCM4BOOT"), + ("Hallowing M4 Express", "HALLOM4BOOT"), ("ItsyBitsy M0 Express", "ITSYBOOT"), ("ItsyBitsy M4 Express", "ITSYM4BOOT"), + ("ItsyBitsy nRF52840 Express", " ITSY840BOOT"), ("Metro M0 Express", "METROBOOT"), ("Metro M4 Express", "METROM4BOOT"), + ("Metro M4 Express AirLift", "METROM4BOOT"), ("NeoTrelis M4 Express", "TRELM4BOOT"), + ("PyBadge", "BADGEBOOT"), + ("PyGamer", "PYGAMERBOOT"), + ("PyPortal", "PORTALBOOT"), + ("PyPortal Pynt", "PORTALBOOT"), + ("PyPortal Titano", "PORTALBOOT"), + ("PyRuler", "TRINKETBOOT"), ("Trinket M0", "TRINKETBOOT"), - ("Manual Select", "<manual>"), + # SparkFun boards + ("--- SparkFun ---", ""), + ("Qwiic Micro", "QwiicMicro"), + ("SAMD51 Thing Plus", "51THINGBOOT"), + ("RedBoard Turbo", "TURBOBOOT"), + ("Pro nRF52840 Mini", "NRF52BOOT"), + + (self.tr("Manual Select"), self.__manualMarker), ) for boardName, bootVolume in boards: self.boardComboBox.addItem(boardName, bootVolume) @@ -84,7 +111,7 @@ enable = False else: volumeName = self.boardComboBox.currentData() - if volumeName and volumeName != "<manual>": + if volumeName and volumeName != self.__manualMarker: # check if the user selected a board and the board is in # bootloader mode deviceDirectory = Utilities.findVolume(volumeName) @@ -104,7 +131,7 @@ .format(volumeName) ) - elif volumeName == "<manual>": + elif volumeName == self.__manualMarker: # select the device path manually deviceDirectory = self.bootPicker.text() enable = (bool(deviceDirectory) and @@ -134,7 +161,7 @@ @param index index of the selected board type @type int """ - if self.boardComboBox.itemData(index) == "<manual>": + if self.boardComboBox.itemData(index) == self.__manualMarker: self.bootPicker.clear() self.bootPicker.setEnabled(True) else:
--- a/eric6/MicroPython/EspBackupRestoreFirmwareDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/EspBackupRestoreFirmwareDialog.py Sun May 31 17:26:14 2020 +0200 @@ -26,7 +26,12 @@ Class implementing a dialog to select the ESP chip type and the backup and restore parameters. """ - FlashModes = ["qio", "qout", "dio", "dout"] + FlashModes = [ + ("Quad I/O", "qio"), + ("Quad Output", "qout"), + ("Dual I/O", "dio"), + ("Dual Output", "dout"), + ] FlashSizes = { "ESP32": [ (" 1 MB", "0x100000"), @@ -72,7 +77,8 @@ self.setWindowTitle(self.tr("Backup Firmware")) else: self.firmwarePicker.setMode(E5PathPickerModes.OpenFileMode) - self.modeComboBox.addItems(self.FlashModes) + for text, mode in self.FlashModes: + self.modeComboBox.addItem(text, mode) self.setWindowTitle(self.tr("Restore Firmware")) msh = self.minimumSizeHint() @@ -131,6 +137,6 @@ return ( self.espComboBox.currentText().lower(), self.sizeComboBox.currentData(), - self.modeComboBox.currentText(), + self.modeComboBox.currentData(), self.firmwarePicker.text(), )
--- a/eric6/MicroPython/EspDevices.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/EspDevices.py Sun May 31 17:26:14 2020 +0200 @@ -191,7 +191,7 @@ from .EspFirmwareSelectionDialog import EspFirmwareSelectionDialog dlg = EspFirmwareSelectionDialog() if dlg.exec_() == QDialog.Accepted: - chip, firmware, _ = dlg.getData() + chip, firmware, flashMode, _ = dlg.getData() if chip == "esp8266": flashAddress = "0x0000" elif chip == "esp32": @@ -205,9 +205,15 @@ "--chip", chip, "--port", self.microPython.getCurrentPort(), "write_flash", + ] + if flashMode: + flashArgs.extend([ + "--flash_mode", flashMode + ]) + flashArgs.extend([ flashAddress, firmware, - ] + ]) dlg = E5ProcessDialog(self.tr("'esptool write_flash' Output"), self.tr("Flash MicroPython Firmware"), showProgress=True) @@ -223,16 +229,22 @@ from .EspFirmwareSelectionDialog import EspFirmwareSelectionDialog dlg = EspFirmwareSelectionDialog(addon=True) if dlg.exec_() == QDialog.Accepted: - chip, firmware, flashAddress = dlg.getData() + chip, firmware, flashMode, flashAddress = dlg.getData() flashArgs = [ "-u", "-m", "esptool", "--chip", chip, "--port", self.microPython.getCurrentPort(), "write_flash", + ] + if flashMode: + flashArgs.extend([ + "--flash_mode", flashMode + ]) + flashArgs.extend([ flashAddress.lower(), firmware, - ] + ]) dlg = E5ProcessDialog(self.tr("'esptool write_flash' Output"), self.tr("Flash Additional Firmware"), showProgress=True)
--- a/eric6/MicroPython/EspFirmwareSelectionDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/EspFirmwareSelectionDialog.py Sun May 31 17:26:14 2020 +0200 @@ -25,6 +25,14 @@ Class implementing a dialog to select the ESP chip type and the firmware to be flashed. """ + FlashModes = ( + ("", ""), + ("Quad I/O", "qio"), + ("Quad Output", "qout"), + ("Dual I/O", "dio"), + ("Dual Output", "dout"), + ) + def __init__(self, addon=False, parent=None): """ Constructor @@ -45,6 +53,9 @@ self.espComboBox.addItems(["", "ESP32", "ESP8266"]) + for text, mode in self.FlashModes: + self.modeComboBox.addItem(text, mode) + if addon: self.__validator = QRegularExpressionValidator( QRegularExpression(r"[0-9a-fA-F]{0,4}") @@ -93,8 +104,8 @@ Public method to get the entered data. @return tuple containing the selected chip type, the path of the - firmware file and the flash address - @rtype tuple of (str, str, str) + firmware file, the flash mode and the flash address + @rtype tuple of (str, str, str, str) """ if self.__addon: address = self.addressEdit.text() @@ -104,5 +115,6 @@ return ( self.espComboBox.currentText().lower(), self.firmwarePicker.text(), + self.modeComboBox.currentData(), address, )
--- a/eric6/MicroPython/EspFirmwareSelectionDialog.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/EspFirmwareSelectionDialog.ui Sun May 31 17:26:14 2020 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>500</width> - <height>114</height> + <height>140</height> </rect> </property> <property name="windowTitle"> @@ -43,7 +43,7 @@ </property> <property name="sizeHint" stdset="0"> <size> - <width>40</width> + <width>318</width> <height>20</height> </size> </property> @@ -67,13 +67,37 @@ </widget> </item> <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="toolTip"> + <string/> + </property> + <property name="text"> + <string>Flash Mode:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QComboBox" name="modeComboBox"> + <property name="toolTip"> + <string>Select the flash mode</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Leave empty to use the default mode.</string> + </property> + </widget> + </item> + <item row="3" column="0"> <widget class="QLabel" name="addressLabel"> <property name="text"> <string>Address:</string> </property> </widget> </item> - <item row="2" column="1" colspan="2"> + <item row="3" column="1" colspan="2"> <widget class="E5ClearableLineEdit" name="addressEdit"> <property name="toolTip"> <string>Enter the flash addres in the hexadecimal form</string> @@ -113,6 +137,7 @@ <tabstops> <tabstop>espComboBox</tabstop> <tabstop>firmwarePicker</tabstop> + <tabstop>modeComboBox</tabstop> <tabstop>addressEdit</tabstop> </tabstops> <resources/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/MicroPython/IgnoredDevicesDialog.py Sun May 31 17:26:14 2020 +0200 @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2020 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog to manage the list of ignored serial devices. +""" + +from PyQt5.QtWidgets import QDialog + +from .Ui_IgnoredDevicesDialog import Ui_IgnoredDevicesDialog + + +class IgnoredDevicesDialog(QDialog, Ui_IgnoredDevicesDialog): + """ + Class implementing a dialog to manage the list of ignored serial devices. + """ + def __init__(self, deviceList, parent=None): + """ + Constructor + + @param deviceList list of ignored serial devices given by VID and PID + @type list of tuple of (int, int) + @param parent reference to the parent widget + @type QWidget + """ + super(IgnoredDevicesDialog, self).__init__(parent) + self.setupUi(self) + + self.devicesEditWidget.setList([ + "{0} ({1:04x}/{2:04x})".format(description, vid, pid) + for vid, pid, description in deviceList + ]) + + self.devicesEditWidget.setDefaultVisible(False) + self.devicesEditWidget.setAddVisible(False) + + def getDevices(self): + """ + Public method to get the list of ignored serial devices. + + @return list of tuples containing the VID, PID and a description + of each ignored device + @rtype list of tuple of (int, int, str) + """ + deviceList = [] + textList = self.devicesEditWidget.getList() + for entry in textList: + description, vid_pid = entry.rsplit(None, 1) + vid, pid = vid_pid[1:-1].split("/", 1) + deviceList.append((int(vid, 16), int(pid, 16), description)) + + return deviceList
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/MicroPython/IgnoredDevicesDialog.ui Sun May 31 17:26:14 2020 +0200 @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>IgnoredDevicesDialog</class> + <widget class="QDialog" name="IgnoredDevicesDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>500</width> + <height>350</height> + </rect> + </property> + <property name="windowTitle"> + <string>Ignored Serial Devices</string> + </property> + <property name="sizeGripEnabled"> + <bool>true</bool> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="E5StringListEditWidget" name="devicesEditWidget" native="true"/> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>E5StringListEditWidget</class> + <extends>QWidget</extends> + <header>E5Gui/E5StringListEditWidget.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <tabstops> + <tabstop>buttonBox</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>IgnoredDevicesDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>227</x> + <y>329</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>IgnoredDevicesDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>295</x> + <y>335</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui>
--- a/eric6/MicroPython/MicroPythonDevices.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/MicroPythonDevices.py Sun May 31 17:26:14 2020 +0200 @@ -43,7 +43,7 @@ (0x1209, 0x2017), # Mini SAM M4 (0x1209, 0x7102), # Mini SAM M0 ], - "description": "CircuitPython Boards", + "description": "CircuitPython Board", "icon": "circuitPythonDevice", }, @@ -93,16 +93,21 @@ """ Function to check the serial ports for supported MicroPython devices. - @return set of tuples with the board type, a description and the serial - port it is connected at - @rtype set of tuples of (str, str, str) + @return tuple containing a list of tuples with the board type, a + description and the serial port it is connected at for known device + types and a list of tuples with VID, PID and description for unknown + devices + @rtype tuple of (list of tuples of (str, str, str), list of tuples of + (int, int, str) """ from PyQt5.QtSerialPort import QSerialPortInfo foundDevices = [] + unknownDevices = [] availablePorts = QSerialPortInfo.availablePorts() for port in availablePorts: + supported = False vid = port.vendorIdentifier() pid = port.productIdentifier() for board in SupportedBoards: @@ -111,10 +116,14 @@ foundDevices.append( (board, SupportedBoards[board]["description"], port.portName())) - else: - logging.debug("Unknown device: (0x%04x:0x%04x)", vid, pid) + supported = True + if not supported: + if vid and pid: + unknownDevices.append((vid, pid, port.description())) + logging.debug("Unknown device: (0x%04x:0x%04x %s)", + vid, pid, port.description()) - return foundDevices + return foundDevices, unknownDevices def getDeviceIcon(boardName, iconFormat=True):
--- a/eric6/MicroPython/MicroPythonWidget.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/MicroPython/MicroPythonWidget.py Sun May 31 17:26:14 2020 +0200 @@ -16,7 +16,7 @@ from PyQt5.QtGui import QColor, QKeySequence, QTextCursor, QBrush from PyQt5.QtWidgets import ( QWidget, QMenu, QApplication, QHBoxLayout, QSpacerItem, QSizePolicy, - QTextEdit, QToolButton + QTextEdit, QToolButton, QDialog ) from E5Gui.E5ZoomWidget import E5ZoomWidget @@ -295,7 +295,7 @@ self.deviceInfoLabel.clear() self.deviceTypeComboBox.addItem("", "") - devices = MicroPythonDevices.getFoundDevices() + devices, unknownDevices = MicroPythonDevices.getFoundDevices() if devices: self.deviceInfoLabel.setText( self.tr("%n supported device(s) detected.", "", len(devices))) @@ -325,6 +325,39 @@ self.on_deviceTypeComboBox_activated(index) self.deviceTypeComboBox.setCurrentIndex(index) + + if unknownDevices: + ignoredUnknown = { + tuple(d) + for d in Preferences.getMicroPython("IgnoredUnknownDevices") + } + newUnknownDevices = set(unknownDevices) - ignoredUnknown + if newUnknownDevices: + button = E5MessageBox.information( + self, + self.tr("Unknown MicroPython Device"), + self.tr( + '<p>Detected these unknown serial devices</p>' + '<ul>' + '<li>{0}</li>' + '</ul>' + '<p>Please report them together with the board name' + ' and a short description to <a href="mailto:' + 'eric-bugs@eric-ide.python-projects.org"> the eric' + ' bug reporting address</a> if it is a MicroPython' + ' board.</p>' + ).format("</li><li>".join([ + self.tr("{0} ({1:04x}/{2:04x})").format(desc, vid, pid) + for vid, pid, desc in newUnknownDevices])), + E5MessageBox.StandardButtons( + E5MessageBox.Ignore | + E5MessageBox.Ok + ) + ) + if button == E5MessageBox.Ignore: + ignoredUnknown = list(ignoredUnknown | newUnknownDevices) + Preferences.setMicroPython("IgnoredUnknownDevices", + ignoredUnknown) def __handlePreferencesChanged(self): """ @@ -1175,6 +1208,9 @@ self.tr("Show Documentation"), self.__showDocumentation) act.setEnabled(self.__device.hasDocumentationUrl()) self.__superMenu.addSeparator() + self.__superMenu.addAction(self.tr("Ignored Serial Devices"), + self.__manageIgnored) + self.__superMenu.addSeparator() self.__superMenu.addAction(self.tr("Configure"), self.__configure) @pyqtSlot() @@ -1508,6 +1544,22 @@ e5App().getObject("UserInterface").launchHelpViewer(url) @pyqtSlot() + def __manageIgnored(self): + """ + Private slot to manage the list of ignored serial devices. + """ + # TODO: implement this + from .IgnoredDevicesDialog import IgnoredDevicesDialog + + dlg = IgnoredDevicesDialog( + Preferences.getMicroPython("IgnoredUnknownDevices"), + self) + if dlg.exec_() == QDialog.Accepted: + ignoredDevices = dlg.getDevices() + Preferences.setMicroPython("IgnoredUnknownDevices", + ignoredDevices) + + @pyqtSlot() def __configure(self): """ Private slot to open the MicroPython configuration page.
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sun May 31 17:26:14 2020 +0200 @@ -48,7 +48,8 @@ availableFutures = [ 'division', 'absolute_import', 'with_statement', - 'print_function', 'unicode_literals', 'generator_stop'] + 'print_function', 'unicode_literals', 'generator_stop', + 'annotations'] noResults = 0 noFiles = 1 @@ -104,6 +105,9 @@ self.addBuiltinButton.setIcon(UI.PixmapCache.getIcon("plus")) self.deleteBuiltinButton.setIcon(UI.PixmapCache.getIcon("minus")) + self.restartButton.setEnabled(False) + self.fixButton.setEnabled(False) + self.checkProgress.setVisible(False) self.checkProgressLabel.setVisible(False) self.checkProgressLabel.setMaximumWidth(600) @@ -130,6 +134,9 @@ self.__noFixCodesList = [] self.on_loadDefaultButton_clicked() + + self.mainWidget.setCurrentWidget(self.configureTab) + self.optionsTabWidget.setCurrentWidget(self.globalOptionsTab) def __resort(self): """ @@ -411,6 +418,8 @@ if self.__project is None: self.__project = e5App().getObject("Project") + self.mainWidget.setCurrentWidget(self.runTab) + self.cancelled = False self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) @@ -419,6 +428,7 @@ self.showButton.setEnabled(False) self.fixButton.setEnabled(False) self.startButton.setEnabled(False) + self.restartButton.setEnabled(False) if repeat is not None: self.repeatCheckBox.setChecked(repeat) self.checkProgress.setVisible(True) @@ -772,6 +782,7 @@ self.statisticsButton.setEnabled(True) self.showButton.setEnabled(True) self.startButton.setEnabled(True) + self.restartButton.setEnabled(True) if self.results != CodeStyleCheckerDialog.hasResults: if self.results == CodeStyleCheckerDialog.noResults: @@ -855,8 +866,16 @@ self.resultList.clear() self.results = CodeStyleCheckerDialog.noResults self.cancelled = False + self.start(self.__fileOrFileList) + @pyqtSlot() + def on_restartButton_clicked(self): + """ + Private slot to restart a code style check run. + """ + self.on_startButton_clicked() + def __selectCodes(self, edit, showFixCodes): """ Private method to select message codes via a selection dialog.
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui Sun May 31 17:26:14 2020 +0200 @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>700</width> + <width>800</width> <height>700</height> </rect> </property> @@ -21,944 +21,991 @@ <property name="sizeGripEnabled"> <bool>true</bool> </property> - <layout class="QVBoxLayout" name="verticalLayout_7"> + <layout class="QVBoxLayout" name="verticalLayout_9"> <item> - <widget class="QFrame" name="filterFrame"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>4</verstretch> - </sizepolicy> - </property> - <property name="frameShape"> - <enum>QFrame::NoFrame</enum> + <widget class="QTabWidget" name="mainWidget"> + <property name="currentIndex"> + <number>0</number> </property> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QTabWidget" name="optionsTabWidget"> - <property name="currentIndex"> - <number>0</number> - </property> - <widget class="QWidget" name="tab_1"> - <attribute name="title"> - <string>Global Options</string> - </attribute> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="0"> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Exclude Files:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="E5ClearableLineEdit" name="excludeFilesEdit"> - <property name="toolTip"> - <string>Enter filename patterns of files to be excluded separated by a comma</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Exclude Messages:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="E5ClearableLineEdit" name="excludeMessagesEdit"> - <property name="toolTip"> - <string>Enter message codes or categories to be excluded separated by a comma</string> - </property> - </widget> - </item> - <item row="1" column="2"> - <widget class="QToolButton" name="excludeMessagesSelectButton"> - <property name="toolTip"> - <string>Press to select the message codes from a list</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_3"> - <property name="text"> - <string>Included Messages:</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="E5ClearableLineEdit" name="includeMessagesEdit"> - <property name="toolTip"> - <string>Enter message codes or categories to be included separated by a comma</string> - </property> - </widget> - </item> - <item row="2" column="2"> - <widget class="QToolButton" name="includeMessagesSelectButton"> - <property name="toolTip"> - <string>Press to select the message codes from a list</string> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="label_4"> - <property name="text"> - <string>Fix Issues:</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="E5ClearableLineEdit" name="fixIssuesEdit"> - <property name="toolTip"> - <string>Enter message codes of issues to be fixed automatically (leave empty to fix all)</string> - </property> - </widget> - </item> - <item row="3" column="2"> - <widget class="QToolButton" name="fixIssuesSelectButton"> - <property name="toolTip"> - <string>Press to select the message codes from a list</string> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="label_6"> - <property name="text"> - <string>Don't Fix Issues:</string> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="E5ClearableLineEdit" name="noFixIssuesEdit"> - <property name="toolTip"> - <string>Enter message codes of issues not to be fixed automatically</string> - </property> - </widget> - </item> - <item row="4" column="2"> - <widget class="QToolButton" name="noFixIssuesSelectButton"> - <property name="toolTip"> - <string>Press to select the message codes from a list</string> - </property> - </widget> - </item> - <item row="5" column="0" colspan="3"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QCheckBox" name="repeatCheckBox"> - <property name="toolTip"> - <string>Select to repeat each message type</string> - </property> - <property name="text"> - <string>Repeat messages</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="fixIssuesCheckBox"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Select to fix some issues</string> - </property> - <property name="text"> - <string>Fix issues automatically</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="ignoredCheckBox"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Select to show ignored issues</string> - </property> - <property name="text"> - <string>Show ignored</string> + <widget class="QWidget" name="configureTab"> + <attribute name="title"> + <string>Configure</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QTabWidget" name="optionsTabWidget"> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="globalOptionsTab"> + <attribute name="title"> + <string>Global Options</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Exclude Files:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="E5ClearableLineEdit" name="excludeFilesEdit"> + <property name="toolTip"> + <string>Enter filename patterns of files to be excluded separated by a comma</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Exclude Messages:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="E5ClearableLineEdit" name="excludeMessagesEdit"> + <property name="toolTip"> + <string>Enter message codes or categories to be excluded separated by a comma</string> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QToolButton" name="excludeMessagesSelectButton"> + <property name="toolTip"> + <string>Press to select the message codes from a list</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Included Messages:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="E5ClearableLineEdit" name="includeMessagesEdit"> + <property name="toolTip"> + <string>Enter message codes or categories to be included separated by a comma</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QToolButton" name="includeMessagesSelectButton"> + <property name="toolTip"> + <string>Press to select the message codes from a list</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Fix Issues:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="E5ClearableLineEdit" name="fixIssuesEdit"> + <property name="toolTip"> + <string>Enter message codes of issues to be fixed automatically (leave empty to fix all)</string> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QToolButton" name="fixIssuesSelectButton"> + <property name="toolTip"> + <string>Press to select the message codes from a list</string> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>Don't Fix Issues:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="E5ClearableLineEdit" name="noFixIssuesEdit"> + <property name="toolTip"> + <string>Enter message codes of issues not to be fixed automatically</string> + </property> + </widget> + </item> + <item row="4" column="2"> + <widget class="QToolButton" name="noFixIssuesSelectButton"> + <property name="toolTip"> + <string>Press to select the message codes from a list</string> + </property> + </widget> + </item> + <item row="5" column="0" colspan="3"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QCheckBox" name="repeatCheckBox"> + <property name="toolTip"> + <string>Select to repeat each message type</string> + </property> + <property name="text"> + <string>Repeat messages</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="fixIssuesCheckBox"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string>Select to fix some issues</string> + </property> + <property name="text"> + <string>Fix issues automatically</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="ignoredCheckBox"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string>Select to show ignored issues</string> + </property> + <property name="text"> + <string>Show ignored</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item row="6" column="0" colspan="2"> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>68</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="specificOptionsTab"> + <attribute name="title"> + <string>Specific Options</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <property name="leftMargin"> + <number>1</number> + </property> + <property name="topMargin"> + <number>1</number> + </property> + <property name="rightMargin"> + <number>1</number> + </property> + <property name="bottomMargin"> + <number>1</number> + </property> + <item> + <widget class="QScrollArea" name="scrollArea"> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Plain</enum> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOn</enum> + </property> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>389</width> + <height>1102</height> + </rect> </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item row="6" column="0" colspan="2"> - <spacer name="verticalSpacer_2"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>68</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_2"> - <attribute name="title"> - <string>Specific Options</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <property name="leftMargin"> - <number>1</number> - </property> - <property name="topMargin"> - <number>1</number> - </property> - <property name="rightMargin"> - <number>1</number> - </property> - <property name="bottomMargin"> - <number>1</number> - </property> - <item> - <widget class="QScrollArea" name="scrollArea"> - <property name="frameShape"> - <enum>QFrame::NoFrame</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Plain</enum> - </property> - <property name="verticalScrollBarPolicy"> - <enum>Qt::ScrollBarAlwaysOn</enum> - </property> - <property name="widgetResizable"> - <bool>true</bool> - </property> - <widget class="QWidget" name="scrollAreaWidgetContents"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>543</width> - <height>887</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout_6"> - <item> - <widget class="QGroupBox" name="groupBox"> - <property name="title"> - <string>Source Style</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <layout class="QGridLayout" name="gridLayout_5"> - <item row="0" column="0"> - <widget class="QLabel" name="label_5"> - <property name="text"> - <string>Max. Line Length:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QSpinBox" name="lineLengthSpinBox"> - <property name="toolTip"> - <string>Enter the maximum allowed line length (PEP-8: 79 characters)</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="minimum"> - <number>60</number> - </property> - <property name="maximum"> - <number>119</number> - </property> - <property name="value"> - <number>79</number> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_17"> - <property name="text"> - <string>Max. Documentation Line Length:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QSpinBox" name="docLineLengthSpinBox"> - <property name="toolTip"> - <string>Enter the maximum allowed line length (PEP-8: 79 characters)</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="minimum"> - <number>60</number> - </property> - <property name="maximum"> - <number>119</number> - </property> - <property name="value"> - <number>79</number> - </property> - </widget> - </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_3"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QGroupBox" name="groupBox_8"> - <property name="title"> - <string>Blank Lines Before</string> - </property> - <layout class="QGridLayout" name="gridLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Source Style</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QGridLayout" name="gridLayout_5"> <item row="0" column="0"> - <widget class="QLabel" name="label_15"> + <widget class="QLabel" name="label_5"> <property name="text"> - <string>Top Level Classes and Functions:</string> + <string>Max. Line Length:</string> </property> </widget> </item> <item row="0" column="1"> - <widget class="QSpinBox" name="blankBeforeTopLevelSpinBox"> + <widget class="QSpinBox" name="lineLengthSpinBox"> <property name="toolTip"> - <string>Enter the number of blank lines before top level classes and functions</string> + <string>Enter the maximum allowed line length (PEP-8: 79 characters)</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> <property name="minimum"> - <number>1</number> + <number>60</number> </property> <property name="maximum"> - <number>10</number> + <number>119</number> </property> <property name="value"> - <number>2</number> + <number>79</number> </property> </widget> </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_6"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>153</width> - <height>20</height> - </size> - </property> - </spacer> - </item> <item row="1" column="0"> - <widget class="QLabel" name="label_16"> + <widget class="QLabel" name="label_17"> <property name="text"> - <string>Methods and Nested Classes and Functions:</string> + <string>Max. Documentation Line Length:</string> </property> </widget> </item> <item row="1" column="1"> - <widget class="QSpinBox" name="blankBeforeMethodSpinBox"> + <widget class="QSpinBox" name="docLineLengthSpinBox"> <property name="toolTip"> - <string>Enter the number of blank lines before methods and nested classes or functions</string> + <string>Enter the maximum allowed line length (PEP-8: 79 characters)</string> </property> <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> <property name="minimum"> - <number>1</number> + <number>60</number> </property> <property name="maximum"> - <number>10</number> + <number>119</number> </property> <property name="value"> - <number>1</number> + <number>79</number> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QGroupBox" name="groupBox_8"> + <property name="title"> + <string>Blank Lines Before</string> + </property> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QLabel" name="label_15"> + <property name="text"> + <string>Top Level Classes and Functions:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QSpinBox" name="blankBeforeTopLevelSpinBox"> + <property name="toolTip"> + <string>Enter the number of blank lines before top level classes and functions</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>10</number> + </property> + <property name="value"> + <number>2</number> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>153</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_16"> + <property name="text"> + <string>Methods and Nested Classes and Functions:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="blankBeforeMethodSpinBox"> + <property name="toolTip"> + <string>Enter the number of blank lines before methods and nested classes or functions</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>10</number> + </property> + <property name="value"> + <number>1</number> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QCheckBox" name="hangClosingCheckBox"> + <property name="toolTip"> + <string>Select to allow hanging closing brackets</string> + </property> + <property name="text"> + <string>Allow hanging closing brackets</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Documentation Style</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Docstring Type:</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="docTypeComboBox"> + <property name="toolTip"> + <string>Select the rule set for docstrings</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>297</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_4"> + <property name="title"> + <string>Coding Line</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Valid Encodings:</string> + </property> + </widget> + </item> + <item> + <widget class="E5ClearableLineEdit" name="encodingsEdit"> + <property name="toolTip"> + <string>Enter valid encodings separated by a comma (leave empty to use defaults)</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_5"> + <property name="title"> + <string>Copyright</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_10"> + <property name="text"> + <string>Min. File Size:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QSpinBox" name="copyrightFileSizeSpinBox"> + <property name="toolTip"> + <string>Enter the minimum size a file must have to be checked (0 for all files)</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="maximum"> + <number>4096</number> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>324</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_11"> + <property name="text"> + <string>Author:</string> + </property> + </widget> + </item> + <item row="1" column="1" colspan="2"> + <widget class="E5ClearableLineEdit" name="copyrightAuthorEdit"> + <property name="toolTip"> + <string>Enter a copyright author name to check for (leave empty to omit this check)</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_6"> + <property name="title"> + <string>Future Imports</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QLabel" name="label_12"> + <property name="text"> + <string>Expected Imports:</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="futuresList"> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_7"> + <property name="title"> + <string>Ignore Built-ins Assignment</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <widget class="QTreeWidget" name="builtinsAssignmentList"> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>Left</string> + </property> + </column> + <column> + <property name="text"> + <string>Right</string> + </property> + </column> + </widget> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item alignment="Qt::AlignHCenter"> + <widget class="QToolButton" name="addBuiltinButton"> + <property name="toolTip"> + <string>Press to add a built-in assignment to be ignored</string> + </property> + <property name="text"> + <string notr="true">+</string> + </property> + </widget> + </item> + <item alignment="Qt::AlignHCenter"> + <widget class="QToolButton" name="deleteBuiltinButton"> + <property name="toolTip"> + <string>Press to delete the selected entries</string> + </property> + <property name="text"> + <string notr="true">-</string> </property> </widget> </item> + <item> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> </layout> - </widget> - </item> - <item> - <widget class="QCheckBox" name="hangClosingCheckBox"> - <property name="toolTip"> - <string>Select to allow hanging closing brackets</string> - </property> - <property name="text"> - <string>Allow hanging closing brackets</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_2"> - <property name="title"> - <string>Documentation Style</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QLabel" name="label_7"> - <property name="text"> - <string>Docstring Type:</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="docTypeComboBox"> - <property name="toolTip"> - <string>Select the rule set for docstrings</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_4"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>297</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_4"> - <property name="title"> - <string>Coding Line</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_6"> - <item> - <widget class="QLabel" name="label_9"> - <property name="text"> - <string>Valid Encodings:</string> - </property> - </widget> - </item> - <item> - <widget class="E5ClearableLineEdit" name="encodingsEdit"> - <property name="toolTip"> - <string>Enter valid encodings separated by a comma (leave empty to use defaults)</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_5"> - <property name="title"> - <string>Copyright</string> - </property> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="label_10"> - <property name="text"> - <string>Min. File Size:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QSpinBox" name="copyrightFileSizeSpinBox"> - <property name="toolTip"> - <string>Enter the minimum size a file must have to be checked (0 for all files)</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="maximum"> - <number>4096</number> - </property> - </widget> - </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>324</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_11"> - <property name="text"> - <string>Author:</string> - </property> - </widget> - </item> - <item row="1" column="1" colspan="2"> - <widget class="E5ClearableLineEdit" name="copyrightAuthorEdit"> - <property name="toolTip"> - <string>Enter a copyright author name to check for (leave empty to omit this check)</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_6"> - <property name="title"> - <string>Future Imports</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_7"> - <item> - <widget class="QLabel" name="label_12"> - <property name="text"> - <string>Expected Imports:</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> - </property> - </widget> - </item> - <item> - <widget class="QListWidget" name="futuresList"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="selectionMode"> - <enum>QAbstractItemView::ExtendedSelection</enum> - </property> - <property name="sortingEnabled"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_7"> - <property name="title"> - <string>Ignore Built-ins Assignment</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_8"> - <item> - <widget class="QTreeWidget" name="builtinsAssignmentList"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="rootIsDecorated"> - <bool>false</bool> - </property> - <property name="sortingEnabled"> - <bool>true</bool> - </property> - <column> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_9"> + <property name="title"> + <string>Commented Code</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QCheckBox" name="aggressiveCheckBox"> + <property name="toolTip"> + <string>Select to search for commented code more aggressively. This may increase the number of false positives.</string> + </property> + <property name="text"> + <string>Search aggressively</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>Code Complexity</string> + </property> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="2" rowspan="2"> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>313</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_8"> <property name="text"> - <string>Left</string> + <string>Max. McCabe Complexity:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QSpinBox" name="complexitySpinBox"> + <property name="toolTip"> + <string>Enter the maximum allowed code complexity (McCabe: 10)</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="value"> + <number>10</number> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_13"> + <property name="text"> + <string>Max. Line Complexity:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="lineComplexitySpinBox"> + <property name="toolTip"> + <string>Enter the maximum complexity (number of nodes) for a line of code</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="maximum"> + <number>100</number> </property> - </column> - <column> + <property name="value"> + <number>15</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_14"> <property name="text"> - <string>Right</string> + <string>Max. Line Complexity Score:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QSpinBox" name="lineComplexityScoreSpinBox"> + <property name="toolTip"> + <string>Enter the maximum allowed median for line complexity</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="value"> + <number>10</number> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_10"> + <property name="title"> + <string>Type Annotations</string> + </property> + <layout class="QGridLayout" name="gridLayout_6"> + <item row="0" column="0"> + <widget class="QLabel" name="label_18"> + <property name="text"> + <string>Min. Coverage:</string> </property> - </column> - </widget> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_5"> - <item alignment="Qt::AlignHCenter"> - <widget class="QToolButton" name="addBuiltinButton"> - <property name="toolTip"> - <string>Press to add a built-in assignment to be ignored</string> - </property> - <property name="text"> - <string notr="true">+</string> - </property> - </widget> - </item> - <item alignment="Qt::AlignHCenter"> - <widget class="QToolButton" name="deleteBuiltinButton"> - <property name="toolTip"> - <string>Press to delete the selected entries</string> - </property> - <property name="text"> - <string notr="true">-</string> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer_3"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_9"> - <property name="title"> - <string>Commented Code</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> - <item> - <widget class="QCheckBox" name="aggressiveCheckBox"> - <property name="toolTip"> - <string>Select to search for commented code more aggressively. This may increase the number of false positives.</string> - </property> - <property name="text"> - <string>Search aggressively</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_3"> - <property name="title"> - <string>Code Complexity</string> - </property> - <layout class="QGridLayout" name="gridLayout_4"> - <item row="0" column="2" rowspan="2"> - <spacer name="horizontalSpacer_5"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>313</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_8"> - <property name="text"> - <string>Max. McCabe Complexity:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QSpinBox" name="complexitySpinBox"> - <property name="toolTip"> - <string>Enter the maximum allowed code complexity (McCabe: 10)</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="maximum"> - <number>100</number> - </property> - <property name="value"> - <number>10</number> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_13"> - <property name="text"> - <string>Max. Line Complexity:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QSpinBox" name="lineComplexitySpinBox"> - <property name="toolTip"> - <string>Enter the maximum complexity (number of nodes) for a line of code</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="maximum"> - <number>100</number> - </property> - <property name="value"> - <number>15</number> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_14"> - <property name="text"> - <string>Max. Line Complexity Score:</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QSpinBox" name="lineComplexityScoreSpinBox"> - <property name="toolTip"> - <string>Enter the maximum allowed median for line complexity</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - <property name="maximum"> - <number>100</number> - </property> - <property name="value"> - <number>10</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_10"> - <property name="title"> - <string>Type Annotations</string> - </property> - <layout class="QGridLayout" name="gridLayout_6"> - <item row="0" column="0"> - <widget class="QLabel" name="label_18"> - <property name="text"> - <string>Min. Coverage:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QSpinBox" name="minAnnotationsCoverageSpinBox"> - <property name="toolTip"> - <string>Enter the minimum percentage of type annotations</string> - </property> - <property name="specialValueText"> - <string>off</string> - </property> - <property name="suffix"> - <string>%</string> - </property> - <property name="maximum"> - <number>100</number> - </property> - </widget> - </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer_7"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>352</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_19"> - <property name="text"> - <string>Max. Complexity:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QSpinBox" name="maxAnnotationsComplexitySpinBox"> - <property name="toolTip"> - <string>Enter the maximum type annotation complexity</string> - </property> - <property name="minimum"> - <number>1</number> - </property> - <property name="maximum"> - <number>9</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> + </widget> + </item> + <item row="0" column="1"> + <widget class="QSpinBox" name="minAnnotationsCoverageSpinBox"> + <property name="toolTip"> + <string>Enter the minimum percentage of type annotations</string> + </property> + <property name="specialValueText"> + <string>off</string> + </property> + <property name="suffix"> + <string>%</string> + </property> + <property name="maximum"> + <number>100</number> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer_7"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>352</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_19"> + <property name="text"> + <string>Max. Complexity:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="maxAnnotationsComplexitySpinBox"> + <property name="toolTip"> + <string>Enter the maximum type annotation complexity</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>9</number> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> </widget> - </widget> - </item> - </layout> - </widget> - </widget> - </item> - <item> - <widget class="Line" name="line"> - <property name="lineWidth"> - <number>2</number> - </property> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QPushButton" name="startButton"> - <property name="toolTip"> - <string>Press to start the code style check run</string> - </property> - <property name="text"> - <string>&Start</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="fixButton"> - <property name="toolTip"> - <string>Press to fix the selected issues</string> - </property> - <property name="text"> - <string>&Fix Selected</string> - </property> + </item> + </layout> </widget> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>18</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="loadDefaultButton"> - <property name="toolTip"> - <string>Press to load the default values</string> - </property> - <property name="text"> - <string>&Load Defaults</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="storeDefaultButton"> - <property name="toolTip"> - <string>Press to store the current values as defaults</string> - </property> - <property name="text"> - <string>St&ore Defaults</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="resetDefaultButton"> - <property name="toolTip"> - <string>Press to reset the default values</string> - </property> - <property name="text"> - <string>&Reset Defaults</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QTreeWidget" name="resultList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>6</verstretch> - </sizepolicy> - </property> - <property name="whatsThis"> - <string><b>Result List</b> + </widget> + </item> + <item> + <widget class="Line" name="line"> + <property name="lineWidth"> + <number>2</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QPushButton" name="startButton"> + <property name="toolTip"> + <string>Press to start the code style check run</string> + </property> + <property name="text"> + <string>&Start</string> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>18</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="loadDefaultButton"> + <property name="toolTip"> + <string>Press to load the default values</string> + </property> + <property name="text"> + <string>&Load Defaults</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="storeDefaultButton"> + <property name="toolTip"> + <string>Press to store the current values as defaults</string> + </property> + <property name="text"> + <string>St&ore Defaults</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="resetDefaultButton"> + <property name="toolTip"> + <string>Press to reset the default values</string> + </property> + <property name="text"> + <string>&Reset Defaults</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="runTab"> + <attribute name="title"> + <string>Run</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_7"> + <item> + <widget class="QTreeWidget" name="resultList"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>6</verstretch> + </sizepolicy> + </property> + <property name="whatsThis"> + <string><b>Result List</b> <p>This list shows the results of the code style check. Double clicking an entry will open this entry in an editor window and position the cursor at the respective line and position.</p></string> - </property> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="selectionMode"> - <enum>QAbstractItemView::ExtendedSelection</enum> - </property> - <property name="sortingEnabled"> - <bool>true</bool> - </property> - <column> - <property name="text"> - <string>File/Line</string> - </property> - </column> - <column> - <property name="text"> - <string>Code</string> - </property> - </column> - <column> - <property name="text"> - <string>Message</string> - </property> - </column> - </widget> - </item> - <item> - <widget class="E5SqueezeLabelPath" name="checkProgressLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QProgressBar" name="checkProgress"> - <property name="toolTip"> - <string>Shows the progress of the code style check</string> - </property> - <property name="value"> - <number>0</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="format"> - <string>%v/%m Files</string> - </property> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>File/Line</string> + </property> + </column> + <column> + <property name="text"> + <string>Code</string> + </property> + </column> + <column> + <property name="text"> + <string>Message</string> + </property> + </column> + </widget> + </item> + <item> + <widget class="E5SqueezeLabelPath" name="checkProgressLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QProgressBar" name="checkProgress"> + <property name="toolTip"> + <string>Shows the progress of the code style check</string> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="format"> + <string>%v/%m Files</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="Line" name="line_2"> + <property name="lineWidth"> + <number>2</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <widget class="QPushButton" name="restartButton"> + <property name="toolTip"> + <string>Press to restart the code style check run</string> + </property> + <property name="text"> + <string>Restart</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="fixButton"> + <property name="toolTip"> + <string>Press to fix the selected issues</string> + </property> + <property name="text"> + <string>&Fix Selected</string> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer_4"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>18</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> </widget> </item> <item> @@ -987,6 +1034,7 @@ </customwidget> </customwidgets> <tabstops> + <tabstop>mainWidget</tabstop> <tabstop>optionsTabWidget</tabstop> <tabstop>excludeFilesEdit</tabstop> <tabstop>excludeMessagesEdit</tabstop> @@ -1020,12 +1068,13 @@ <tabstop>lineComplexityScoreSpinBox</tabstop> <tabstop>minAnnotationsCoverageSpinBox</tabstop> <tabstop>maxAnnotationsComplexitySpinBox</tabstop> - <tabstop>startButton</tabstop> - <tabstop>fixButton</tabstop> <tabstop>loadDefaultButton</tabstop> <tabstop>storeDefaultButton</tabstop> <tabstop>resetDefaultButton</tabstop> + <tabstop>startButton</tabstop> <tabstop>resultList</tabstop> + <tabstop>restartButton</tabstop> + <tabstop>fixButton</tabstop> </tabstops> <resources/> <connections>
--- a/eric6/Preferences/ConfigurationPages/QtPage.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/QtPage.ui Sun May 31 17:26:14 2020 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>642</width> - <height>772</height> + <height>929</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_6"> @@ -69,12 +69,7 @@ <item> <widget class="QLabel" name="textLabel1_2_4"> <property name="text"> - <string><b>Note:</b> Leave this entry empty to use an environment variable or the path compiled into the Qt library. Environment variables supported are -<ul> -<li>QT4TRANSLATIONSDIR for Qt4</li> -<li>QT5TRANSLATIONSDIR for Qt5</li> -<li>QTTRANSLATIONSDIR for any Qt variant</li> -</ul></string> + <string><b>Note:</b> Leave this entry empty to use the path compiled into the Qt library.</string> </property> <property name="wordWrap"> <bool>true</bool>
--- a/eric6/Preferences/ConfigurationPages/SecurityPage.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/SecurityPage.py Sun May 31 17:26:14 2020 +0200 @@ -45,6 +45,9 @@ self.__newPassword = "" self.__oldUseMasterPassword = Preferences.getUser("UseMasterPassword") + + self.alwaysRejectCheckBox.setChecked( + Preferences.getWebBrowser("AlwaysRejectFaultyCertificates")) def setMode(self, displayMode): """ @@ -63,6 +66,10 @@ ) self.__displayMode = displayMode + + self.certificateErrorsGroup.setVisible( + displayMode == ConfigurationWidget.WebBrowserMode + ) def save(self): """ @@ -80,6 +87,10 @@ self.masterPasswordCheckBox.isChecked() ): self.__configDlg.masterPasswordChanged.emit("", self.__newPassword) + + Preferences.setWebBrowser( + "AlwaysRejectFaultyCertificates", + self.alwaysRejectCheckBox.isChecked()) @pyqtSlot(bool) def on_masterPasswordCheckBox_clicked(self, checked):
--- a/eric6/Preferences/ConfigurationPages/SecurityPage.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/SecurityPage.ui Sun May 31 17:26:14 2020 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>400</width> - <height>300</height> + <height>434</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_3"> @@ -91,6 +91,25 @@ </widget> </item> <item> + <widget class="QGroupBox" name="certificateErrorsGroup"> + <property name="title"> + <string>Certificate Errors</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QCheckBox" name="alwaysRejectCheckBox"> + <property name="toolTip"> + <string>Select to always reject web pages with certificate issues</string> + </property> + <property name="text"> + <string>Always reject URLs with certificate errors</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum>
--- a/eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.py Sun May 31 17:26:14 2020 +0200 @@ -80,7 +80,17 @@ self.pictographFontLabel.setEnabled(False) self.pictographFontCombo.setEnabled(False) - self.initColour("SaveUrlColor", self.secureURLsColourButton, + self.initColour("SecureUrlColor", + self.secureURLsColourButton, + Preferences.getWebBrowser) + self.initColour("InsecureUrlColor", + self.insecureURLsColourButton, + Preferences.getWebBrowser) + self.initColour("MaliciousUrlColor", + self.maliciousURLsColourButton, + Preferences.getWebBrowser) + self.initColour("PrivateModeUrlColor", + self.privateModeURLsColourButton, Preferences.getWebBrowser) self.autoLoadImagesCheckBox.setChecked(
--- a/eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/WebBrowserAppearancePage.ui Sun May 31 17:26:14 2020 +0200 @@ -7,10 +7,10 @@ <x>0</x> <y>0</y> <width>499</width> - <height>905</height> + <height>1256</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout_5"> + <layout class="QVBoxLayout" name="verticalLayout_6"> <item> <widget class="QLabel" name="headerLabel"> <property name="text"> @@ -278,43 +278,121 @@ <property name="title"> <string>Colors</string> </property> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="0"> - <widget class="QLabel" name="textLabel1_3"> - <property name="text"> - <string>Background color of secure URLs:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QPushButton" name="secureURLsColourButton"> - <property name="minimumSize"> - <size> - <width>100</width> - <height>0</height> - </size> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <widget class="QGroupBox" name="groupBox_8"> + <property name="title"> + <string>URL Entry Background</string> </property> - <property name="toolTip"> - <string>Select the background color for secure URLs.</string> - </property> - <property name="text"> - <string/> - </property> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="textLabel1_3"> + <property name="text"> + <string>Secure URLs:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QPushButton" name="secureURLsColourButton"> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="toolTip"> + <string>Select the background color for secure URLs.</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="0" column="2"> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>223</width> + <height>17</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="textLabel1_4"> + <property name="text"> + <string>Insecure URLs:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QPushButton" name="insecureURLsColourButton"> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="toolTip"> + <string>Select the background color for insecure URLs.</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="textLabel1_5"> + <property name="text"> + <string>Malicious URLs:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QPushButton" name="maliciousURLsColourButton"> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="toolTip"> + <string>Select the background color for malicious URLs.</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_12"> + <property name="text"> + <string>Private Mode:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QPushButton" name="privateModeURLsColourButton"> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="toolTip"> + <string>Select the background color for URLs in private mode.</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> </widget> </item> - <item row="0" column="2"> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>141</width> - <height>20</height> - </size> - </property> - </spacer> - </item> </layout> </widget> </item> @@ -482,6 +560,9 @@ <tabstop>minSizeSpinBox</tabstop> <tabstop>minLogicalSizeSpinBox</tabstop> <tabstop>secureURLsColourButton</tabstop> + <tabstop>insecureURLsColourButton</tabstop> + <tabstop>maliciousURLsColourButton</tabstop> + <tabstop>privateModeURLsColourButton</tabstop> <tabstop>autoLoadImagesCheckBox</tabstop> <tabstop>styleSheetPicker</tabstop> <tabstop>warnOnMultipleCloseCheckBox</tabstop>
--- a/eric6/Preferences/__init__.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Preferences/__init__.py Sun May 31 17:26:14 2020 +0200 @@ -952,6 +952,7 @@ "DiskCacheEnabled": True, "DiskCacheSize": 50, # 50 MB "SslExceptionsDB": "{}", # empty JSON dictionary + "AlwaysRejectFaultyCertificates": False, "DoNotTrack": False, "RefererSendReferer": 2, # send always "RefererDefaultPolicy": 3, # don't send a referer when downgrading @@ -960,7 +961,10 @@ "AcceptCookies": 2, # CookieJar.AcceptOnlyFromSitesNavigatedTo "KeepCookiesUntil": 0, # CookieJar.KeepUntilExpire "FilterTrackingCookies": True, - "SaveUrlColor": QColor(184, 248, 169), + "SecureUrlColor": QColor(184, 248, 169), + "InsecureUrlColor": QColor(248, 227, 169), + "MaliciousUrlColor": QColor(255, 132, 140), + "PrivateModeUrlColor": QColor(220, 220, 220), "UserAgent": "", "AcceptQuotaRequest": 2, # yes/no/ask (0, 1, 2) "AcceptProtocolHandlerRequest": 2, # yes/no/ask (0, 1, 2) @@ -1474,6 +1478,7 @@ # QChart.ChartTheme otherwise "MpyCrossCompiler": "", # path of the mpy-cross compiler "DfuUtilPath": "", # path of the dfu-util flashing tool + "IgnoredUnknownDevices": "[]", # empty list encoded as JSON # documentation URLs "MicroPythonDocuUrl": "https://docs.micropython.org/en/latest/", @@ -1482,13 +1487,13 @@ "MicrobitDocuUrl": "https://microbit-micropython.readthedocs.io/en/latest/", "CalliopeDocuUrl": - "https://github.com/calliope-mini/calliope-mini-micropython/", + "https://github.com/calliope-mini/calliope-mini-micropython/", # MicroPython firmware URLs "MicroPythonFirmwareUrl": "http://micropython.org/download/", "CircuitPythonFirmwareUrl": "https://circuitpython.org/downloads/", "MicrobitFirmwareUrl": "https://microbit.org/guide/firmware/", "CalliopeFirmwareUrl": - "https://github.com/calliope-mini/calliope-mini-micropython/", + "https://github.com/calliope-mini/calliope-mini-micropython/", } if Globals.isWindowsPlatform(): microPythonDefaults["ColorScheme"] = "Windows 10" @@ -2720,7 +2725,8 @@ f.fromString(prefClass.settings.value( "WebBrowser/" + key, prefClass.webBrowserDefaults[key])) return f - elif key in ["SaveUrlColor"]: + elif key in ["SecureUrlColor", "InsecureUrlColor", "MaliciousUrlColor", + "PrivateModeUrlColor"]: col = prefClass.settings.value("WebBrowser/" + key) if col is not None: return QColor(col) @@ -2832,7 +2838,7 @@ "WebRTCPublicInterfacesOnly", "DnsPrefetchEnabled", "FlashCookiesDeleteOnStartExit", "FlashCookieAutoRefresh", "FlashCookieNotify", "VirusTotalEnabled", "VirusTotalSecure", - "PdfViewerEnabled", + "PdfViewerEnabled", "AlwaysRejectFaultyCertificates", ]: return toBool(prefClass.settings.value( "WebBrowser/" + key, prefClass.webBrowserDefaults[key])) @@ -2867,7 +2873,8 @@ """ if key in ["StandardFont", "FixedFont"]: prefClass.settings.setValue("WebBrowser/" + key, value.toString()) - elif key == "SaveUrlColor": + elif key in ["SecureUrlColor", "InsecureUrlColor", "MaliciousUrlColor", + "PrivateModeUrlColor"]: prefClass.settings.setValue("WebBrowser/" + key, value.name()) elif key == "WebSearchKeywords": # value is list of tuples of (keyword, engine name) @@ -2962,10 +2969,6 @@ "Qt/Qt5TranslationsDir", prefClass.qtDefaults["Qt5TranslationsDir"]) if s == "": - s = os.getenv("QTTRANSLATIONSDIR", "") - if s == "": - s = os.getenv("QT5TRANSLATIONSDIR", "") - if s == "": s = QLibraryInfo.location(QLibraryInfo.TranslationsPath) if s == "" and Globals.isWindowsPlatform(): transPath = os.path.join(Globals.getPyQt5ModulesDirectory(), @@ -3570,6 +3573,14 @@ return toBool(prefClass.settings.value( "MicroPython/" + key, prefClass.microPythonDefaults[key])) + elif key in ["IgnoredUnknownDevices"]: + jsonStr = prefClass.settings.value( + "MicroPython/" + key, + prefClass.microPythonDefaults[key]) + if jsonStr: + return json.loads(jsonStr) + else: + return None else: return prefClass.settings.value( "MicroPython/" + key, @@ -3584,7 +3595,14 @@ @param value the value to be set @param prefClass preferences class used as the storage area """ - prefClass.settings.setValue("MicroPython/" + key, value) + if key in ["IgnoredUnknownDevices"]: + prefClass.settings.setValue( + "MicroPython/" + key, + json.dumps(value)) + else: + prefClass.settings.setValue( + "MicroPython/" + key, + value) def getGeometry(key, prefClass=Prefs):
--- a/eric6/QScintilla/Editor.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/QScintilla/Editor.py Sun May 31 17:26:14 2020 +0200 @@ -5144,7 +5144,8 @@ elif wLeft: txt = txt[len(wLeft):] - if txt[0] in "'\"": # New in jedi 0.16: AC of dict keys + if txt and txt[0] in "'\"": + # New in jedi 0.16: AC of dict keys txt = txt[1:] self.insert(txt) self.endUndoAction()
--- a/eric6/UI/BrowserModel.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/UI/BrowserModel.py Sun May 31 17:26:14 2020 +0200 @@ -913,7 +913,10 @@ @return row number (integer) """ - return self.parentItem.childItems.index(self) + try: + return self.parentItem.childItems.index(self) + except ValueError: + return 0 def type(self): """
--- a/eric6/UI/UserInterface.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/UI/UserInterface.py Sun May 31 17:26:14 2020 +0200 @@ -358,7 +358,7 @@ self.viewmanager.closeWindow) self.projectBrowser.prBrowser.appendStderr.connect(self.appendToStderr) - self.projectBrowser.ptBrowser.linguistFile.connect(self.__linguist4) + self.projectBrowser.ptBrowser.linguistFile.connect(self.__linguist) self.projectBrowser.ptBrowser.sourceFile.connect( self.viewmanager.openSourceFile) self.projectBrowser.ptBrowser.trpreview[list].connect( @@ -399,7 +399,7 @@ self.project.sourceFile.connect(self.viewmanager.openSourceFile) self.project.designerFile.connect(self.__designer) - self.project.linguistFile.connect(self.__linguist4) + self.project.linguistFile.connect(self.__linguist) self.project.projectOpened.connect(self.viewmanager.projectOpened) self.project.projectClosed.connect(self.viewmanager.projectClosed) self.project.projectFileRenamed.connect( @@ -497,7 +497,7 @@ self.browser.sourceFile[str, int, str].connect( self.viewmanager.openSourceFile) self.browser.designerFile.connect(self.__designer) - self.browser.linguistFile.connect(self.__linguist4) + self.browser.linguistFile.connect(self.__linguist) self.browser.projectFile.connect(self.project.openProject) self.browser.multiProjectFile.connect( self.multiProject.openMultiProject) @@ -2220,7 +2220,7 @@ """<b>Qt-Designer</b>""" """<p>Start Qt-Designer.</p>""" )) - self.designer4Act.triggered.connect(self.__designer4) + self.designer4Act.triggered.connect(self.__designer) self.actions.append(self.designer4Act) else: self.designer4Act = None @@ -2246,7 +2246,7 @@ """<b>Qt-Linguist</b>""" """<p>Start Qt-Linguist.</p>""" )) - self.linguist4Act.triggered.connect(self.__linguist4) + self.linguist4Act.triggered.connect(self.__linguist) self.actions.append(self.linguist4Act) else: self.linguist4Act = None @@ -4884,43 +4884,16 @@ """ self.__unittest() self.unittestDialog.startTests(failedOnly=True) - - def __designer(self, fn=None, version=0): + + @pyqtSlot() + @pyqtSlot(str) + def __designer(self, fn=None): """ Private slot to start the Qt-Designer executable. @param fn filename of the form to be opened @type str - @param version indication for the requested version (4 = Qt 4/5) - @type int - """ - if fn is not None and version == 0: - # determine version from file, if not specified - try: - f = open(fn, "r", encoding="utf-8") - found = False - while not found: - uiLine = f.readline() - found = uiLine.lower().startswith("<ui ") - f.close() - if uiLine.lower().find("version") == -1: - # it is an old version 3 UI file - version = 3 - else: - if uiLine.split('"')[1].startswith("4."): - version = 4 - else: - version = 3 - except IOError: - pass - - if version == 3: - E5MessageBox.information( - self, - self.tr("Qt 3 support"), - self.tr("""Qt v.3 is not supported by eric6.""")) - return - + """ args = [] if fn is not None: try: @@ -4947,47 +4920,45 @@ if Utilities.isMacPlatform(): designer, args = Utilities.prepareQtMacBundle( - "designer", version, args) + "designer", args) else: - if version == 4: - designer = os.path.join( - Utilities.getQtBinariesPath(), - Utilities.generateQtToolName("designer")) + designer = os.path.join( + Utilities.getQtBinariesPath(), + Utilities.generateQtToolName("designer")) if Utilities.isWindowsPlatform(): designer += '.exe' - proc = QProcess() - if not proc.startDetached(designer, args): + if designer: + proc = QProcess() + if not proc.startDetached(designer, args): + E5MessageBox.critical( + self, + self.tr('Process Generation Error'), + self.tr( + '<p>Could not start Qt-Designer.<br>' + 'Ensure that it is available as <b>{0}</b>.</p>' + ).format(designer) + ) + else: E5MessageBox.critical( self, self.tr('Process Generation Error'), self.tr( - '<p>Could not start Qt-Designer.<br>' - 'Ensure that it is available as <b>{0}</b>.</p>' - ).format(designer)) - - def __designer4(self): - """ - Private slot to start the Qt-Designer 4/5 executable. - """ - self.__designer(version=4) - - def __linguist(self, fn=None, version=0): + '<p>Could not find the Qt-Designer executable.<br>' + 'Ensure that it is installed and optionally configured on' + ' the Qt configuration page.</p>' + ) + ) + + @pyqtSlot() + @pyqtSlot(str) + def __linguist(self, fn=None): """ Private slot to start the Qt-Linguist executable. @param fn filename of the translation file to be opened @type str - @param version indication for the requested version (4 = Qt 4/5) - @type int - """ - if version < 4: - E5MessageBox.information( - self, - self.tr("Qt 3 support"), - self.tr("""Qt v.3 is not supported by eric6.""")) - return - + """ args = [] if fn is not None: fn = fn.replace('.qm', '.ts') @@ -5019,83 +4990,79 @@ if Utilities.isMacPlatform(): linguist, args = Utilities.prepareQtMacBundle( - "linguist", version, args) + "linguist", args) else: - if version == 4: - linguist = os.path.join( - Utilities.getQtBinariesPath(), - Utilities.generateQtToolName("linguist")) + linguist = os.path.join( + Utilities.getQtBinariesPath(), + Utilities.generateQtToolName("linguist")) if Utilities.isWindowsPlatform(): linguist += '.exe' - proc = QProcess() - if not proc.startDetached(linguist, args): + if linguist: + proc = QProcess() + if not proc.startDetached(linguist, args): + E5MessageBox.critical( + self, + self.tr('Process Generation Error'), + self.tr( + '<p>Could not start Qt-Linguist.<br>' + 'Ensure that it is available as <b>{0}</b>.</p>' + ).format(linguist) + ) + else: E5MessageBox.critical( self, self.tr('Process Generation Error'), self.tr( - '<p>Could not start Qt-Linguist.<br>' - 'Ensure that it is available as <b>{0}</b>.</p>' - ).format(linguist)) + '<p>Could not find the Qt-Linguist executable.<br>' + 'Ensure that it is installed and optionally configured on' + ' the Qt configuration page.</p>' + ) + ) - @pyqtSlot() - @pyqtSlot(str) - def __linguist4(self, fn=None): - """ - Private slot to start the Qt-Linguist 4/5 executable. - - @param fn filename of the translation file to be opened - """ - self.__linguist(fn, version=4) - - def __assistant(self, home=None, version=0): + def __assistant(self, home=None): """ Private slot to start the Qt-Assistant executable. @param home full pathname of a file to display @type str - @param version indication for the requested version (4 = Qt 4/5) - @type int - """ - if version < 4: - E5MessageBox.information( - self, - self.tr("Qt 3 support"), - self.tr("""Qt v.3 is not supported by eric6.""")) - return - + """ args = [] if home: - if version == 4: - args.append('-showUrl') + args.append('-showUrl') args.append(home) if Utilities.isMacPlatform(): assistant, args = Utilities.prepareQtMacBundle( - "assistant", version, args) + "assistant", args) else: - if version == 4: - assistant = os.path.join( - Utilities.getQtBinariesPath(), - Utilities.generateQtToolName("assistant")) + assistant = os.path.join( + Utilities.getQtBinariesPath(), + Utilities.generateQtToolName("assistant")) if Utilities.isWindowsPlatform(): assistant += '.exe' - proc = QProcess() - if not proc.startDetached(assistant, args): + if assistant: + proc = QProcess() + if not proc.startDetached(assistant, args): + E5MessageBox.critical( + self, + self.tr('Process Generation Error'), + self.tr( + '<p>Could not start Qt-Assistant.<br>' + 'Ensure that it is available as <b>{0}</b>.</p>' + ).format(assistant) + ) + else: E5MessageBox.critical( self, self.tr('Process Generation Error'), self.tr( - '<p>Could not start Qt-Assistant.<br>' - 'Ensure that it is available as <b>{0}</b>.</p>' - ).format(assistant)) - - def __assistant4(self): - """ - Private slot to start the Qt-Assistant 4/5 executable. - """ - self.__assistant(version=4) + '<p>Could not find the Qt-Assistant executable.<br>' + 'Ensure that it is installed and optionally configured on' + ' the Qt configuration page.</p>' + ) + ) def __startWebBrowser(self): """ @@ -5577,7 +5544,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3: @@ -5640,7 +5607,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3: @@ -5706,7 +5673,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3: @@ -5768,7 +5735,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3: @@ -5832,7 +5799,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3: @@ -5869,7 +5836,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3: @@ -5935,7 +5902,7 @@ self.launchHelpViewer(home) elif hvType == 2: if home.startswith("qthelp://"): - self.__assistant(home, version=4) + self.__assistant(home) else: self.__webBrowser(home) elif hvType == 3:
--- a/eric6/Utilities/ModuleParser.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Utilities/ModuleParser.py Sun May 31 17:26:14 2020 +0200 @@ -19,7 +19,7 @@ import sys import os -import importlib +import importlib.machinery import re import Utilities
--- a/eric6/Utilities/__init__.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/Utilities/__init__.py Sun May 31 17:26:14 2020 +0200 @@ -29,8 +29,8 @@ @param lineno line number causing the warning (integer) @param file file to write the warning message to (ignored) @param line line causing the warning (ignored) - @raise SyntaxError - """ # __IGNORE_WARNING_D252__ __IGNORE_WARNING_D253__ + @raise err exception of type SyntaxError + """ if category is SyntaxWarning: err = SyntaxError(str(message)) err.filename = filename @@ -1745,24 +1745,31 @@ qtDir, generateQtToolName(toolname.capitalize())) + ".app", os.path.join(qtDir, generateQtToolName(toolname)) + ".app", ] + if toolname == "designer": + # support the standalone Qt Designer installer from + # https://build-system.fman.io/qt-designer-download + designer = "Qt Designer.app" + bundles.extend([ + os.path.join(qtDir, 'bin', designer), + os.path.join(qtDir, designer), + ]) for bundle in bundles: if os.path.exists(bundle): return bundle return "" -def prepareQtMacBundle(toolname, version, args): +def prepareQtMacBundle(toolname, args): """ Module function for starting Qt tools that are Mac OS X bundles. - @param toolname plain name of the tool (e.g. "designer") (string) - @param version indication for the requested version (Qt 4) (integer) - @param args name of input file for tool, if any (list of strings) - @return command-name and args for QProcess (tuple) + @param toolname plain name of the tool (e.g. "designer") + @type str + @param args name of input file for tool, if any + @type list of str + @return command-name and args for QProcess + @rtype tuple of (str, list of str) """ - if version != 4: - return ("", []) - fullBundle = getQtMacBundle(toolname) if fullBundle == "": return ("", [])
--- a/eric6/WebBrowser/Bookmarks/AddBookmarkDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/AddBookmarkDialog.py Sun May 31 17:26:14 2020 +0200 @@ -196,9 +196,11 @@ if folder: self.setWindowTitle(self.tr("Add Folder")) self.addressEdit.setVisible(False) + self.addressLabel.setVisible(False) else: self.setWindowTitle(self.tr("Add Bookmark")) self.addressEdit.setVisible(True) + self.addressLabel.setVisible(True) self.resize(self.sizeHint())
--- a/eric6/WebBrowser/Bookmarks/AddBookmarkDialog.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/AddBookmarkDialog.ui Sun May 31 17:26:14 2020 +0200 @@ -44,7 +44,7 @@ </widget> </item> <item row="1" column="0"> - <widget class="QLabel" name="label_3"> + <widget class="QLabel" name="addressLabel"> <property name="text"> <string>Address:</string> </property>
--- a/eric6/WebBrowser/Bookmarks/BookmarksDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/BookmarksDialog.py Sun May 31 17:26:14 2020 +0200 @@ -10,7 +10,9 @@ from PyQt5.QtCore import pyqtSignal, Qt, QUrl, QModelIndex from PyQt5.QtGui import QFontMetrics, QCursor -from PyQt5.QtWidgets import QDialog, QMenu, QApplication +from PyQt5.QtWidgets import ( + QDialog, QMenu, QApplication, QInputDialog, QLineEdit +) from E5Gui.E5TreeSortFilterProxyModel import E5TreeSortFilterProxyModel @@ -175,6 +177,9 @@ menu.addSeparator() act = menu.addAction(self.tr("&Properties..."), self.__edit) act.setEnabled(idx.flags() & Qt.ItemIsEditable) + if idx.isValid() and node.type() == BookmarkNode.Folder: + menu.addSeparator() + menu.addAction(self.tr("New &Folder..."), self.__newFolder) menu.exec_(QCursor.pos()) def __activated(self, idx): @@ -327,6 +332,15 @@ idx = self.__proxyModel.mapToSource(idx) parent = self.__bookmarksModel.node(idx) - node = BookmarkNode(BookmarkNode.Folder) - node.title = self.tr("New Folder") - self.__bookmarksManager.addBookmark(parent, node, row) + title, ok = QInputDialog.getText( + self, + self.tr("New Bookmark Folder"), + self.tr("Enter title for new bookmark folder:"), + QLineEdit.Normal) + + if ok: + if not title: + title = self.tr("New Folder") + node = BookmarkNode(BookmarkNode.Folder) + node.title = title + self.__bookmarksManager.addBookmark(parent, node, row)
--- a/eric6/WebBrowser/Bookmarks/BookmarksMenu.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/BookmarksMenu.py Sun May 31 17:26:14 2020 +0200 @@ -349,17 +349,17 @@ return self.addSeparator() - act = self.addAction(self.tr("Default Home Page")) - act.setData("eric:home") - act.triggered.connect( - lambda: self.__defaultBookmarkTriggered(act)) - act = self.addAction(self.tr("Speed Dial")) - act.setData("eric:speeddial") - act.triggered.connect( - lambda: self.__defaultBookmarkTriggered(act)) + act_1 = self.addAction(self.tr("Default Home Page")) + act_1.setData("eric:home") + act_1.triggered.connect( + lambda: self.__defaultBookmarkTriggered(act_1)) + act_2 = self.addAction(self.tr("Speed Dial")) + act_2.setData("eric:speeddial") + act_2.triggered.connect( + lambda: self.__defaultBookmarkTriggered(act_2)) self.addSeparator() - act = self.addAction(self.tr("Open all in Tabs")) - act.triggered.connect(lambda: self.openAll(act)) + act_3 = self.addAction(self.tr("Open all in Tabs")) + act_3.triggered.connect(lambda: self.openAll(act_3)) def setInitialActions(self, actions): """
--- a/eric6/WebBrowser/Bookmarks/DefaultBookmarks_rc.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/DefaultBookmarks_rc.py Sun May 31 17:26:14 2020 +0200 @@ -2,7 +2,7 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.12.1) +# Created by: The Resource Compiler for PyQt5 (Qt v5.14.2) # # WARNING! All changes made in this file will be lost! @@ -63,7 +63,7 @@ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x6a\x36\x3b\x51\x76\ +\x00\x00\x01\x71\xda\xe0\x03\xcb\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')]
--- a/eric6/WebBrowser/Navigation/NavigationBar.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Navigation/NavigationBar.py Sun May 31 17:26:14 2020 +0200 @@ -233,7 +233,7 @@ for index in range(len(backItems) - 1, -1, -1): item = backItems[index] act = QAction(self) - act.setData(-1 * (index + 1)) + act.setData(item) icon = WebBrowserWindow.icon(item.url()) act.setIcon(icon) act.setText(item.title()) @@ -260,7 +260,7 @@ for index in range(len(forwardItems)): item = forwardItems[index] act = QAction(self) - act.setData(index + 1) + act.setData(item) icon = WebBrowserWindow.icon(item.url()) act.setIcon(icon) act.setText(item.title()) @@ -281,18 +281,10 @@ @param act reference to the action selected in the navigation menu (QAction) """ - offset = act.data() - if offset is not None: + historyItem = act.data() + if historyItem is not None: history = self.__mw.currentBrowser().history() - historyCount = history.count() - if offset < 0: - # go back - history.goToItem( - history.backItems(historyCount)[-1 * offset - 1]) - else: - # go forward - history.goToItem( - history.forwardItems(historyCount)[offset - 1]) + history.goToItem(historyItem) def __goBack(self): """
--- a/eric6/WebBrowser/Network/NetworkManager.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Network/NetworkManager.py Sun May 31 17:26:14 2020 +0200 @@ -64,12 +64,14 @@ if SSL_AVAILABLE: self.__sslErrorHandler = E5SslErrorHandler(self) - self.sslErrors.connect(self.__sslErrorHandler.sslErrorsReplySlot) + self.sslErrors.connect(self.__sslErrorHandlingSlot) self.__temporarilyIgnoredSslErrors = {} self.__permanentlyIgnoredSslErrors = {} # dictionaries of permanently and temporarily ignored SSL errors + self.__insecureHosts = set() + self.__loaded = False self.__saveTimer = AutoSaver(self, self.__save) @@ -175,10 +177,15 @@ @return flag indicating to ignore this error @rtype bool """ + if Preferences.getWebBrowser("AlwaysRejectFaultyCertificates"): + return False + self.__load() host = error.url().host() + self.__insecureHosts.add(host) + if ( host in self.__temporarilyIgnoredSslErrors and error.error() in self.__temporarilyIgnoredSslErrors[host] @@ -196,11 +203,11 @@ E5MessageBox.Warning, title, self.tr("""<b>{0}</b>""" - """<p>The page you are trying to access has errors""" - """ in the SSL certificate.</p>""" - """<ul><li>{1}</li></ul>""" + """<p>The host <b>{1}</b> you are trying to access has""" + """ errors in the SSL certificate.</p>""" + """<ul><li>{2}</li></ul>""" """<p>Would you like to make an exception?</p>""") - .format(title, error.errorDescription()), + .format(title, host, error.errorDescription()), modal=True, parent=view) permButton = msgBox.addButton(self.tr("&Permanent accept"), E5MessageBox.AcceptRole) @@ -222,6 +229,40 @@ else: return False + def __sslErrorHandlingSlot(self, reply, errors): + """ + Private slot to handle SSL errors for a network reply. + + @param reply reference to the reply object + @type QNetworkReply + @param errors list of SSL errors + @type list of QSslError + """ + if Preferences.getWebBrowser("AlwaysRejectFaultyCertificates"): + return + + self.__load() + + host = reply.url().host() + if ( + host in self.__permanentlyIgnoredSslErrors or + host in self.__temporarilyIgnoredSslErrors + ): + reply.ignoreSslErrors() + else: + self.__sslErrorHandler.sslErrorsReply(reply, errors) + + def isInsecureHost(self, host): + """ + Public method to check a host against the list of insecure hosts. + + @param host name of the host to be checked + @type str + @return flag indicating an insecure host + @rtype bool + """ + return host in self.__insecureHosts + def authentication(self, url, auth, page=None): """ Public slot to handle an authentication request.
--- a/eric6/WebBrowser/OpenSearch/DefaultSearchEngines/DefaultSearchEngines_rc.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/OpenSearch/DefaultSearchEngines/DefaultSearchEngines_rc.py Sun May 31 17:26:14 2020 +0200 @@ -2,13 +2,55 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.12.1) +# Created by: The Resource Compiler for PyQt5 (Qt v5.14.2) # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore qt_resource_data = b"\ +\x00\x00\x02\x7a\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x4c\x45\x4f\x20\x44\x65\ +\x75\x2d\x45\x6e\x67\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\ +\x3e\x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\ +\x6f\x6e\x3e\x44\x65\x75\x74\x73\x63\x68\x2d\x45\x6e\x67\x6c\x69\ +\x73\x63\x68\x20\x57\xc3\xb6\x72\x74\x65\x72\x62\x75\x63\x68\x20\ +\x76\x6f\x6e\x20\x4c\x45\x4f\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\ +\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\ +\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\ +\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\ +\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x64\x69\ +\x63\x74\x2e\x6c\x65\x6f\x2e\x6f\x72\x67\x2f\x65\x6e\x64\x65\x3f\ +\x6c\x61\x6e\x67\x3d\x64\x65\x26\x61\x6d\x70\x3b\x73\x65\x61\x72\ +\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\ +\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\ +\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\ +\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x73\x75\ +\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\x6f\x6e\x22\x20\ +\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x64\x69\x63\x74\x2e\x6c\x65\x6f\x2e\x6f\x72\x67\x2f\x64\x69\ +\x63\x74\x51\x75\x65\x72\x79\x2f\x6d\x2d\x71\x75\x65\x72\x79\x2f\ +\x63\x6f\x6e\x66\x2f\x65\x6e\x64\x65\x2f\x71\x75\x65\x72\x79\x2e\ +\x63\x6f\x6e\x66\x2f\x73\x74\x72\x6c\x69\x73\x74\x2e\x6a\x73\x6f\ +\x6e\x3f\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\ +\x7d\x26\x61\x6d\x70\x3b\x73\x6f\x72\x74\x3d\x50\x4c\x61\x26\x61\ +\x6d\x70\x3b\x73\x68\x6f\x72\x74\x51\x75\x65\x72\x79\x26\x61\x6d\ +\x70\x3b\x6e\x6f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x26\ +\x61\x6d\x70\x3b\x6e\x6f\x51\x75\x65\x72\x79\x55\x52\x4c\x73\x22\ +\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\ +\x74\x70\x3a\x2f\x2f\x64\x69\x63\x74\x2e\x6c\x65\x6f\x2e\x6f\x72\ +\x67\x2f\x69\x6d\x67\x2f\x66\x61\x76\x69\x63\x6f\x6e\x73\x2f\x65\ +\x6e\x64\x65\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\ +\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\ +\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ \x00\x00\x01\x95\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -151,7 +193,33 @@ \x55\x35\x45\x72\x6b\x4a\x67\x67\x67\x3d\x3d\x3c\x2f\x49\x6d\x61\ \x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\ \x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x02\x54\ +\x00\x00\x01\x79\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x42\x69\x6e\x67\x3c\x2f\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\ +\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x42\x69\x6e\x67\ +\x20\x57\x65\x62\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\x44\x65\x73\ +\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\ +\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\ +\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\ +\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x62\x69\x6e\x67\x2e\x63\x6f\x6d\x2f\x73\ +\x65\x61\x72\x63\x68\x3f\x63\x63\x3d\x7b\x6c\x61\x6e\x67\x75\x61\ +\x67\x65\x7d\x26\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\x72\x63\ +\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\ +\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ +\x2e\x62\x69\x6e\x67\x2e\x63\x6f\x6d\x2f\x73\x2f\x77\x6c\x66\x6c\ +\x61\x67\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\ +\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\ +\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x01\x85\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ @@ -160,37 +228,79 @@ \x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ \x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ \x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x57\x69\x6b\x69\x61\x3c\ -\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\ -\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x57\x69\x6b\ -\x69\x61\x20\x53\x69\x74\x65\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\ -\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\ -\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\ -\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\ -\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\ -\x74\x70\x3a\x2f\x2f\x7b\x63\x6f\x75\x6e\x74\x72\x79\x7d\x2e\x77\ -\x69\x6b\x69\x61\x2e\x63\x6f\x6d\x2f\x69\x6e\x64\x65\x78\x2e\x70\ -\x68\x70\x3f\x74\x69\x74\x6c\x65\x3d\x53\x70\x65\x63\x69\x61\x6c\ -\x3a\x53\x65\x61\x72\x63\x68\x26\x61\x6d\x70\x3b\x73\x65\x61\x72\ -\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\ -\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\ -\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\ -\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x73\x75\ -\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\x6f\x6e\x22\x20\ -\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\ -\x2f\x7b\x63\x6f\x75\x6e\x74\x72\x79\x7d\x2e\x77\x69\x6b\x69\x61\ -\x2e\x63\x6f\x6d\x2f\x61\x70\x69\x2e\x70\x68\x70\x3f\x61\x63\x74\ -\x69\x6f\x6e\x3d\x6f\x70\x65\x6e\x73\x65\x61\x72\x63\x68\x26\x61\ -\x6d\x70\x3b\x73\x65\x61\x72\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\ -\x68\x54\x65\x72\x6d\x73\x7d\x26\x61\x6d\x70\x3b\x6e\x61\x6d\x65\ -\x73\x70\x61\x63\x65\x3d\x30\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\ -\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x69\x6d\x61\ -\x67\x65\x73\x2e\x77\x69\x6b\x69\x61\x2e\x63\x6f\x6d\x2f\x77\x69\ -\x6b\x69\x61\x67\x6c\x6f\x62\x61\x6c\x2f\x69\x6d\x61\x67\x65\x73\ -\x2f\x36\x2f\x36\x34\x2f\x46\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\ -\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\ -\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ -\x6e\x3e\x0a\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x59\x6f\x75\x54\x75\x62\ +\x65\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\ +\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x59\ +\x6f\x75\x54\x75\x62\x65\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\ +\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\ +\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\ +\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\ +\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ +\x2e\x79\x6f\x75\x74\x75\x62\x65\x2e\x63\x6f\x6d\x2f\x72\x65\x73\ +\x75\x6c\x74\x73\x3f\x73\x65\x61\x72\x63\x68\x5f\x71\x75\x65\x72\ +\x79\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x26\ +\x61\x6d\x70\x3b\x73\x65\x61\x72\x63\x68\x3d\x53\x65\x61\x72\x63\ +\x68\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\ +\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x79\x6f\x75\x74\x75\ +\x62\x65\x2e\x63\x6f\x6d\x2f\x66\x61\x76\x69\x63\x6f\x6e\x2e\x69\ +\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\ +\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\ +\x6f\x6e\x3e\x0a\ +\x00\x00\x01\xad\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x4d\x65\x74\x61\x47\x65\ +\x72\x20\x28\x4d\x65\x74\x61\x47\x65\x72\x32\x29\x3c\x2f\x53\x68\ +\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x4d\x65\x74\x61\x47\x65\ +\x72\x3a\x20\x53\x69\x63\x68\x65\x72\x20\x73\x75\x63\x68\x65\x6e\ +\x20\x26\x61\x6d\x70\x3b\x20\x66\x69\x6e\x64\x65\x6e\x2c\x20\x50\ +\x72\x69\x76\x61\x74\x73\x70\x68\xc3\xa4\x72\x65\x20\x73\x63\x68\ +\xc3\xbc\x74\x7a\x65\x6e\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\ +\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\ +\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\ +\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\ +\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6d\x65\ +\x74\x61\x67\x65\x72\x2e\x64\x65\x2f\x6d\x65\x74\x61\x2f\x6d\x65\ +\x74\x61\x2e\x67\x65\x72\x33\x3f\x65\x69\x6e\x67\x61\x62\x65\x3d\ +\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\ +\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\ +\x73\x3a\x2f\x2f\x6d\x65\x74\x61\x67\x65\x72\x2e\x64\x65\x2f\x66\ +\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\ +\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\ +\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x01\x7e\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x46\x61\x63\x65\x62\x6f\ +\x6f\x6b\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\ +\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\ +\x53\x65\x61\x72\x63\x68\x20\x46\x61\x63\x65\x62\x6f\x6f\x6b\x3c\ +\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\ +\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\ +\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\ +\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\ +\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x66\x61\x63\x65\x62\x6f\ +\x6f\x6b\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x2f\x3f\x73\ +\x72\x63\x3d\x6f\x73\x26\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\ +\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\ +\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\ +\x77\x77\x2e\x66\x61\x63\x65\x62\x6f\x6f\x6b\x2e\x63\x6f\x6d\x2f\ +\x66\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\ +\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\ +\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ \x00\x00\x02\x1e\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -227,102 +337,6 @@ \x2f\x62\x65\x6f\x2d\x64\x65\x2e\x70\x6e\x67\x3c\x2f\x49\x6d\x61\ \x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\ \x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x01\x74\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x50\x79\x50\x49\x3c\x2f\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\ -\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x53\x65\x61\x72\ -\x63\x68\x20\x50\x79\x50\x49\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\ -\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\ -\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\ -\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\ -\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x70\ -\x79\x70\x69\x2e\x6f\x72\x67\x2f\x73\x65\x61\x72\x63\x68\x2f\x3f\ -\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\ -\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\ -\x74\x70\x73\x3a\x2f\x2f\x70\x79\x70\x69\x2e\x6f\x72\x67\x2f\x73\ -\x74\x61\x74\x69\x63\x2f\x69\x6d\x61\x67\x65\x73\x2f\x66\x61\x76\ -\x69\x63\x6f\x6e\x2e\x36\x61\x37\x36\x32\x37\x35\x64\x2e\x69\x63\ -\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\ -\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ -\x6e\x3e\x0a\ -\x00\x00\x01\xc9\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x4c\x69\x6e\x75\x78\x2d\ -\x4d\x61\x67\x61\x7a\x69\x6e\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\ -\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\ -\x74\x69\x6f\x6e\x3e\x53\x75\x63\x68\x65\x20\x61\x75\x66\x20\x77\ -\x77\x77\x2e\x6c\x69\x6e\x75\x78\x2d\x6d\x61\x67\x61\x7a\x69\x6e\ -\x2e\x64\x65\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\ -\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\ -\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\ -\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\ -\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x6c\x69\ -\x6e\x75\x78\x2d\x6d\x61\x67\x61\x7a\x69\x6e\x2e\x64\x65\x2f\x63\ -\x6f\x6e\x74\x65\x6e\x74\x2f\x73\x65\x61\x72\x63\x68\x3f\x53\x65\ -\x61\x72\x63\x68\x54\x65\x78\x74\x3d\x7b\x73\x65\x61\x72\x63\x68\ -\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\ -\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ -\x6c\x69\x6e\x75\x78\x2d\x6d\x61\x67\x61\x7a\x69\x6e\x2e\x64\x65\ -\x2f\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x2f\x6c\x6e\x6d\x2f\x64\ -\x65\x73\x69\x67\x6e\x2f\x6c\x69\x6e\x75\x78\x5f\x6d\x61\x67\x61\ -\x7a\x69\x6e\x2f\x69\x6d\x61\x67\x65\x73\x2f\x66\x61\x76\x69\x63\ -\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\ -\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\ -\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x02\x46\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x47\x6f\x6f\x67\x6c\x65\ -\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\ -\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x47\x6f\ -\x6f\x67\x6c\x65\x20\x57\x65\x62\x20\x53\x65\x61\x72\x63\x68\x3c\ -\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\ -\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\ -\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\ -\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\ -\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x67\x6f\x6f\x67\x6c\x65\ -\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x3f\x68\x6c\x3d\x7b\ -\x6c\x61\x6e\x67\x75\x61\x67\x65\x7d\x26\x61\x6d\x70\x3b\x6c\x72\ -\x3d\x6c\x61\x6e\x67\x5f\x7b\x6c\x61\x6e\x67\x75\x61\x67\x65\x7d\ -\x26\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\ -\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\ -\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\ -\x70\x65\x3d\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\ -\x78\x2d\x73\x75\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\ -\x6f\x6e\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\ -\x74\x70\x3a\x2f\x2f\x73\x75\x67\x67\x65\x73\x74\x71\x75\x65\x72\ -\x69\x65\x73\x2e\x67\x6f\x6f\x67\x6c\x65\x2e\x63\x6f\x6d\x2f\x63\ -\x6f\x6d\x70\x6c\x65\x74\x65\x2f\x73\x65\x61\x72\x63\x68\x3f\x6f\ -\x75\x74\x70\x75\x74\x3d\x66\x69\x72\x65\x66\x6f\x78\x26\x61\x6d\ -\x70\x3b\x68\x6c\x3d\x7b\x6c\x61\x6e\x67\x75\x61\x67\x65\x7d\x26\ -\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\ -\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\ -\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x67\x6f\x6f\ -\x67\x6c\x65\x2e\x63\x6f\x6d\x2f\x66\x61\x76\x69\x63\x6f\x6e\x2e\ -\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\ -\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\ -\x69\x6f\x6e\x3e\x0a\ \x00\x00\x02\x64\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -373,6 +387,45 @@ \x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ \x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ \x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x47\x6f\x6f\x67\x6c\x65\ +\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\ +\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x47\x6f\ +\x6f\x67\x6c\x65\x20\x57\x65\x62\x20\x53\x65\x61\x72\x63\x68\x3c\ +\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\ +\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\ +\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\ +\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\ +\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x67\x6f\x6f\x67\x6c\x65\ +\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x3f\x68\x6c\x3d\x7b\ +\x6c\x61\x6e\x67\x75\x61\x67\x65\x7d\x26\x61\x6d\x70\x3b\x6c\x72\ +\x3d\x6c\x61\x6e\x67\x5f\x7b\x6c\x61\x6e\x67\x75\x61\x67\x65\x7d\ +\x26\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\ +\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\ +\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\ +\x70\x65\x3d\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\ +\x78\x2d\x73\x75\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\ +\x6f\x6e\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x73\x75\x67\x67\x65\x73\x74\x71\x75\x65\x72\ +\x69\x65\x73\x2e\x67\x6f\x6f\x67\x6c\x65\x2e\x63\x6f\x6d\x2f\x63\ +\x6f\x6d\x70\x6c\x65\x74\x65\x2f\x73\x65\x61\x72\x63\x68\x3f\x6f\ +\x75\x74\x70\x75\x74\x3d\x66\x69\x72\x65\x66\x6f\x78\x26\x61\x6d\ +\x70\x3b\x68\x6c\x3d\x7b\x6c\x61\x6e\x67\x75\x61\x67\x65\x7d\x26\ +\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\ +\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\ +\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x67\x6f\x6f\ +\x67\x6c\x65\x2e\x63\x6f\x6d\x2f\x66\x61\x76\x69\x63\x6f\x6e\x2e\ +\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\ +\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\ +\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x02\x46\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ \x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x57\x69\x6b\x69\x61\x20\ \x28\x65\x6e\x29\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\ \x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ @@ -403,35 +456,6 @@ \x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\ \x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\ \x69\x6f\x6e\x3e\x0a\ -\x00\x00\x01\xad\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x4d\x65\x74\x61\x47\x65\ -\x72\x20\x28\x4d\x65\x74\x61\x47\x65\x72\x32\x29\x3c\x2f\x53\x68\ -\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x44\x65\ -\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x4d\x65\x74\x61\x47\x65\ -\x72\x3a\x20\x53\x69\x63\x68\x65\x72\x20\x73\x75\x63\x68\x65\x6e\ -\x20\x26\x61\x6d\x70\x3b\x20\x66\x69\x6e\x64\x65\x6e\x2c\x20\x50\ -\x72\x69\x76\x61\x74\x73\x70\x68\xc3\xa4\x72\x65\x20\x73\x63\x68\ -\xc3\xbc\x74\x7a\x65\x6e\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\ -\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\ -\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\ -\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\ -\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6d\x65\ -\x74\x61\x67\x65\x72\x2e\x64\x65\x2f\x6d\x65\x74\x61\x2f\x6d\x65\ -\x74\x61\x2e\x67\x65\x72\x33\x3f\x65\x69\x6e\x67\x61\x62\x65\x3d\ -\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\ -\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\ -\x73\x3a\x2f\x2f\x6d\x65\x74\x61\x67\x65\x72\x2e\x64\x65\x2f\x66\ -\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\ -\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\ -\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ \x00\x00\x02\x8d\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -511,87 +535,7 @@ \x3c\x2f\x55\x72\x6c\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\ \x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ \ -\x00\x00\x02\x27\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x59\x61\x68\x6f\x6f\x21\ -\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\ -\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x59\x61\ -\x68\x6f\x6f\x20\x57\x65\x62\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\ -\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\ -\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\ -\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\ -\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\ -\x74\x70\x3a\x2f\x2f\x73\x65\x61\x72\x63\x68\x2e\x79\x61\x68\x6f\ -\x6f\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x3f\x65\x69\x3d\ -\x75\x74\x66\x2d\x38\x26\x61\x6d\x70\x3b\x66\x72\x3d\x73\x66\x70\ -\x26\x61\x6d\x70\x3b\x69\x73\x63\x71\x72\x79\x3d\x26\x61\x6d\x70\ -\x3b\x70\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\ -\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\ -\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\ -\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x73\x75\ -\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\x6f\x6e\x22\x20\ -\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\ -\x2f\x66\x66\x2e\x73\x65\x61\x72\x63\x68\x2e\x79\x61\x68\x6f\x6f\ -\x2e\x63\x6f\x6d\x2f\x67\x6f\x73\x73\x69\x70\x3f\x6f\x75\x74\x70\ -\x75\x74\x3d\x66\x78\x6a\x73\x6f\x6e\x26\x61\x6d\x70\x3b\x63\x6f\ -\x6d\x6d\x61\x6e\x64\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\ -\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\ -\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x6d\x2e\x77\x77\x77\x2e\x79\ -\x61\x68\x6f\x6f\x2e\x63\x6f\x6d\x2f\x66\x61\x76\x69\x63\x6f\x6e\ -\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\ -\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\ -\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x02\x8d\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x53\x74\x61\x72\x74\x50\ -\x61\x67\x65\x20\x2d\x20\x45\x6e\x67\x6c\x69\x73\x68\x3c\x2f\x53\ -\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x44\ -\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x53\x74\x61\x72\x74\ -\x50\x61\x67\x65\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\x44\x65\x73\ -\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\ -\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\ -\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\ -\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x73\ -\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x74\x61\x72\x74\x70\x61\x67\x65\ -\x2e\x63\x6f\x6d\x2f\x64\x6f\x2f\x64\x73\x65\x61\x72\x63\x68\x3f\ -\x71\x75\x65\x72\x79\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\ -\x6d\x73\x7d\x26\x61\x6d\x70\x3b\x63\x61\x74\x3d\x77\x65\x62\x26\ -\x61\x6d\x70\x3b\x70\x6c\x3d\x6f\x70\x65\x6e\x73\x65\x61\x72\x63\ -\x68\x26\x61\x6d\x70\x3b\x6c\x61\x6e\x67\x75\x61\x67\x65\x3d\x65\ -\x6e\x67\x6c\x69\x73\x68\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\ -\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\ -\x74\x79\x70\x65\x3d\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\ -\x6e\x2f\x78\x2d\x73\x75\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\ -\x6a\x73\x6f\x6e\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\ -\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x74\x61\x72\ -\x74\x70\x61\x67\x65\x2e\x63\x6f\x6d\x2f\x63\x67\x69\x2d\x62\x69\ -\x6e\x2f\x63\x73\x75\x67\x67\x65\x73\x74\x3f\x71\x75\x65\x72\x79\ -\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x26\x61\ -\x6d\x70\x3b\x6c\x69\x6d\x69\x74\x3d\x31\x30\x26\x61\x6d\x70\x3b\ -\x6c\x61\x6e\x67\x3d\x65\x6e\x67\x6c\x69\x73\x68\x26\x61\x6d\x70\ -\x3b\x66\x6f\x72\x6d\x61\x74\x3d\x6a\x73\x6f\x6e\x22\x2f\x3e\x0a\ -\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x73\ -\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x74\x61\x72\x74\x70\x61\x67\x65\ -\x2e\x63\x6f\x6d\x2f\x67\x72\x61\x70\x68\x69\x63\x73\x2f\x66\x61\ -\x76\x69\x63\x6f\x6e\x2f\x73\x70\x2d\x66\x61\x76\x69\x63\x6f\x6e\ -\x2d\x31\x36\x78\x31\x36\x2e\x70\x6e\x67\x3c\x2f\x49\x6d\x61\x67\ -\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\ -\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x01\x85\ +\x00\x00\x01\x9b\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ @@ -600,117 +544,25 @@ \x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ \x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ \x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x59\x6f\x75\x54\x75\x62\ -\x65\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\ -\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x59\ -\x6f\x75\x54\x75\x62\x65\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\ -\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\ -\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\ -\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\ -\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ -\x2e\x79\x6f\x75\x74\x75\x62\x65\x2e\x63\x6f\x6d\x2f\x72\x65\x73\ -\x75\x6c\x74\x73\x3f\x73\x65\x61\x72\x63\x68\x5f\x71\x75\x65\x72\ -\x79\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x26\ -\x61\x6d\x70\x3b\x73\x65\x61\x72\x63\x68\x3d\x53\x65\x61\x72\x63\ -\x68\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\ -\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x79\x6f\x75\x74\x75\ -\x62\x65\x2e\x63\x6f\x6d\x2f\x66\x61\x76\x69\x63\x6f\x6e\x2e\x69\ -\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\ -\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\ -\x6f\x6e\x3e\x0a\ -\x00\x00\x01\x6f\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x52\x65\x64\x64\x69\x74\ -\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\ -\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x52\x65\ -\x64\x64\x69\x74\x20\x53\x69\x74\x65\x20\x53\x65\x61\x72\x63\x68\ -\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\ -\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\ -\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\ -\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\ -\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x72\x65\x64\x64\x69\ -\x74\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x3f\x71\x3d\x7b\ -\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\ -\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x72\x65\x64\x64\x69\x74\x2e\x63\x6f\x6d\ -\x2f\x66\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\ -\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x02\x7a\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x4c\x45\x4f\x20\x44\x65\ -\x75\x2d\x45\x6e\x67\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\ -\x3e\x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\ -\x6f\x6e\x3e\x44\x65\x75\x74\x73\x63\x68\x2d\x45\x6e\x67\x6c\x69\ -\x73\x63\x68\x20\x57\xc3\xb6\x72\x74\x65\x72\x62\x75\x63\x68\x20\ -\x76\x6f\x6e\x20\x4c\x45\x4f\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\ -\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\ -\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\ -\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\ -\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x64\x69\ -\x63\x74\x2e\x6c\x65\x6f\x2e\x6f\x72\x67\x2f\x65\x6e\x64\x65\x3f\ -\x6c\x61\x6e\x67\x3d\x64\x65\x26\x61\x6d\x70\x3b\x73\x65\x61\x72\ -\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\ -\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\ -\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\ -\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x73\x75\ -\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\x6f\x6e\x22\x20\ -\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\ -\x2f\x64\x69\x63\x74\x2e\x6c\x65\x6f\x2e\x6f\x72\x67\x2f\x64\x69\ -\x63\x74\x51\x75\x65\x72\x79\x2f\x6d\x2d\x71\x75\x65\x72\x79\x2f\ -\x63\x6f\x6e\x66\x2f\x65\x6e\x64\x65\x2f\x71\x75\x65\x72\x79\x2e\ -\x63\x6f\x6e\x66\x2f\x73\x74\x72\x6c\x69\x73\x74\x2e\x6a\x73\x6f\ -\x6e\x3f\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\ -\x7d\x26\x61\x6d\x70\x3b\x73\x6f\x72\x74\x3d\x50\x4c\x61\x26\x61\ -\x6d\x70\x3b\x73\x68\x6f\x72\x74\x51\x75\x65\x72\x79\x26\x61\x6d\ -\x70\x3b\x6e\x6f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x26\ -\x61\x6d\x70\x3b\x6e\x6f\x51\x75\x65\x72\x79\x55\x52\x4c\x73\x22\ -\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\ -\x74\x70\x3a\x2f\x2f\x64\x69\x63\x74\x2e\x6c\x65\x6f\x2e\x6f\x72\ -\x67\x2f\x69\x6d\x67\x2f\x66\x61\x76\x69\x63\x6f\x6e\x73\x2f\x65\ -\x6e\x64\x65\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\ -\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\ -\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x01\x7e\ -\x3c\ -\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ -\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ -\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ -\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ -\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ -\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x46\x61\x63\x65\x62\x6f\ -\x6f\x6b\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\ -\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\ -\x53\x65\x61\x72\x63\x68\x20\x46\x61\x63\x65\x62\x6f\x6f\x6b\x3c\ -\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\ -\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\ -\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\ -\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\ -\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x66\x61\x63\x65\x62\x6f\ -\x6f\x6b\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x2f\x3f\x73\ -\x72\x63\x3d\x6f\x73\x26\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\ -\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\ -\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\ -\x77\x77\x2e\x66\x61\x63\x65\x62\x6f\x6f\x6b\x2e\x63\x6f\x6d\x2f\ -\x66\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\ -\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\ -\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x57\x69\x6b\x74\x69\x6f\ +\x6e\x61\x72\x79\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\ +\x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x57\x69\x6b\x74\x69\x6f\x6e\x61\x72\x79\x3c\x2f\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\ +\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\ +\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\ +\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x7b\x63\x6f\x75\x6e\x74\x72\x79\x7d\x2e\x77\x69\x6b\ +\x74\x69\x6f\x6e\x61\x72\x79\x2e\x6f\x72\x67\x2f\x77\x2f\x69\x6e\ +\x64\x65\x78\x2e\x70\x68\x70\x3f\x74\x69\x74\x6c\x65\x3d\x53\x70\ +\x65\x63\x69\x61\x6c\x3a\x53\x65\x61\x72\x63\x68\x26\x61\x6d\x70\ +\x3b\x73\x65\x61\x72\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\ +\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\ +\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x65\x6e\x2e\x77\x69\ +\x6b\x74\x69\x6f\x6e\x61\x72\x79\x2e\x6f\x72\x67\x2f\x66\x61\x76\ +\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\ +\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\ +\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ \x00\x00\x1b\x4f\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -1150,7 +1002,70 @@ \x52\x55\x35\x45\x72\x6b\x4a\x67\x67\x67\x3d\x3d\x3c\x2f\x49\x6d\ \x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ \x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x01\x9b\ +\x00\x00\x01\x74\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x50\x79\x50\x49\x3c\x2f\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\ +\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x53\x65\x61\x72\ +\x63\x68\x20\x50\x79\x50\x49\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\ +\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\ +\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\ +\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\ +\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x70\ +\x79\x70\x69\x2e\x6f\x72\x67\x2f\x73\x65\x61\x72\x63\x68\x2f\x3f\ +\x71\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\ +\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\ +\x74\x70\x73\x3a\x2f\x2f\x70\x79\x70\x69\x2e\x6f\x72\x67\x2f\x73\ +\x74\x61\x74\x69\x63\x2f\x69\x6d\x61\x67\x65\x73\x2f\x66\x61\x76\ +\x69\x63\x6f\x6e\x2e\x36\x61\x37\x36\x32\x37\x35\x64\x2e\x69\x63\ +\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\ +\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x0a\ +\x00\x00\x02\x27\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x59\x61\x68\x6f\x6f\x21\ +\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\ +\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x59\x61\ +\x68\x6f\x6f\x20\x57\x65\x62\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\ +\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\ +\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\ +\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\ +\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x73\x65\x61\x72\x63\x68\x2e\x79\x61\x68\x6f\ +\x6f\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x3f\x65\x69\x3d\ +\x75\x74\x66\x2d\x38\x26\x61\x6d\x70\x3b\x66\x72\x3d\x73\x66\x70\ +\x26\x61\x6d\x70\x3b\x69\x73\x63\x71\x72\x79\x3d\x26\x61\x6d\x70\ +\x3b\x70\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\ +\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\ +\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\ +\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x73\x75\ +\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\x6f\x6e\x22\x20\ +\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x66\x66\x2e\x73\x65\x61\x72\x63\x68\x2e\x79\x61\x68\x6f\x6f\ +\x2e\x63\x6f\x6d\x2f\x67\x6f\x73\x73\x69\x70\x3f\x6f\x75\x74\x70\ +\x75\x74\x3d\x66\x78\x6a\x73\x6f\x6e\x26\x61\x6d\x70\x3b\x63\x6f\ +\x6d\x6d\x61\x6e\x64\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\ +\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\ +\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x6d\x2e\x77\x77\x77\x2e\x79\ +\x61\x68\x6f\x6f\x2e\x63\x6f\x6d\x2f\x66\x61\x76\x69\x63\x6f\x6e\ +\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\ +\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\ +\x74\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x01\xc9\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ @@ -1159,26 +1074,29 @@ \x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ \x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ \x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x57\x69\x6b\x74\x69\x6f\ -\x6e\x61\x72\x79\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\ -\x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ -\x6e\x3e\x57\x69\x6b\x74\x69\x6f\x6e\x61\x72\x79\x3c\x2f\x44\x65\ -\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\ -\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\ -\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\ -\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\ -\x3a\x2f\x2f\x7b\x63\x6f\x75\x6e\x74\x72\x79\x7d\x2e\x77\x69\x6b\ -\x74\x69\x6f\x6e\x61\x72\x79\x2e\x6f\x72\x67\x2f\x77\x2f\x69\x6e\ -\x64\x65\x78\x2e\x70\x68\x70\x3f\x74\x69\x74\x6c\x65\x3d\x53\x70\ -\x65\x63\x69\x61\x6c\x3a\x53\x65\x61\x72\x63\x68\x26\x61\x6d\x70\ -\x3b\x73\x65\x61\x72\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\ -\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\x6d\ -\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x65\x6e\x2e\x77\x69\ -\x6b\x74\x69\x6f\x6e\x61\x72\x79\x2e\x6f\x72\x67\x2f\x66\x61\x76\ -\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\ -\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\ -\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ -\x00\x00\x01\x79\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x4c\x69\x6e\x75\x78\x2d\ +\x4d\x61\x67\x61\x7a\x69\x6e\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\ +\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x44\x65\x73\x63\x72\x69\x70\ +\x74\x69\x6f\x6e\x3e\x53\x75\x63\x68\x65\x20\x61\x75\x66\x20\x77\ +\x77\x77\x2e\x6c\x69\x6e\x75\x78\x2d\x6d\x61\x67\x61\x7a\x69\x6e\ +\x2e\x64\x65\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\ +\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\ +\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\ +\x78\x74\x2f\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\ +\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x6c\x69\ +\x6e\x75\x78\x2d\x6d\x61\x67\x61\x7a\x69\x6e\x2e\x64\x65\x2f\x63\ +\x6f\x6e\x74\x65\x6e\x74\x2f\x73\x65\x61\x72\x63\x68\x3f\x53\x65\ +\x61\x72\x63\x68\x54\x65\x78\x74\x3d\x7b\x73\x65\x61\x72\x63\x68\ +\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x49\ +\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x6c\x69\x6e\x75\x78\x2d\x6d\x61\x67\x61\x7a\x69\x6e\x2e\x64\x65\ +\x2f\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x2f\x6c\x6e\x6d\x2f\x64\ +\x65\x73\x69\x67\x6e\x2f\x6c\x69\x6e\x75\x78\x5f\x6d\x61\x67\x61\ +\x7a\x69\x6e\x2f\x69\x6d\x61\x67\x65\x73\x2f\x66\x61\x76\x69\x63\ +\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\ +\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\ +\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x02\x8d\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ @@ -1187,23 +1105,105 @@ \x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ \x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ \x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x42\x69\x6e\x67\x3c\x2f\ -\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\ -\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x42\x69\x6e\x67\ -\x20\x57\x65\x62\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\x44\x65\x73\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x53\x74\x61\x72\x74\x50\ +\x61\x67\x65\x20\x2d\x20\x45\x6e\x67\x6c\x69\x73\x68\x3c\x2f\x53\ +\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x44\ +\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x53\x74\x61\x72\x74\ +\x50\x61\x67\x65\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\x44\x65\x73\ \x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x55\ \x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\ \x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\x6d\x6c\x22\ -\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\ -\x2f\x2f\x77\x77\x77\x2e\x62\x69\x6e\x67\x2e\x63\x6f\x6d\x2f\x73\ -\x65\x61\x72\x63\x68\x3f\x63\x63\x3d\x7b\x6c\x61\x6e\x67\x75\x61\ -\x67\x65\x7d\x26\x61\x6d\x70\x3b\x71\x3d\x7b\x73\x65\x61\x72\x63\ -\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\ -\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ -\x2e\x62\x69\x6e\x67\x2e\x63\x6f\x6d\x2f\x73\x2f\x77\x6c\x66\x6c\ -\x61\x67\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\ -\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\ -\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x73\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x74\x61\x72\x74\x70\x61\x67\x65\ +\x2e\x63\x6f\x6d\x2f\x64\x6f\x2f\x64\x73\x65\x61\x72\x63\x68\x3f\ +\x71\x75\x65\x72\x79\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\ +\x6d\x73\x7d\x26\x61\x6d\x70\x3b\x63\x61\x74\x3d\x77\x65\x62\x26\ +\x61\x6d\x70\x3b\x70\x6c\x3d\x6f\x70\x65\x6e\x73\x65\x61\x72\x63\ +\x68\x26\x61\x6d\x70\x3b\x6c\x61\x6e\x67\x75\x61\x67\x65\x3d\x65\ +\x6e\x67\x6c\x69\x73\x68\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\ +\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\ +\x74\x79\x70\x65\x3d\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\ +\x6e\x2f\x78\x2d\x73\x75\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\ +\x6a\x73\x6f\x6e\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\ +\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x74\x61\x72\ +\x74\x70\x61\x67\x65\x2e\x63\x6f\x6d\x2f\x63\x67\x69\x2d\x62\x69\ +\x6e\x2f\x63\x73\x75\x67\x67\x65\x73\x74\x3f\x71\x75\x65\x72\x79\ +\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x26\x61\ +\x6d\x70\x3b\x6c\x69\x6d\x69\x74\x3d\x31\x30\x26\x61\x6d\x70\x3b\ +\x6c\x61\x6e\x67\x3d\x65\x6e\x67\x6c\x69\x73\x68\x26\x61\x6d\x70\ +\x3b\x66\x6f\x72\x6d\x61\x74\x3d\x6a\x73\x6f\x6e\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x73\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x74\x61\x72\x74\x70\x61\x67\x65\ +\x2e\x63\x6f\x6d\x2f\x67\x72\x61\x70\x68\x69\x63\x73\x2f\x66\x61\ +\x76\x69\x63\x6f\x6e\x2f\x73\x70\x2d\x66\x61\x76\x69\x63\x6f\x6e\ +\x2d\x31\x36\x78\x31\x36\x2e\x70\x6e\x67\x3c\x2f\x49\x6d\x61\x67\ +\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\x68\x44\ +\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x01\x6f\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x52\x65\x64\x64\x69\x74\ +\x3c\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\ +\x20\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x52\x65\ +\x64\x64\x69\x74\x20\x53\x69\x74\x65\x20\x53\x65\x61\x72\x63\x68\ +\x3c\x2f\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\ +\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\ +\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\ +\x68\x74\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\ +\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x72\x65\x64\x64\x69\ +\x74\x2e\x63\x6f\x6d\x2f\x73\x65\x61\x72\x63\x68\x3f\x71\x3d\x7b\ +\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x3c\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x72\x65\x64\x64\x69\x74\x2e\x63\x6f\x6d\ +\x2f\x66\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\x6f\x3c\x2f\x49\x6d\ +\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\ +\x00\x00\x02\x54\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x4f\x70\x65\x6e\x53\x65\x61\x72\x63\ +\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x61\x39\x2e\x63\x6f\ +\x6d\x2f\x2d\x2f\x73\x70\x65\x63\x2f\x6f\x70\x65\x6e\x73\x65\x61\ +\x72\x63\x68\x2f\x31\x2e\x31\x2f\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x57\x69\x6b\x69\x61\x3c\ +\x2f\x53\x68\x6f\x72\x74\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\ +\x3c\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x57\x69\x6b\ +\x69\x61\x20\x53\x69\x74\x65\x20\x53\x65\x61\x72\x63\x68\x3c\x2f\ +\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\ +\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\x68\x6f\x64\x3d\x22\x67\x65\ +\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x68\x74\ +\x6d\x6c\x22\x20\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x7b\x63\x6f\x75\x6e\x74\x72\x79\x7d\x2e\x77\ +\x69\x6b\x69\x61\x2e\x63\x6f\x6d\x2f\x69\x6e\x64\x65\x78\x2e\x70\ +\x68\x70\x3f\x74\x69\x74\x6c\x65\x3d\x53\x70\x65\x63\x69\x61\x6c\ +\x3a\x53\x65\x61\x72\x63\x68\x26\x61\x6d\x70\x3b\x73\x65\x61\x72\ +\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\x68\x54\x65\x72\x6d\x73\x7d\ +\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x55\x72\x6c\x20\x6d\x65\x74\ +\x68\x6f\x64\x3d\x22\x67\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\ +\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x73\x75\ +\x67\x67\x65\x73\x74\x69\x6f\x6e\x73\x2b\x6a\x73\x6f\x6e\x22\x20\ +\x74\x65\x6d\x70\x6c\x61\x74\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x7b\x63\x6f\x75\x6e\x74\x72\x79\x7d\x2e\x77\x69\x6b\x69\x61\ +\x2e\x63\x6f\x6d\x2f\x61\x70\x69\x2e\x70\x68\x70\x3f\x61\x63\x74\ +\x69\x6f\x6e\x3d\x6f\x70\x65\x6e\x73\x65\x61\x72\x63\x68\x26\x61\ +\x6d\x70\x3b\x73\x65\x61\x72\x63\x68\x3d\x7b\x73\x65\x61\x72\x63\ +\x68\x54\x65\x72\x6d\x73\x7d\x26\x61\x6d\x70\x3b\x6e\x61\x6d\x65\ +\x73\x70\x61\x63\x65\x3d\x30\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\ +\x49\x6d\x61\x67\x65\x3e\x68\x74\x74\x70\x3a\x2f\x2f\x69\x6d\x61\ +\x67\x65\x73\x2e\x77\x69\x6b\x69\x61\x2e\x63\x6f\x6d\x2f\x77\x69\ +\x6b\x69\x61\x67\x6c\x6f\x62\x61\x6c\x2f\x69\x6d\x61\x67\x65\x73\ +\x2f\x36\x2f\x36\x34\x2f\x46\x61\x76\x69\x63\x6f\x6e\x2e\x69\x63\ +\x6f\x3c\x2f\x49\x6d\x61\x67\x65\x3e\x0a\x3c\x2f\x4f\x70\x65\x6e\ +\x53\x65\x61\x72\x63\x68\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6f\ +\x6e\x3e\x0a\ \x00\x00\x02\x5b\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -1247,6 +1247,10 @@ " qt_resource_name = b"\ +\x00\x0e\ +\x00\xf1\x12\x1c\ +\x00\x4c\ +\x00\x45\x00\x4f\x00\x5f\x00\x44\x00\x65\x00\x75\x00\x45\x00\x6e\x00\x67\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x0d\ \x0a\x2e\x72\x9c\ \x00\x41\ @@ -1255,41 +1259,41 @@ \x09\x21\x3a\xfc\ \x00\x44\ \x00\x75\x00\x63\x00\x6b\x00\x44\x00\x75\x00\x63\x00\x6b\x00\x47\x00\x6f\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x09\ -\x01\xf4\xe3\x3c\ -\x00\x57\ -\x00\x69\x00\x6b\x00\x69\x00\x61\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x08\ +\x00\x4a\x56\x1c\ +\x00\x42\ +\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0b\ +\x0b\x48\x8a\x5c\ +\x00\x59\ +\x00\x6f\x00\x75\x00\x54\x00\x75\x00\x62\x00\x65\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x14\ +\x06\xbb\x4c\x7c\ +\x00\x4d\ +\x00\x65\x00\x74\x00\x61\x00\x47\x00\x65\x00\x72\x00\x5f\x00\x4d\x00\x65\x00\x74\x00\x61\x00\x47\x00\x65\x00\x72\x00\x32\x00\x2e\ +\x00\x78\x00\x6d\x00\x6c\ +\x00\x0c\ +\x0f\xd5\x68\x1c\ +\x00\x46\ +\x00\x61\x00\x63\x00\x65\x00\x62\x00\x6f\x00\x6f\x00\x6b\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x12\ \x0a\xf9\x0f\x7c\ \x00\x44\ \x00\x65\x00\x45\x00\x6e\x00\x5f\x00\x42\x00\x65\x00\x6f\x00\x6c\x00\x69\x00\x6e\x00\x67\x00\x75\x00\x73\x00\x2e\x00\x78\x00\x6d\ \x00\x6c\ -\x00\x08\ -\x0e\x4c\x55\xdc\ -\x00\x50\ -\x00\x79\x00\x50\x00\x49\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x10\ -\x09\x73\x65\x7c\ -\x00\x4c\ -\x00\x69\x00\x6e\x00\x75\x00\x78\x00\x4d\x00\x61\x00\x67\x00\x61\x00\x7a\x00\x69\x00\x6e\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x0a\ -\x0e\x31\x93\x9c\ -\x00\x47\ -\x00\x6f\x00\x6f\x00\x67\x00\x6c\x00\x65\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x1b\ \x0d\x52\x43\x5c\ \x00\x47\ \x00\x6f\x00\x6f\x00\x67\x00\x6c\x00\x65\x00\x5f\x00\x49\x00\x6d\x00\x5f\x00\x46\x00\x65\x00\x65\x00\x6c\x00\x69\x00\x6e\x00\x67\ \x00\x5f\x00\x4c\x00\x75\x00\x63\x00\x6b\x00\x79\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0a\ +\x0e\x31\x93\x9c\ +\x00\x47\ +\x00\x6f\x00\x6f\x00\x67\x00\x6c\x00\x65\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x0c\ \x0e\x81\x61\xdc\ \x00\x57\ \x00\x69\x00\x6b\x00\x69\x00\x61\x00\x5f\x00\x65\x00\x6e\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x14\ -\x06\xbb\x4c\x7c\ -\x00\x4d\ -\x00\x65\x00\x74\x00\x61\x00\x47\x00\x65\x00\x72\x00\x5f\x00\x4d\x00\x65\x00\x74\x00\x61\x00\x47\x00\x65\x00\x72\x00\x32\x00\x2e\ -\x00\x78\x00\x6d\x00\x6c\ \x00\x10\ \x06\x9e\x0e\x7c\ \x00\x53\ @@ -1298,42 +1302,38 @@ \x0f\xc7\x2e\x1c\ \x00\x73\ \x00\x65\x00\x61\x00\x72\x00\x78\x00\x6d\x00\x65\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0e\ +\x08\xce\x7c\x3c\ +\x00\x57\ +\x00\x69\x00\x6b\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x61\x00\x72\x00\x79\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x09\ +\x08\x57\xee\x9c\ +\x00\x51\ +\x00\x77\x00\x61\x00\x6e\x00\x74\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x08\ +\x0e\x4c\x55\xdc\ +\x00\x50\ +\x00\x79\x00\x50\x00\x49\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x09\ \x0f\x62\xe1\xdc\ \x00\x59\ \x00\x61\x00\x68\x00\x6f\x00\x6f\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x10\ +\x09\x73\x65\x7c\ +\x00\x4c\ +\x00\x69\x00\x6e\x00\x75\x00\x78\x00\x4d\x00\x61\x00\x67\x00\x61\x00\x7a\x00\x69\x00\x6e\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x10\ \x06\xbb\x0e\x7c\ \x00\x53\ \x00\x74\x00\x61\x00\x72\x00\x74\x00\x50\x00\x61\x00\x67\x00\x65\x00\x5f\x00\x65\x00\x6e\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x0b\ -\x0b\x48\x8a\x5c\ -\x00\x59\ -\x00\x6f\x00\x75\x00\x54\x00\x75\x00\x62\x00\x65\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x0a\ \x0b\x0c\x48\x7c\ \x00\x52\ \x00\x65\x00\x64\x00\x64\x00\x69\x00\x74\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x0e\ -\x00\xf1\x12\x1c\ -\x00\x4c\ -\x00\x45\x00\x4f\x00\x5f\x00\x44\x00\x65\x00\x75\x00\x45\x00\x6e\x00\x67\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x0c\ -\x0f\xd5\x68\x1c\ -\x00\x46\ -\x00\x61\x00\x63\x00\x65\x00\x62\x00\x6f\x00\x6f\x00\x6b\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x09\ -\x08\x57\xee\x9c\ -\x00\x51\ -\x00\x77\x00\x61\x00\x6e\x00\x74\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x0e\ -\x08\xce\x7c\x3c\ +\x01\xf4\xe3\x3c\ \x00\x57\ -\x00\x69\x00\x6b\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x61\x00\x72\x00\x79\x00\x2e\x00\x78\x00\x6d\x00\x6c\ -\x00\x08\ -\x00\x4a\x56\x1c\ -\x00\x42\ -\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x69\x00\x6b\x00\x69\x00\x61\x00\x2e\x00\x78\x00\x6d\x00\x6c\ \x00\x0d\ \x06\xf8\x53\x3c\ \x00\x57\ @@ -1342,77 +1342,77 @@ qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00\x01\ -\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x00\x46\x57\ -\x00\x00\x02\x18\x00\x00\x00\x00\x00\x01\x00\x00\x25\x65\ -\x00\x00\x00\x42\x00\x00\x00\x00\x00\x01\x00\x00\x08\x9b\ -\x00\x00\x01\x62\x00\x00\x00\x00\x00\x01\x00\x00\x19\x07\ -\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xd8\ -\x00\x00\x01\x34\x00\x00\x00\x00\x00\x01\x00\x00\x17\x56\ +\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x19\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x02\x90\x00\x00\x00\x00\x00\x01\x00\x00\x45\x7c\ +\x00\x00\x01\x80\x00\x00\x00\x00\x00\x01\x00\x00\x1a\x70\ +\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x41\x78\ +\x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x1f\ \x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x47\xd4\ -\x00\x00\x02\x58\x00\x00\x00\x00\x00\x01\x00\x00\x29\x65\ -\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x44\xb8\ -\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x00\x01\x99\ -\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x8d\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xf3\ -\x00\x00\x01\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x23\xf2\ -\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x22\x69\ -\x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x12\xa4\ -\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x10\x5a\ -\x00\x00\x00\x84\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x15\ -\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\x0c\ -\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xad\ -\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x00\x1b\x98\ -\x00\x00\x02\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x27\xe3\ +\x00\x00\x01\xe4\x00\x00\x00\x00\x00\x01\x00\x00\x20\xb5\ +\x00\x00\x01\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x16\ +\x00\x00\x00\x42\x00\x00\x00\x00\x00\x01\x00\x00\x04\x17\ +\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x3f\xab\ +\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x02\x7e\ +\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x11\x52\ +\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\x44\x09\ +\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x96\ +\x00\x00\x01\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x13\x74\ +\x00\x00\x01\x48\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdc\ +\x00\x00\x01\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x08\ +\x00\x00\x01\x62\x00\x00\x00\x00\x00\x01\x00\x00\x18\x26\ +\x00\x00\x02\x12\x00\x00\x00\x00\x00\x01\x00\x00\x3d\x80\ +\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x01\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0f\xd0\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x00\x46\x57\ -\x00\x00\x01\x6a\x36\x3b\x51\x92\ -\x00\x00\x02\x18\x00\x00\x00\x00\x00\x01\x00\x00\x25\x65\ -\x00\x00\x01\x6a\x36\x3b\x51\x94\ -\x00\x00\x00\x42\x00\x00\x00\x00\x00\x01\x00\x00\x08\x9b\ -\x00\x00\x01\x6a\x36\x3b\x51\x96\ -\x00\x00\x01\x62\x00\x00\x00\x00\x00\x01\x00\x00\x19\x07\ -\x00\x00\x01\x6a\x36\x3b\x51\x88\ -\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xd8\ -\x00\x00\x01\x6a\x36\x3b\x51\xf7\ -\x00\x00\x01\x34\x00\x00\x00\x00\x00\x01\x00\x00\x17\x56\ -\x00\x00\x01\x6a\x36\x3b\x51\xb1\ +\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x19\ +\x00\x00\x01\x71\xda\xe0\x03\xcf\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x71\xda\xe0\x03\xcf\ +\x00\x00\x02\x90\x00\x00\x00\x00\x00\x01\x00\x00\x45\x7c\ +\x00\x00\x01\x71\xda\xe0\x03\xcf\ +\x00\x00\x01\x80\x00\x00\x00\x00\x00\x01\x00\x00\x1a\x70\ +\x00\x00\x01\x71\xda\xe0\x03\xe3\ +\x00\x00\x02\x50\x00\x00\x00\x00\x00\x01\x00\x00\x41\x78\ +\x00\x00\x01\x71\xda\xe0\x03\xcb\ +\x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x1f\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ \x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x47\xd4\ -\x00\x00\x01\x6a\x36\x3b\x51\xb3\ -\x00\x00\x02\x58\x00\x00\x00\x00\x00\x01\x00\x00\x29\x65\ -\x00\x00\x01\x6a\x36\x3b\x52\x8b\ -\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x44\xb8\ -\x00\x00\x01\x6a\x36\x3b\x51\xc4\ -\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x00\x01\x99\ -\x00\x00\x01\x6a\x36\x3b\x52\x89\ -\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x8d\ -\x00\x00\x01\x6a\x36\x3b\x51\xd8\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x6a\x36\x3b\x51\xf4\ -\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xf3\ -\x00\x00\x01\x6a\x36\x3b\x51\xd6\ -\x00\x00\x01\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x23\xf2\ -\x00\x00\x01\x6a\x36\x3b\x52\x11\ -\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x22\x69\ -\x00\x00\x01\x6a\x36\x3b\x52\x13\ -\x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x12\xa4\ -\x00\x00\x01\x6a\x36\x3b\x51\xf6\ -\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x10\x5a\ -\x00\x00\x01\x6a\x36\x3b\x51\x86\ -\x00\x00\x00\x84\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x15\ -\x00\x00\x01\x6a\x36\x3b\x51\xc3\ -\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x00\x15\x0c\ -\x00\x00\x01\x6a\x36\x3b\x51\xd9\ -\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xad\ -\x00\x00\x01\x6a\x36\x3b\x52\x8c\ -\x00\x00\x01\x88\x00\x00\x00\x00\x00\x01\x00\x00\x1b\x98\ -\x00\x00\x01\x6a\x36\x3b\x51\xf9\ -\x00\x00\x02\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x27\xe3\ -\x00\x00\x01\x6a\x36\x3b\x52\x10\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x01\xe4\x00\x00\x00\x00\x00\x01\x00\x00\x20\xb5\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x01\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x16\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x00\x42\x00\x00\x00\x00\x00\x01\x00\x00\x04\x17\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x3f\xab\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x02\x7e\ +\x00\x00\x01\x71\xda\xe0\x03\xcb\ +\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x11\x52\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\x44\x09\ +\x00\x00\x01\x71\xda\xe0\x04\x13\ +\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x96\ +\x00\x00\x01\x71\xda\xe0\x04\x13\ +\x00\x00\x01\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x13\x74\ +\x00\x00\x01\x71\xda\xe0\x03\xcb\ +\x00\x00\x01\x48\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdc\ +\x00\x00\x01\x71\xda\xe0\x03\xe3\ +\x00\x00\x01\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x08\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x01\x62\x00\x00\x00\x00\x00\x01\x00\x00\x18\x26\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x02\x12\x00\x00\x00\x00\x00\x01\x00\x00\x3d\x80\ +\x00\x00\x01\x71\xda\xe0\x03\xc7\ +\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x01\ +\x00\x00\x01\x71\xda\xe0\x03\xcb\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0f\xd0\ +\x00\x00\x01\x71\xda\xe0\x04\x13\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')]
--- a/eric6/WebBrowser/SiteInfo/SiteInfoDialog.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/SiteInfo/SiteInfoDialog.py Sun May 31 17:26:14 2020 +0200 @@ -24,14 +24,16 @@ from ..WebBrowserPage import WebBrowserPage import UI.PixmapCache +import Preferences + +from WebBrowser.WebBrowserWindow import WebBrowserWindow class SiteInfoDialog(QDialog, Ui_SiteInfoDialog): """ Class implementing a dialog to show some information about a site. """ - okStyle = "QLabel { color : white; background-color : green; }" - nokStyle = "QLabel { color : white; background-color : red; }" + securityStyleFormat = "QLabel {{ background-color : {0}; }}" def __init__(self, browser, parent=None): """ @@ -72,11 +74,31 @@ self.heading.setText("<b>{0}</b>".format(title)) self.siteAddressLabel.setText(self.__baseUrl.toString()) if self.__baseUrl.scheme() in ["https"]: - self.securityLabel.setStyleSheet(SiteInfoDialog.okStyle) - self.securityLabel.setText( - self.tr('<b>Connection is encrypted.</b>')) + if WebBrowserWindow.networkManager().isInsecureHost( + self.__baseUrl.host() + ): + self.securityIconLabel.setPixmap( + UI.PixmapCache.getPixmap("securityMedium")) + self.securityLabel.setStyleSheet( + SiteInfoDialog.securityStyleFormat.format( + Preferences.getWebBrowser("InsecureUrlColor").name() + ) + ) + self.securityLabel.setText(self.tr( + '<b>Connection is encrypted but may be insecure.</b>')) + else: + self.securityIconLabel.setPixmap( + UI.PixmapCache.getPixmap("securityHigh")) + self.securityLabel.setStyleSheet( + SiteInfoDialog.securityStyleFormat.format( + Preferences.getWebBrowser("SecureUrlColor").name() + ) + ) + self.securityLabel.setText( + self.tr('<b>Connection is encrypted.</b>')) else: - self.securityLabel.setStyleSheet(SiteInfoDialog.nokStyle) + self.securityIconLabel.setPixmap( + UI.PixmapCache.getPixmap("securityLow")) self.securityLabel.setText( self.tr('<b>Connection is not encrypted.</b>')) browser.page().runJavaScript(
--- a/eric6/WebBrowser/SiteInfo/SiteInfoDialog.ui Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/SiteInfo/SiteInfoDialog.ui Sun May 31 17:26:14 2020 +0200 @@ -16,7 +16,7 @@ <property name="sizeGripEnabled"> <bool>true</bool> </property> - <layout class="QVBoxLayout" name="verticalLayout"> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QLabel" name="heading"> <property name="text"> @@ -36,7 +36,7 @@ <attribute name="title"> <string>General</string> </attribute> - <layout class="QVBoxLayout" name="verticalLayout_2"> + <layout class="QVBoxLayout" name="verticalLayout"> <item> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> @@ -140,13 +140,16 @@ </spacer> </item> <item row="1" column="1"> + <widget class="QLabel" name="securityIconLabel"/> + </item> + <item row="1" column="2"> <widget class="QLabel" name="securityLabel"> <property name="text"> <string/> </property> </widget> </item> - <item row="1" column="2"> + <item row="1" column="3"> <spacer name="horizontalSpacer_2"> <property name="orientation"> <enum>Qt::Horizontal</enum>
--- a/eric6/WebBrowser/SiteInfo/SiteInfoWidget.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/SiteInfo/SiteInfoWidget.py Sun May 31 17:26:14 2020 +0200 @@ -59,10 +59,17 @@ secureLabel.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) layout.addWidget(secureLabel, rows, 1) if url.scheme() in ["https"]: - secureLabel.setText( - self.tr("Your connection to this site is <b>secure</b>.")) - secureIcon.setPixmap( - UI.PixmapCache.getPixmap("securityHigh")) + if WebBrowserWindow.networkManager().isInsecureHost(url.host()): + secureLabel.setText( + self.tr("Your connection to this site " + "<b>may not be secure</b>.")) + secureIcon.setPixmap( + UI.PixmapCache.getPixmap("securityMedium")) + else: + secureLabel.setText( + self.tr("Your connection to this site is <b>secure</b>.")) + secureIcon.setPixmap( + UI.PixmapCache.getPixmap("securityHigh")) else: secureLabel.setText( self.tr("Your connection to this site is <b>not secure</b>."))
--- a/eric6/WebBrowser/Tools/WebIconLoader.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Tools/WebIconLoader.py Sun May 31 17:26:14 2020 +0200 @@ -19,7 +19,7 @@ """ Class implementing a loader for web site icons. - @signal iconLoaded(icon) emitted when the con has been loaded + @signal iconLoaded(icon) emitted when the icon has been loaded """ iconLoaded = pyqtSignal(QIcon) @@ -50,5 +50,7 @@ icon = QIcon(QPixmap.fromImage(QImage.fromData(data))) self.iconLoaded.emit(icon) + # TODO: extract SSL data as a by-product + self.__reply.deleteLater() self.__reply = None
--- a/eric6/WebBrowser/Tools/WebIconProvider.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/Tools/WebIconProvider.py Sun May 31 17:26:14 2020 +0200 @@ -80,7 +80,7 @@ def load(self): """ - Public method to load the bookmarks. + Public method to load the web site icons. """ if self.__loaded: return @@ -105,7 +105,7 @@ def save(self): """ - Public method to save the zoom values. + Public method to save the web site icons. """ if not self.__loaded: return @@ -161,7 +161,7 @@ @rtype str """ return url.toString(QUrl.PrettyDecoded | QUrl.RemoveUserInfo | - QUrl.RemoveFragment) + QUrl.RemoveFragment | QUrl.RemovePath) def iconForUrl(self, url): """ @@ -187,18 +187,24 @@ self.load() urlStr = self.__urlToString(url) - for iconUrlStr in self.__iconsDB: - if iconUrlStr.startswith(urlStr): - return self.__iconsDB[iconUrlStr] + if urlStr in self.__iconsDB: + return self.__iconsDB[urlStr] + else: + for iconUrlStr in self.__iconsDB: + if iconUrlStr.startswith(urlStr): + return self.__iconsDB[iconUrlStr] # try replacing http scheme with https scheme url = QUrl(url) if url.scheme() == "http": url.setScheme("https") - urlStr = self.__urlToString(url) - for iconUrlStr in self.__iconsDB: - if iconUrlStr.startswith(urlStr): - return self.__iconsDB[iconUrlStr] + urlStr = self.__urlToString(url) + if urlStr in self.__iconsDB: + return self.__iconsDB[urlStr] + else: + for iconUrlStr in self.__iconsDB: + if iconUrlStr.startswith(urlStr): + return self.__iconsDB[iconUrlStr] if scheme == "https": return UI.PixmapCache.getIcon("securityHigh32")
--- a/eric6/WebBrowser/UrlBar/UrlBar.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/UrlBar/UrlBar.py Sun May 31 17:26:14 2020 +0200 @@ -221,12 +221,12 @@ @param evt reference to the paint event (QPaintEvent) """ + foregroundColor = QApplication.palette().color(QPalette.Text) + if self.__privateMode: - backgroundColor = QColor(220, 220, 220) # light gray - foregroundColor = Qt.black + backgroundColor = Preferences.getWebBrowser("PrivateModeUrlColor") else: backgroundColor = QApplication.palette().color(QPalette.Base) - foregroundColor = QApplication.palette().color(QPalette.Text) if self.__browser is not None: p = self.palette() @@ -234,11 +234,17 @@ if not self.__browser.getSafeBrowsingStatus(): # malicious web site - backgroundColor = QColor(170, 0, 0) - foregroundColor = QColor(Qt.white) + backgroundColor = Preferences.getWebBrowser( + "MaliciousUrlColor") elif self.__browser.url().scheme() == "https": - backgroundColor = Preferences.getWebBrowser( - "SaveUrlColor") + if WebBrowserWindow.networkManager().isInsecureHost( + self.__browser.url().host() + ): + backgroundColor = Preferences.getWebBrowser( + "InsecureUrlColor") + else: + backgroundColor = Preferences.getWebBrowser( + "SecureUrlColor") if progress == 0 or progress == 100: p.setBrush(QPalette.Base, backgroundColor)
--- a/eric6/WebBrowser/UserAgent/UserAgentDefaults_rc.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/UserAgent/UserAgentDefaults_rc.py Sun May 31 17:26:14 2020 +0200 @@ -2,7 +2,7 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.12.1) +# Created by: The Resource Compiler for PyQt5 (Qt v5.14.2) # # WARNING! All changes made in this file will be lost! @@ -92,7 +92,7 @@ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x6a\x36\x3b\x52\xa8\ +\x00\x00\x01\x71\xda\xe0\x03\xd7\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')]
--- a/eric6/WebBrowser/WebBrowserTabWidget.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/WebBrowserTabWidget.py Sun May 31 17:26:14 2020 +0200 @@ -428,8 +428,8 @@ browser.backwardAvailable.connect( self.__mainWindow.setBackwardAvailable) browser.forwardAvailable.connect(self.__mainWindow.setForwardAvailable) - browser.loadStarted.connect( - lambda: self.__loadStarted(browser)) + browser.loadProgress.connect( + lambda progress: self.__loadProgress(progress, browser)) browser.loadFinished.connect( lambda ok: self.__loadFinished(ok, browser)) browser.faviconChanged.connect( @@ -874,25 +874,6 @@ for urlbar in self.__stackedUrlBar.urlBars(): urlbar.preferencesChanged() - def __loadStarted(self, browser): - """ - Private method to handle the loadStarted signal. - - @param browser reference to the web browser - @type WebBrowserView - """ - index = self.indexOf(browser) - anim = self.animationLabel(index, "loadingAnimation", 40) - if not anim: - self.setTabIcon(index, UI.PixmapCache.getIcon("loading")) - else: - self.setTabIcon(index, QIcon()) - self.setTabText(index, self.tr("Loading...")) - self.setTabToolTip(index, self.tr("Loading...")) - self.showMessage.emit(self.tr("Loading...")) - - self.__mainWindow.setLoadingActions(True) - def __loadFinished(self, ok, browser): """ Private method to handle the loadFinished signal. @@ -902,18 +883,45 @@ @param browser reference to the web browser @type WebBrowserView """ - import WebBrowser.WebBrowserWindow - index = self.indexOf(browser) - self.resetAnimation(index) - self.setTabIcon( - index, WebBrowser.WebBrowserWindow.WebBrowserWindow.icon( - browser.url())) if ok: self.showMessage.emit(self.tr("Finished loading")) else: self.showMessage.emit(self.tr("Failed to load")) + + def __loadProgress(self, progress, browser): + """ + Private method to handle the loadProgress signal. - self.__mainWindow.setLoadingActions(False) + Note: This works around wegengine not sending a loadFinished + signal for navigation on the same page. + + @param progress load progress in percent + @type int + @param browser reference to the web browser + @type WebBrowserView + """ + index = self.indexOf(browser) + if progress == 0: + # page loading has started + anim = self.animationLabel(index, "loadingAnimation", 40) + if not anim: + self.setTabIcon(index, UI.PixmapCache.getIcon("loading")) + else: + self.setTabIcon(index, QIcon()) + self.setTabText(index, self.tr("Loading...")) + self.setTabToolTip(index, self.tr("Loading...")) + self.showMessage.emit(self.tr("Loading...")) + + self.__mainWindow.setLoadingActions(True) + elif progress == 100: + import WebBrowser.WebBrowserWindow + self.resetAnimation(index) + self.setTabIcon( + index, WebBrowser.WebBrowserWindow.WebBrowserWindow.icon( + browser.url())) + self.showMessage.emit(self.tr("Finished loading")) + + self.__mainWindow.setLoadingActions(False) def __iconChanged(self, browser): """
--- a/eric6/WebBrowser/data/icons_rc.py Sat May 02 14:04:18 2020 +0200 +++ b/eric6/WebBrowser/data/icons_rc.py Sun May 31 17:26:14 2020 +0200 @@ -2,13 +2,1044 @@ # Resource object code # -# Created by: The Resource Compiler for PyQt5 (Qt v5.12.1) +# Created by: The Resource Compiler for PyQt5 (Qt v5.14.2) # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore qt_resource_data = b"\ +\x00\x00\x07\x84\ +\x47\ +\x49\x46\x38\x39\x61\x36\x00\x37\x00\xf3\x00\x00\xff\xff\xff\x00\ +\x00\x00\x78\x78\x78\x1c\x1c\x1c\x0e\x0e\x0e\xd8\xd8\xd8\x54\x54\ +\x54\xdc\xdc\xdc\xc4\xc4\xc4\x48\x48\x48\x8a\x8a\x8a\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\xff\x0b\x4e\ +\x45\x54\x53\x43\x41\x50\x45\x32\x2e\x30\x03\x01\x00\x00\x00\x21\ +\xfe\x1a\x43\x72\x65\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x61\ +\x6a\x61\x78\x6c\x6f\x61\x64\x2e\x69\x6e\x66\x6f\x00\x21\xf9\x04\ +\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\x00\x36\x00\x37\x00\x00\x04\ +\xcc\x10\xc8\x49\xab\xbd\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\ +\x9e\x25\x92\x10\x44\x82\xa0\xa7\xc2\xce\x84\x02\x93\x08\x4d\xbf\ +\x77\xb8\xea\xac\x44\x2f\x04\xa4\x0d\x41\xc5\xd9\xf1\xf3\x03\x0a\ +\x97\x9d\x5c\x91\x77\x2c\x18\x58\x86\x02\x46\xa6\xb3\x2d\x0b\x03\ +\xda\x40\x7b\x51\x05\xa9\x16\xc1\x60\x20\x18\x5d\x75\x06\x93\x80\ +\xd6\x26\x16\x4d\xe1\xd9\x40\x94\xc4\x8b\x45\x6f\x34\x71\x25\x73\ +\x33\x75\x20\x07\x79\x2c\x03\x07\x27\x6a\x6c\x24\x07\x6f\x06\x8d\ +\x50\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x1c\x8f\x87\x96\xa1\x1a\ +\x85\x2c\xa2\x47\xa6\x04\xa8\x14\x8a\x04\x7b\x96\xae\xb0\x17\xb2\ +\x97\xb5\x18\xaa\xac\x3d\xb9\xa5\x6b\xba\x43\xa4\x9f\xc2\xc3\xc4\ +\xc5\xc6\xc7\xc8\x9b\xc1\x8e\xbe\x24\xbc\x72\x74\x23\xb7\x25\xd3\ +\x20\xd5\xd2\x7f\x22\xcf\x84\xd1\x23\xcb\x72\xcd\xc9\x9e\xdf\xc5\ +\xdb\xc5\xd7\xc3\xe8\xc2\xe6\xe5\xe1\xe2\xef\x3d\x11\x00\x21\xf9\ +\x04\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\x00\x36\x00\x37\x00\x00\ +\x04\xce\x10\xc8\x49\xab\xbd\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\ +\x69\x9e\x68\xaa\x16\x06\x41\x18\x85\x5a\x16\x83\xeb\x0e\xb1\x2c\ +\xb6\xb6\x6b\xe8\xa2\x5e\x0f\x18\x12\xda\x88\x20\x5e\xef\x87\xf4\ +\x1c\x6a\xb6\xc1\xe1\x82\x48\xb8\x12\x88\xa6\xe4\xc0\x33\x4c\x2d\ +\x0a\xa3\x62\x24\x18\x0c\x04\x26\x84\xd1\x95\x05\x09\x7a\x68\x92\ +\x75\x9d\x08\x41\x6f\xa5\xf5\x11\x74\x27\x0c\xf2\x7a\x04\x21\x6f\ +\x36\x71\x23\x73\x46\x75\x83\x66\x86\x23\x6a\x6b\x6d\x5a\x1a\x61\ +\x42\x63\x92\x1c\x55\x57\x91\x97\x9c\x9d\x9e\x9f\xa0\xa1\x6e\x8c\ +\x97\x65\x67\x1a\x84\x2e\x8d\x40\xa9\x04\xab\x14\x7d\x7f\x4d\xb1\ +\x19\xb4\xb3\x3d\xb2\x17\xad\xaf\x32\xbb\xa8\xa4\x92\xa6\xbc\xa2\ +\xc4\xc5\xc6\xc7\xc8\xc9\xca\x27\xc2\x29\xcd\x64\x70\xcc\xd1\x22\ +\xb6\x25\xd5\x7c\xb8\x27\xd7\x1f\xbe\x26\xdd\x22\xcf\xcc\xc0\xcb\ +\x9e\xe1\xc7\xdf\xc6\xdb\xc4\xea\xa2\xe8\xc6\xe6\xe4\xf1\x27\x11\ +\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\x00\x36\x00\ +\x37\x00\x00\x04\xce\x10\xc8\x49\xab\xbd\x38\xeb\xcd\xbb\xff\x60\ +\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\x02\x5b\x0a\x44\x4d\ +\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\xb3\xe1\x86\x1f\x17\ +\x0c\x99\x2b\x18\x6a\x86\x02\x49\x79\x24\x15\x76\xb6\x81\x34\x54\ +\xac\x55\x45\x4f\x1e\xc1\x00\xcc\x9a\xc4\xb6\x72\x4d\x48\x42\xd7\ +\x44\xdd\x9b\x29\xcc\x23\xc3\x5f\x5f\xd1\x01\xbb\x3e\x30\x3b\x07\ +\x61\x06\x7e\x7f\x85\x86\x87\x88\x89\x8a\x12\x08\x09\x35\x09\x08\ +\x8b\x15\x0a\x68\x0a\x19\x54\x43\x08\x6e\x04\x91\x16\x71\x79\x29\ +\x8e\x6e\x09\x17\x7c\x3d\x3f\x9b\x6f\x16\xa6\x6c\x2c\xa9\x04\x17\ +\x9f\x3f\xa2\x68\xa4\xb1\x78\x99\x9b\x9d\x92\x94\x62\x96\x92\x13\ +\x8d\x8f\xbb\xc0\xc5\xc6\xc7\xc8\xc9\x13\x98\x28\xcc\x70\x3c\xa0\ +\x44\xd0\x23\xac\x27\xd5\x6a\xa7\x26\xd7\x5c\xd3\x26\xb2\x23\xce\ +\xde\xb8\xca\x88\xe1\xc5\xdf\xc6\xdb\xc5\xea\xc0\xe8\xc6\xe6\xe4\ +\xf1\x26\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\ +\x00\x36\x00\x37\x00\x00\x04\xcd\x10\xc8\x49\xab\xbd\x38\xeb\xcd\ +\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\x02\x5b\ +\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\xb3\xe1\ +\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\x8a\x8a\x35\ +\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\xc9\xea\x09\ +\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\xf8\xbc\xaa\x60\xa8\ +\x19\x0a\x1a\x71\x3f\x05\x67\x80\x17\x6c\x5a\x29\x7d\x3c\x04\x06\ +\x18\x67\x43\x8c\x36\x8f\x41\x91\x92\x04\x18\x88\x43\x8b\x3c\x8e\ +\x99\x52\x48\x07\x67\x07\x7a\x13\x07\x8b\x06\xa4\xa5\xab\xac\xad\ +\xae\x27\x08\x09\x35\x09\x08\xac\x0a\x92\x0a\x23\x82\x23\x08\x97\ +\x04\xb5\x54\x46\x25\xb2\x97\x09\x21\x90\x24\xbe\x35\xc7\x95\xc9\ +\xca\x21\x9a\x24\xc4\x92\xc6\xd0\xa0\x25\xbd\x97\xc0\x79\xb7\x8c\ +\xb9\x48\xbb\x15\xb1\xb3\xdb\x3f\xd1\xab\xc8\xe8\xcd\xab\xe7\xec\ +\xd7\xaf\xf0\x2b\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\ +\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcb\x10\xc8\x49\xab\xbd\x38\ +\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\ +\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\ +\xb3\xe1\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\x8a\ +\x8a\x35\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\xc9\ +\xea\x09\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\xf8\x3c\x3e\ +\x8e\xe4\x5f\xd8\x5a\x2a\x80\x19\x67\x48\x85\x18\x87\x3f\x89\x16\ +\x83\x43\x8d\x18\x7e\x3f\x91\x7a\x94\x95\x96\x97\x98\x99\x4c\x05\ +\x06\x35\x06\x05\x6e\x52\x27\x05\x67\xa0\x21\x8f\x23\x9d\x3c\x04\ +\x06\x40\x5d\x26\xab\x36\xae\x61\xb0\xb1\x04\x57\x6a\x25\xaa\x3c\ +\xad\x57\xa2\x19\x08\x09\x35\x09\x08\x17\x07\x67\x07\x43\x0a\xb1\ +\x0a\xc6\xaa\x06\xc9\x3f\x08\xb6\x04\xc5\x79\xc2\xb6\x09\x7a\xd4\ +\x35\xdb\xdc\x7a\xd8\xb1\xda\x79\xd3\xb6\xd6\x79\xcb\xab\xcd\x95\ +\xc1\xc3\xe7\x22\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\ +\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcc\x10\xc8\x49\xab\xbd\x38\ +\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\ +\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\ +\xb3\xe1\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\x8a\ +\x8a\x35\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\xc9\ +\xea\x09\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\xf8\x3c\x3e\ +\x8e\xe4\x5f\xd8\x5a\x2a\x80\x19\x67\x48\x85\x18\x87\x3f\x89\x16\ +\x83\x43\x8d\x18\x7e\x3f\x91\x7a\x94\x95\x96\x97\x98\x00\x08\x09\ +\x35\x09\x08\x96\x0a\x3c\x35\x0a\x94\x08\xa2\x36\x9f\x33\x52\x22\ +\x9c\xa7\x04\x09\x33\x6a\x20\xae\x36\x5f\x41\x21\xb4\x35\xb6\x5d\ +\x21\xad\xa7\xb0\x6e\xb2\x1f\xa6\xae\xa9\x6e\xab\x22\xa1\xa2\xa4\ +\x17\x05\x06\x35\x06\x05\x48\x9b\x9d\xc6\x15\x05\x67\xd2\x94\xcf\ +\xa2\x06\x95\xb4\xdf\xae\x95\xdc\x3c\xde\x94\x07\x67\x07\x96\x07\ +\xdc\x06\xea\x99\x28\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\ +\x00\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcc\x10\xc8\x49\xab\xbd\ +\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\ +\x0c\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\ +\x44\xb3\xe1\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\ +\x8a\x8a\x35\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\ +\xc9\xea\x09\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\x22\x44\ +\xa2\x96\x40\xe0\x2b\x0a\x3c\x35\x0a\x7f\x12\x08\x82\x36\x7e\x3f\ +\x71\x16\x7b\x88\x04\x09\x8b\x6a\x16\x8f\x36\x3f\x67\x17\x95\x35\ +\x97\x41\x17\x8e\x88\x91\x39\x6c\x5a\x87\x8f\x8a\xa2\x52\x19\x81\ +\x82\x84\x85\x86\x8e\x7d\xae\xb2\xb3\xb4\xb5\x4c\x05\x06\x35\x06\ +\x05\xb3\x05\x67\xbc\x51\x4b\x22\xb9\x82\x06\x4e\x93\x20\x95\x26\ +\x98\x21\xca\x5f\x9d\x21\xc4\x3c\xc6\x33\xc8\x1f\x07\x67\x07\x6b\ +\xa9\x23\x07\xc4\x06\xda\xb6\x1d\x8c\xb2\xa3\xb4\xcc\xb2\xe8\xae\ +\xe6\xb4\xe4\xe2\xef\x27\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\ +\x2c\x00\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcc\x10\xc8\x49\xab\ +\xbd\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\ +\x30\x0c\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\ +\x0f\x44\xb3\xe1\x7e\x88\x44\x2d\x81\xd0\xb8\x60\x43\x80\x82\x57\ +\x53\x44\x39\x08\xaa\xad\x39\x7b\x1d\x3f\x4a\x2d\x21\x31\xe3\x7d\ +\x3b\x62\x5b\x69\x67\x13\x7e\xd2\xb5\x75\x30\x14\xd6\x92\x49\xc5\ +\xda\x19\x9b\xe6\xe2\xbd\x23\x53\x54\x56\x57\x58\x61\x4c\x85\x89\ +\x8a\x8b\x8c\x8d\x57\x05\x06\x35\x06\x05\x8e\x16\x05\x6c\x35\x03\ +\x94\x43\x4f\x7b\x13\x91\x54\x06\x9c\x66\x18\x69\x43\x98\x3d\xa5\ +\x62\xa7\x73\x17\xa0\x3c\xa2\x3f\x79\x37\x18\x07\xa8\x03\x07\x51\ +\x9d\x1a\x07\xa0\x06\xb9\x95\xc1\xc2\xc3\xc4\xc5\xc6\xc7\x1d\xbb\ +\x28\xca\x22\xb3\x9e\x44\xa4\x40\x6d\x27\xb7\x23\xd5\x26\xd7\x21\ +\xce\x27\xdb\x23\xcc\x26\xdf\xc8\x89\xe1\xc2\xdd\xc4\xd9\xc3\xe8\ +\xe5\xd1\xc5\xe4\xe2\xef\x25\x11\x00\x3b\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\ +\x00\x00\x04\x2c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x2e\x23\x00\x00\ +\x2e\x23\x01\x78\xa5\x3f\x76\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ +\xde\x03\x0c\x12\x06\x08\xae\xb5\x4a\x3d\x00\x00\x03\xb9\x49\x44\ +\x41\x54\x38\xcb\x5d\xcb\x5b\x4c\x5b\x75\x00\x07\xe0\xdf\xff\x9c\ +\xd3\x9e\x76\x6d\x69\xc1\x52\x84\xca\x40\x2e\x16\xc7\x9d\x31\x67\ +\x9c\x66\x03\x27\x73\x2f\x8a\x71\x2c\x12\x12\x12\x1f\xa6\x89\x2c\ +\x73\xc9\x36\x37\x13\x6f\x0f\x5e\xa2\xcc\x88\x0f\xb8\x87\x3d\x78\ +\x99\x09\x09\x4b\x34\xd1\x38\x86\x3a\xb9\x3a\x04\x06\x1d\x84\x6b\ +\xa1\x2d\xd0\x0b\xa5\xed\xa1\x17\x7a\x4a\xdb\x73\xf3\xc9\x17\xbf\ +\xf7\x8f\xe0\x7f\xea\x00\xac\xf6\x78\xb0\x7f\xb1\x10\x00\xd0\x07\ +\x50\xbf\x9d\x69\x36\x15\x55\xd5\x3f\x22\xe6\xab\xcd\xac\xbc\x64\ +\xcd\x65\x33\x82\x73\x79\x67\xa2\xa7\x7b\x36\xc8\xfc\x17\xaf\xff\ +\x74\x15\xee\x73\x9f\xe3\xd9\xf0\x3e\xd5\x4e\xb4\xf2\xbb\x57\x3a\ +\xcb\xac\x95\xcd\xaf\x2f\x14\x72\xf5\xad\x79\xe5\x15\xe1\x4c\xf2\ +\xf1\xd8\xf4\x10\x76\x84\x2d\x18\x92\x31\xec\x39\x82\xc3\x25\x96\ +\x83\x2d\x04\x00\x2e\x5f\xac\xc7\xf5\x1e\x3b\x00\xe0\x30\xa0\x39\ +\xd6\xf5\xd2\x25\x5e\x6f\x7c\x7f\x6e\x88\x66\x6d\x2f\x04\x51\x7b\ +\x54\xc0\xae\x5f\x40\x69\x41\x03\xbc\x53\x03\xd8\x18\xf7\x80\x4f\ +\x88\x23\xb6\x23\xc5\x2d\x14\x00\x68\xee\xd8\x71\xfe\xe7\x5e\xb4\ +\xb5\xe1\xc0\xe9\xdb\xbd\xb7\x72\x5a\xda\x3f\x76\xb8\xfd\x78\x30\ +\xf5\x9d\x1c\xe7\xb6\x51\x7a\x92\x81\x62\x52\x63\xda\x31\x89\xb9\ +\xbf\xfd\xf0\x2b\x40\xda\xc4\xc4\x3e\xb9\xb1\x92\xa1\x15\x1f\x8f\ +\xc1\x6c\x99\x4a\xda\x1a\xe9\x12\x53\xd5\x37\x74\x9e\xa5\xa3\xb1\ +\x22\x28\x91\x1c\x95\x8a\x11\x52\xe4\xe9\x4e\x03\x16\x07\x78\x84\ +\x97\x05\x78\xe7\x37\x40\xcb\xe9\x8c\x56\x94\x69\xa3\x4a\xee\x9e\ +\x73\x8a\x76\x82\xa1\x2f\x80\xa6\x77\xf0\xf5\xc4\xa7\x6f\xe9\x8a\ +\x6d\xbd\xae\xe1\x11\x29\x15\x72\xd0\xc9\x1d\x0e\x12\x05\x04\xdc\ +\x5e\x48\xfb\x09\xe8\xf2\x53\x70\xfc\xa9\xc8\x8f\xb2\x22\x65\xc8\ +\xa2\x6f\x5c\x7b\xbe\xbc\xab\xf1\xa3\x15\x85\x00\xc0\xbc\x32\x9a\ +\xfd\xfd\xef\x77\xdc\x81\x99\x87\x9a\x02\x36\xc2\xae\x8e\xfa\x90\ +\x65\x12\x11\xe6\x62\x30\x9b\x4f\x23\xbb\xf0\x14\x84\x3d\x23\x7c\ +\xbe\x10\x88\xb2\xb5\xb5\xe6\x2e\x6b\x5d\x9e\x79\xd3\xde\xda\x71\ +\x93\xd0\x00\xf0\x58\x53\xcb\xb5\x8d\x91\x6f\x4f\x1d\x88\x6d\x52\ +\xf6\xb1\x20\xd1\x54\x18\x91\x10\xd3\x38\x56\xdd\x83\x27\x6a\xda\ +\x50\x5d\x57\x8b\xd1\x87\x01\x94\x54\x14\x2b\x12\x2c\xc6\xd2\x43\ +\xe6\x8e\xe8\x5e\xcd\xf4\xc4\x1f\x17\x5c\x74\xdf\xe2\x6d\x53\x44\ +\xc5\xf6\x4c\xf5\xf5\x9b\xa3\x7e\x9e\x98\x73\x68\x44\x96\x7d\x28\ +\x50\xbf\x08\xe4\x34\xe1\xe5\xd6\x2a\xdc\x9b\x74\x81\x97\x15\x4c\ +\xce\x7b\xc9\x92\x33\x44\x68\x8d\x5a\xa5\xa5\x94\x13\x14\x9e\xfa\ +\x81\xa2\x8c\xf9\x15\x54\xc2\x63\x63\x58\x0d\x38\x5f\x1a\x9b\x0b\ +\x31\x68\x24\x82\x38\x7d\x1c\x95\x35\x79\x90\x28\x1a\x87\x8f\x94\ +\x40\x9d\x63\xc4\x1e\xab\x86\xd6\x92\x85\xcd\x9d\x38\x61\xb2\xb3\ +\x8a\xac\xe5\xb9\x8d\x54\x38\xb0\x5e\xe4\x78\x30\x02\x29\x1e\x05\ +\x51\x53\x90\x64\x05\xb1\x3d\x3d\x26\x96\x44\xc5\xbe\x16\x86\x27\ +\x18\xc7\x36\xc7\x43\xaf\x67\x90\x7b\xd0\x0c\xc5\xa8\x03\xa3\xd3\ +\x92\x86\xa3\x25\xe0\x79\xb1\x99\xe1\x9c\xc1\x48\x68\x66\x05\x11\ +\x2f\x0f\x0d\x14\x68\x55\x04\x1a\x35\x03\x5a\x21\xc4\xee\xe4\x94\ +\x8c\xd1\x43\x12\x94\x0a\x9b\xbc\x80\x24\xcb\x82\xe8\xb5\x60\x29\ +\x82\xd5\xb5\x20\x64\x31\x93\x62\xaa\xa4\xe8\xfd\x1d\x83\xe5\x33\ +\x29\x8f\xb7\xa6\x12\x9c\x64\xd0\xe8\x32\x3a\x2d\x1f\xdd\xd8\x4d\ +\xbc\x1d\x88\xa4\x35\x26\x5e\x42\x43\xa5\x05\x87\x74\x5a\x0c\xaf\ +\x85\x11\x57\x13\x45\xf0\xa4\xc9\xd2\xec\x3a\xb4\xa9\xf4\x10\x01\ +\x80\xfb\xeb\x23\x54\x55\x7e\x21\x9d\xda\xf5\xca\xf7\x06\x26\xa9\ +\xd7\x7e\xb9\x22\x9c\x4c\x5c\xfd\xd1\xa9\xb7\x75\xe8\x9f\xb4\x2a\ +\x6f\x9c\xad\x23\x65\x16\x13\xb8\xfd\x0c\xee\x8e\xaf\x63\x6c\x70\ +\x11\x8c\x2f\x3c\x4b\x85\x62\xc7\x19\xcf\xea\x2d\x7c\xf9\xd5\x7b\ +\x68\xef\x1f\x93\x18\x0a\xd0\xab\x21\xb5\x7b\x40\x14\xe5\xf2\x85\ +\x13\x67\x7e\x4d\x46\xf7\xd3\xe7\xc6\x1d\x1c\x5e\x6d\xb0\x60\x76\ +\x4b\xc4\x6e\x28\x01\x46\x10\x97\x52\xf1\x54\xa7\x7f\xed\xc3\x04\ +\x01\x00\x87\xeb\x2e\xb8\x40\x1c\xdb\xae\x05\xc4\xc2\x22\x3c\x3e\ +\x2b\x3e\xe8\xee\x02\x00\x3c\xf7\xca\xcd\x4a\xc5\x64\x38\x5b\x5d\ +\x5b\x58\xe0\xf2\x44\x64\xce\xbf\xfb\x17\xef\x0e\x0d\x2e\xff\x73\ +\x29\xfa\xcc\xf9\x7e\xfc\x0b\x0b\xb9\xbe\x45\x31\x2c\x8e\xcb\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x03\x16\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x93\x49\x44\ +\x41\x54\x38\x8d\x95\x91\xbd\x4f\x1b\x41\x10\xc5\x67\xe1\x96\xbb\ +\xf3\x25\xd8\x46\xe1\x82\x20\x91\x2c\x45\x38\x42\x51\x94\x02\x19\ +\x21\x04\x1d\xa2\xa3\x80\xa3\x30\x05\x25\x12\x15\x32\x14\x44\x48\ +\xfc\x05\x54\x96\x28\x29\x4c\x45\x0f\xae\xa0\xc0\x20\x0a\x7a\xa0\ +\x20\x46\x48\x24\x0e\x8e\xb1\x8d\xe3\x23\xb7\xc7\xde\xde\xee\x5e\ +\x8a\xc4\x16\x1f\x49\xc1\x2b\x67\xde\xfc\xf4\x66\x06\x65\xb3\xd9\ +\x81\x20\x08\x52\x08\xa1\x38\x3c\x43\x41\x10\xe4\x11\x42\x69\xc5\ +\xf7\xfd\x85\x91\x91\x91\x01\xc3\x30\xd4\xe7\x00\x08\x21\xd1\xc3\ +\xc3\xc3\x05\x45\x4a\x19\x07\x80\x6a\xbd\x5e\x77\x9f\x03\xc0\x18\ +\x87\xa4\x94\x71\x85\x52\x0a\x94\xd2\x27\xc3\xb9\x5c\x2e\xba\xb7\ +\xb7\xf7\x2a\x16\x8b\xb9\xc9\x64\xb2\x64\x18\x86\xb8\xdf\x17\x42\ +\xb8\x94\xd2\x76\x85\x73\x8e\x82\x20\x68\x36\x6a\xb5\x9a\x92\x4a\ +\xa5\x3e\x5e\x5c\x5c\x84\x55\x55\x85\x83\x83\x03\xd8\xd8\xd8\x78\ +\x37\x3f\x3f\xff\x65\x6a\x6a\xea\xfa\x3e\x84\x73\x8e\x14\xc6\x18\ +\xe2\x9c\x37\x8b\x2b\x2b\x2b\x1f\x6e\x6f\x6f\xdb\x97\x96\x96\x2a\ +\x63\x63\x63\x2e\x00\xc0\xc9\xc9\x49\x5b\x22\x91\x70\xe6\xe6\xe6\ +\x3e\x25\x93\xc9\x6f\xc3\xc3\xc3\x3f\x01\x00\x18\x63\xa8\x85\x73\ +\x8e\xa4\x94\x20\xa5\x84\xb3\xb3\x33\xa3\x5c\x2e\x47\xa7\xa7\xa7\ +\x6b\x96\x65\x5d\xa9\xaa\x5a\x50\x55\xf5\x6a\x68\x68\xe8\x47\x26\ +\x93\xe9\xa8\x56\xab\xd1\xf5\xf5\xf5\xf7\x9e\xe7\x21\x29\x25\x70\ +\xce\x51\x0b\x63\x0c\x49\x29\x61\x7b\x7b\xbb\x6b\x6b\x6b\xeb\xad\ +\x69\x9a\x80\x31\xf6\x8e\x8e\x8e\x24\x63\x8c\x33\xc6\xd8\xf1\xf1\ +\x31\xdf\xdd\xdd\x8d\x99\xa6\x09\x9a\xa6\x69\xe9\x74\x3a\x2e\xa5\ +\x6c\x26\x00\x29\x25\x10\x42\xc2\xf9\x7c\xbe\x4b\xd7\x75\xd8\xd9\ +\xd9\x31\x4d\xd3\x0c\x1a\xc9\x84\x10\x6d\xcb\xcb\xcb\x15\x5d\xd7\ +\x61\x76\x76\xf6\x7a\x7c\x7c\xdc\xfd\x9b\x00\x94\xc6\x0a\x33\x33\ +\x33\x25\x00\x78\x71\x7e\x7e\xfe\x72\x71\x71\xb1\x18\x8d\x46\x5d\ +\x29\x25\x00\x00\xf4\xf6\xf6\x3a\x99\x4c\x46\xd5\x75\x1d\xfa\xfa\ +\xfa\xca\xba\xae\x13\xc6\xd8\x9f\x23\x36\x00\xae\xeb\xda\x96\x65\ +\x95\x4e\x4f\x4f\xef\x22\x91\x48\x79\x6d\x6d\x2d\xde\xdf\xdf\x5f\ +\xc1\x18\xcb\x5c\x2e\xf7\xc6\x71\x9c\xc8\xc4\xc4\x44\x05\x63\x5c\ +\xa7\x94\x8a\xe6\x17\xee\x1f\x11\x63\x5c\x1e\x1c\x1c\xbc\xcb\x66\ +\xb3\x86\x6d\xdb\x1d\x9b\x9b\x9b\xaf\x01\x00\x4c\xd3\x04\xcb\xb2\ +\x2a\x89\x44\xa2\xe4\x38\x8e\x78\xf0\x46\xdf\xf7\x51\x23\xaa\xe7\ +\x79\xbe\xe7\x79\xb5\xd1\xd1\x51\x6d\x72\x72\xf2\xeb\xcd\xcd\x0d\ +\xb6\x6d\x5b\xe9\xe9\xe9\xf1\x11\x42\xbf\x6c\xdb\xae\x35\xbc\x00\ +\x00\xbe\xef\x3f\x04\x34\x44\x08\xa1\x84\x90\xef\x9a\xa6\x69\x9d\ +\x9d\x9d\xd8\xb6\xed\x3b\x21\x04\x87\x47\xf2\x7d\x1f\x29\x00\x70\ +\x59\x28\x14\xc2\xdd\xdd\xdd\xec\xb1\x81\x10\x42\x01\x80\x3e\xae\ +\x03\x00\x14\x8b\xc5\x36\x00\xb8\x54\x42\xa1\xd0\xea\xfe\xfe\xfe\ +\x67\x21\x44\xec\x5f\xc6\xff\xa9\xb5\xb5\xf5\x32\x1c\x0e\xaf\xfe\ +\x06\x47\x78\x84\x8a\xac\x27\x36\x0e\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ +\x00\x00\x03\x30\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0e\x4d\x00\x00\x0e\x9c\ +\x01\xde\xf6\x9c\x57\x00\x00\x02\xd2\x49\x44\x41\x54\x38\x8d\x6d\ +\x93\x4d\x68\x5c\x55\x14\x80\xbf\x73\xdf\x9b\xe9\xc4\x21\xcc\x4c\ +\x4c\xc6\x2a\x22\xb6\xa9\x93\x44\x0c\xa3\x62\xc1\x2c\x14\x9d\xd2\ +\x12\x35\x85\x52\x5a\x11\x6c\xa5\x1b\x71\x57\xe8\xce\xc5\x74\x37\ +\x82\x2e\xa5\x4b\x05\xcb\x20\xc6\x45\xdd\x48\x4a\xf0\x27\xf1\x07\ +\x69\xa4\x86\xc2\x98\xd0\xc4\x50\x14\x1a\x4d\x9b\x57\xf3\x63\xe0\ +\xbd\xe4\xdd\xf7\xee\xbd\x2e\x06\xa7\xb1\x7a\x56\xe7\x1c\x38\x1f\ +\x87\xc3\x77\x84\x7b\x62\x69\x69\xc9\x69\xad\xef\x6d\x03\x90\xcd\ +\x66\xa9\x54\x2a\xb2\xbb\xe7\xef\x2e\x5a\xad\x96\xdb\xba\xd0\xc0\ +\x9f\xbe\x8c\x12\xc1\xcb\x08\xce\x82\xb5\x0e\xa7\x1c\x5b\xcf\x8f\ +\xd1\x6a\xb5\x5c\xb5\x5a\xed\x40\x3a\xc9\xcc\xcc\x8c\x53\xcd\x0b\ +\xdc\xf7\xed\x57\x78\x22\x74\xed\xf5\x31\xeb\x16\x44\xf0\xef\x57\ +\x6c\xdf\x4a\x30\xc6\x12\xd5\x0e\x63\x4e\x9f\x65\x64\x64\x44\x3a\ +\x80\xe9\xe9\x69\xe7\x35\x3f\xa0\x77\x76\x8a\x6c\xc6\xc3\xf7\x05\ +\x3f\xeb\xa1\x3c\x01\x0b\x56\x1c\x26\xb5\x24\x3b\x16\x9d\x1a\xd6\ +\x0e\x1e\x22\x3d\xf5\x26\xb5\x5a\x4d\x64\x62\x62\xc2\x75\x7d\xfa\ +\x11\xe5\xab\xdf\xb3\x99\x11\x36\x8d\x63\xef\x9e\x0c\x7b\xba\x3d\ +\x82\x6d\x8b\x00\xbd\x5d\x42\x12\x59\x56\xa2\x04\x8b\xa3\x94\x3a\ +\xf4\xb3\x2f\x12\xbf\x76\x06\x15\x04\x01\x3d\x3f\x7c\x83\x38\x21\ +\x1e\x3d\xc6\xd8\x42\xc0\xce\xcb\x27\x59\x13\xc7\xa1\xd9\xdf\x79\ +\xe1\xc7\xdf\x28\xbc\x7b\x91\x2b\x5b\x09\x47\x17\x02\x8e\xce\xdf\ +\x22\x7f\xfe\x3d\xf4\x77\x5f\xb3\xba\xba\x8a\x0a\xc3\x10\x25\xa0\ +\xb2\x42\xe1\xf1\xa7\xd8\xd9\xdc\xa0\xfb\x89\x2a\x6e\xbb\x7d\x9e\ +\xcf\xde\x38\xc6\xc3\x07\x9f\x23\xdf\xdf\x0f\xc0\xf8\xe9\x93\x3c\ +\xfd\xfa\x19\x36\x4a\xbd\x84\x61\xd8\x06\x58\x0b\x6b\x91\xa1\x6f\ +\xb8\x4a\xeb\xd2\x38\xbd\x83\xc3\xfc\xa9\x0c\x69\x9a\xf2\xcc\x5b\ +\xe7\xb8\x73\x63\x91\x70\xf9\x0f\xd2\x34\x25\xd7\x53\x20\x35\x06\ +\x67\xcc\x5d\x80\x01\xee\x28\x45\x71\x7f\x85\x6b\x1f\x5f\xa4\x7b\ +\x5f\x3f\xb7\xb7\x1c\x71\x1c\xb3\x7c\x6d\x96\x5c\xdf\x83\xa8\x62\ +\x81\x38\x8e\x39\xf2\xce\xfb\xfc\xd4\xfc\x90\xe2\xe6\x3a\x51\x14\ +\xe1\x87\x61\x48\x92\x18\xa2\x47\x2b\x58\xa5\x38\xde\xbc\x84\x01\ +\x72\xfb\x0f\xa0\xb5\xe6\xe7\x4f\x9a\x0c\xbe\x7a\x0a\x3f\x5f\x44\ +\x6b\xcd\xf8\x93\xfb\x18\x44\xe8\x43\xda\x1b\x44\x51\x84\x4e\x0c\ +\xde\xc0\x10\x2b\x73\x2d\xa6\xce\xbf\xcd\xed\xeb\xf3\x94\x2a\x43\ +\x68\xad\x39\xf1\xf9\x14\x37\xaf\x5e\x61\xe3\xfa\x3c\x5a\x6b\x4a\ +\x0a\xf2\x16\x92\x24\x25\x8a\x22\xa4\x5e\xaf\xbb\x07\xa6\x26\xc9\ +\x2d\x2d\xe0\x7b\x8a\x03\x39\x9f\x65\xe7\x40\x14\x4a\xb5\x45\xe9\ +\x51\x0a\x27\x8e\x20\x4a\x29\x88\xa3\xa8\x60\xee\x91\x01\x56\x6a\ +\xa3\x6d\x91\xea\xf5\xba\x2b\x7f\x39\x49\x75\xe5\x17\x24\x01\x25\ +\x42\xae\xe0\x63\x22\x07\x80\x97\x17\xe2\xbf\x0c\xd6\x39\x5c\xc6\ +\xd1\x7a\x68\x80\xd5\xc3\x2f\xd1\x68\x34\xa4\xa3\x72\xbd\x5e\x77\ +\xe5\x2f\x2e\x33\xf8\xeb\x02\x9e\x08\xa2\xa4\x6d\xa2\x03\xac\xc3\ +\xe2\x48\x8d\x63\xb1\x7f\x88\xe0\xc8\x2b\x34\x1a\x8d\xbb\x2a\xef\ +\x86\x94\x26\x27\x78\x6c\x71\x0e\x2f\xeb\xe1\x2c\xe0\x40\x7c\x30\ +\xb1\xe1\xc6\xd0\x30\xeb\xa3\x63\x9d\xe1\xff\x00\xfe\x81\x04\x41\ +\xf0\xbf\xef\x5c\x2e\x97\xff\x35\x0c\xf0\x37\x5c\xfc\x53\xd5\x3a\ +\x96\xb0\xec\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x4a\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xc7\x49\x44\ +\x41\x54\x38\x8d\xa5\x93\xcd\x6a\x1a\x61\x14\x86\x1f\x33\x0e\x05\ +\x4d\x47\xda\x88\x64\x53\x14\x83\x43\x76\xc6\x95\x4c\x5d\xb9\x33\ +\x05\x17\xdd\x64\x99\x45\x2e\x20\xbd\x82\x76\x51\x7a\x03\xbd\x82\ +\x76\x93\x95\x0c\x82\x8b\xe2\x76\x32\xe8\x6a\x04\x85\x04\xa2\xd0\ +\xa2\x14\x84\x80\xc5\x9f\x5a\xb5\xf0\xa5\xa7\x1b\x2d\x93\xa1\x29\ +\x14\x0f\x9c\xcd\x39\xe7\x79\x39\x3f\xdf\x17\x12\x11\xb6\xb1\x9d\ +\xad\xe8\x07\x04\x12\x40\x1a\x88\xfa\x62\x51\xe0\x60\x9d\xfb\xa7\ +\xc0\x7e\x3e\x9f\x3f\xd6\x75\xfd\xa3\x6d\xdb\xe6\x1a\x8c\xda\xb6\ +\x6d\xea\xba\xfe\x21\x9f\xcf\x1f\x03\xfb\xf7\x08\x11\xd9\x78\xc2\ +\xb2\xac\x53\xa0\x0b\x5c\x69\x9a\x76\x59\xad\x56\x8f\xaa\xd5\xea\ +\x91\xa6\x69\x97\xc0\x15\xd0\xb5\x2c\xeb\x54\x44\x12\x1b\x2e\xe4\ +\x5b\x62\x3a\x95\x4a\xbd\x1f\x0c\x06\x4f\x00\x01\x1e\x85\xc3\xe1\ +\x39\x80\x52\x6a\x17\xf8\x09\x84\x92\xc9\xe4\xb8\xdf\xef\xbf\x02\ +\xbe\x04\x47\xb8\xf5\x3c\xef\x22\x93\xc9\x5c\x03\x0b\x60\xac\x94\ +\xd2\x94\x52\x1a\x30\x06\x16\x99\x4c\xe6\xda\xf3\xbc\x0b\xe0\x76\ +\x03\x85\x02\x67\x34\x46\xa3\xd1\x8b\x42\xa1\xf0\xbc\xd7\xeb\x3d\ +\xf3\x27\x4c\xd3\xfc\xda\x68\x34\x9a\xf1\x78\xfc\x13\x30\x7b\x68\ +\x89\x77\xad\x56\xab\xb7\x5c\x2e\xf7\xd6\x5d\xfc\xf1\xd5\x6a\xf5\ +\xb4\xdd\x6e\x77\x81\x3b\x3f\xe0\xef\x20\x5a\xaf\xd7\x0f\xca\xe5\ +\xf2\x6b\xa5\x94\x02\xe6\x01\xf1\x5d\x5d\xd7\xb5\x5a\xad\xf6\xae\ +\x54\x2a\x7d\x06\x7e\x04\x05\xd2\xb1\x58\xec\xcd\x6c\x36\xfb\x05\ +\x7c\x07\xc8\x66\xb3\xdf\x00\x3a\x9d\xce\xde\xba\xe6\xb1\x61\x18\ +\x3b\xd3\xe9\xf4\xed\xdf\x96\x38\xaf\x54\x2a\xcd\x48\x24\x32\x04\ +\x16\xb9\x5c\x6e\xe8\x38\xce\x8d\xe3\x38\x37\xb9\x5c\x6e\x08\x2c\ +\x22\x91\xc8\xb0\x52\xa9\x34\xef\x75\xe7\x7b\x07\x88\xc8\xa1\xeb\ +\xba\x67\xc5\x62\xf1\x7c\x32\x99\x9c\x88\x88\x21\x22\xc6\x64\x32\ +\x39\x29\x16\x8b\xe7\xae\xeb\x9e\x89\xc8\xa1\x9f\x09\x0a\x20\x22\ +\xa6\x88\xbc\x5c\xc3\x9b\x98\xb1\x8e\x99\xc1\xfa\xe0\x19\xff\xdb\ +\xb6\xfe\x8d\xbf\x01\x7c\x52\x08\x38\x8e\xd7\x1d\xc8\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x73\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ +\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ +\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xf0\x49\x44\ +\x41\x54\x38\x8d\xa5\x92\x4f\x6b\x1a\x61\x10\xc6\x7f\xae\x8a\x55\ +\x8a\xed\xcd\x20\x14\xb2\x87\x88\x87\x42\x4d\x3c\x49\x3d\xec\x25\ +\x64\x03\x7b\xc9\xc1\xdc\x3c\xf5\xb0\xb7\xc6\x9b\x5f\x20\x1f\x40\ +\xea\xb9\x9f\xc0\xe0\xa9\x37\x21\x14\x12\x59\x58\xd8\x84\x42\xa1\ +\xe0\x69\x89\x60\x4c\x2f\x49\xb5\xa8\xc4\x3f\xd3\x43\xde\xb5\x26\ +\x48\x28\x74\xe0\x85\x79\x67\x9e\x79\x98\x99\x67\x42\x22\xc2\xff\ +\x58\xe4\x99\x5c\x1a\x78\xa9\xfc\xdf\x40\x6f\x2d\x4a\x44\x56\xdf\ +\x2b\x11\xd1\x45\x24\x6d\x59\xd6\x01\x70\x03\xdc\x58\x96\x75\x20\ +\x22\x69\x11\xd9\x54\x98\x65\xcd\xa3\x62\xdb\xb6\x77\x43\xa1\x90\ +\x97\x4a\xa5\x8e\x63\xb1\xd8\x09\x70\x09\x5c\xc6\x62\xb1\x93\x54\ +\x2a\x75\x1c\x0e\x87\x1d\xdb\xb6\x77\x57\x49\x42\x2b\x3b\xd8\x8c\ +\x46\xa3\x9f\x67\xb3\x59\x52\xb5\x3e\x01\xc6\x2a\x17\x07\x5e\x00\ +\xa3\x48\x24\x72\x37\x9d\x4e\x3f\x00\x3e\x80\xb6\x32\xcd\x7d\xb9\ +\x5c\xfe\x02\x0c\x81\x6b\xe0\x56\x91\x4c\x94\x7f\x0d\xfc\x52\x98\ +\xfb\xa7\x4b\x4c\x97\x4a\xa5\x9d\x56\xab\xb5\xa5\x0a\x48\x26\x93\ +\x77\x95\x4a\xe5\x1b\x40\xad\x56\x7b\x37\x18\x0c\x5e\x03\x34\x9b\ +\xcd\xad\xe1\x70\xb8\xd3\x68\x34\x00\x7a\xc1\xfc\x19\xe0\x02\x68\ +\x01\x4d\xa0\x59\xad\x56\x8f\x44\x64\x5b\x44\xb6\xab\xd5\xea\x51\ +\x10\x57\x98\x0b\x11\xc9\x88\xc8\x5f\x19\x35\x4d\xfb\xb1\x58\x2c\ +\x42\xc1\xbf\xdd\x6e\x0f\x80\xfe\x8a\x3f\x51\xa9\x89\xa6\x69\x3f\ +\x97\x75\x81\xce\xae\xeb\x9e\x19\x86\xd1\x09\xe6\x76\x1c\x67\x5f\ +\xd7\xf5\x43\x5d\xd7\x0f\x1d\xc7\xd9\x0f\xe2\x86\x61\x74\x5c\xd7\ +\x3d\x53\xb7\xb1\x24\xe8\xe5\xf3\xf9\xd3\x6c\x36\x7b\x15\x00\xe7\ +\xf3\xf9\xc0\xf7\xfd\x3d\xdf\xf7\xf7\xe6\xf3\x79\xd0\xc1\x24\x9b\ +\xcd\x5e\xe5\xf3\xf9\x53\xd4\x61\x3d\x92\x31\x91\x48\x7c\x1c\x8f\ +\x03\xe5\xd6\x5b\x3c\x1e\x67\x34\x1a\x7d\x62\x8d\x8c\xb7\x9e\xe7\ +\xb9\xb9\x5c\xae\x5f\xaf\xd7\x3b\xa6\x69\x76\x79\xb8\x83\xb1\x69\ +\x9a\xdd\x7a\xbd\xde\xc9\xe5\x72\x7d\xcf\xf3\x5c\x1e\x64\xe5\x69\ +\x07\x00\x1b\xc0\x7b\xa0\xeb\x38\x4e\xba\x58\x2c\xbe\x05\x38\x3f\ +\x3f\xff\x5e\x28\x14\x7a\xc0\x1b\xa0\x1d\x2c\x77\x1d\xc1\xaa\x65\ +\x00\x43\xf9\x5f\x81\xce\x3a\xd0\x73\x04\xff\x64\x7f\x00\x19\x1e\ +\x09\x5d\x0e\xd9\xff\x6d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x03\xb1\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x18\x00\x00\x00\x18\x08\x06\x00\x00\x00\xe0\x77\x3d\xf8\ +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\x01\x5e\x1a\ +\x91\x1c\x00\x00\x03\x56\x49\x44\x41\x54\x48\xc7\xdd\x95\x4d\x68\ +\x5c\x55\x14\xc7\x7f\xf7\xe3\xbd\x97\xe9\x34\x69\x5a\x93\x60\xdb\ +\x80\x60\xc1\x12\x9a\x20\x0d\x49\x88\x50\xca\x43\xbb\x70\x93\x85\ +\x62\x41\x2b\xea\x42\xb0\xb8\xb2\x20\x08\x6e\x64\xd0\x55\x4b\x2d\ +\x48\x37\x22\x48\x10\x8c\x20\xba\x09\x45\xa4\x12\xe2\x98\x8a\x29\ +\x1a\xa4\x92\x6a\x6d\x4a\x9b\xb4\x19\x9d\x98\xc4\xb1\xd3\x99\x79\ +\xf3\xde\x9b\xf7\xee\x75\x51\x2c\xe4\x63\x31\xc1\x6e\xf4\xec\xee\ +\xc7\x39\xbf\x7b\xee\xb9\xff\x73\xe1\xbf\x6e\xa2\x99\x4d\xfd\x9f\ +\x3e\xd4\xff\xdc\x23\x2f\x7d\x38\xbe\xf0\xc9\xa3\x8e\x94\xc1\xc1\ +\xae\xc1\xc9\xa1\xae\x43\x6f\x3c\xbb\xef\xd5\x5f\xb7\x04\xc8\xe7\ +\xf3\x76\xb3\x4d\x1f\x94\x4f\xf3\xee\x91\xf7\x99\x2d\xcd\x90\xda\ +\x98\x30\x89\x28\xdd\x5e\x65\xdf\x9d\x83\x9b\x06\xf5\x7d\xff\x5e\ +\x5c\xbd\x7e\x31\x9f\xcf\x6f\x70\xb8\xb6\x67\x8e\x6f\x0a\x13\x74\ +\x74\x08\x04\x29\x5e\xb5\x8d\xc9\xf9\x2f\x58\x9c\x2d\x6f\x16\x7c\ +\xcd\x58\x6f\x76\x82\x5c\x2e\xb7\x26\xb3\x87\x3f\xda\xf5\x43\x6c\ +\xa2\x81\xdf\x6a\xab\x08\x04\xd9\x44\x33\x2f\xaf\xce\x8c\xe5\x26\ +\x06\xd7\xf9\x6d\xb8\x01\xdd\x4c\x0d\x52\x63\x48\xad\x21\x6c\xc4\ +\x08\xa0\xc5\x1a\x8c\x69\xae\xc8\x4d\x01\x4c\x6a\x30\x58\x6a\x71\ +\x08\x08\xda\x74\x4a\x6a\xec\xfd\x03\x24\xc6\x24\xc6\x1a\xea\xc9\ +\xdd\x0c\x8c\x34\x24\xa9\x49\xb6\x04\x38\x3b\x73\xb6\xb7\x20\x0b\ +\x9c\xeb\x3c\x07\xa7\xf9\xde\xd3\x5a\x68\x29\xd1\x52\x26\x89\xb1\ +\x7d\x49\x9a\x12\x36\x42\xa4\x10\xc4\x6e\x8c\xc5\xf6\x0d\x7e\xde\ +\x3d\xed\x69\xad\x1d\xad\xd0\x12\xbb\xcc\x4f\xd4\xf6\xec\x67\xa2\ +\xf8\x59\xcf\x91\xdd\x47\xaf\xac\x01\xcc\xfd\x39\xf7\xde\xa9\xc7\ +\x4f\x51\x11\x65\x8e\xc6\x4f\x0f\x4a\x29\x11\xc2\x82\x00\x29\x04\ +\x59\x37\x63\x83\x30\x10\x00\x9e\xf2\xec\xf1\xde\xd7\xb3\x4a\xa8\ +\x61\x29\x24\x5a\x2a\xb6\x39\x59\xb6\xeb\xed\x34\x08\xf8\xea\xd6\ +\xd8\x3b\xc0\x33\x6b\x00\xa3\x97\x46\x87\x0f\x74\xf4\x70\xa3\x72\ +\x85\x62\x58\x44\x6a\x85\x52\xa0\x94\x44\x0b\xc9\x5c\x60\x44\xc3\ +\x84\x48\x01\xd3\x2b\x93\x42\x0b\x05\x48\x5a\x9d\x76\x8c\x51\xfc\ +\xb2\x74\x8d\x1b\xc5\x45\x5e\x1c\x1a\x61\x29\x28\x3c\xb9\xe1\x8a\ +\x82\x28\xb0\x97\x57\x7e\x26\x30\x65\x6a\x69\x1d\x65\x25\xca\x48\ +\x1c\xa3\x70\xd4\xdd\x6c\x94\x54\x78\xca\xa3\x45\xb5\xa0\x71\xa9\ +\xc4\x55\xbe\xfb\xe3\x22\xf3\xa5\x5b\x54\xc2\x90\xac\x69\xa7\xd6\ +\xa8\xd2\x30\xe9\xc6\x1a\x58\x63\xc7\xa7\x16\x2e\x1c\xeb\xe9\xec\ +\xc1\x53\x6d\x68\xa9\xf0\x94\x8b\x87\x8b\x46\xd1\xea\x64\xec\xc5\ +\xe5\xf3\xc2\xca\x98\xa1\xce\x27\x6c\x10\xd7\x85\x12\x9a\xbe\x07\ +\x0e\xd0\xb7\xab\x17\x8b\xc5\x95\x8a\x42\x78\x95\xc4\xa4\xe3\x9b\ +\x01\x4e\x64\xa2\xcc\xb1\xa9\xcb\x53\x14\xdd\xe2\x0c\x02\x90\x20\ +\x24\x89\xab\x54\xdf\x53\xfb\x47\xb2\x5a\x5b\x32\x6e\x96\xdb\xf5\ +\xbf\xc4\x97\x0b\xe7\x6b\x9e\x23\x67\x5d\xa5\xb4\xab\x14\xae\xd6\ +\xec\x8c\x3a\x06\xba\xdb\xbb\x89\x68\x9c\xd8\xf8\x4c\xdf\x66\xe5\ +\x64\xfe\x24\xf9\x7c\x9e\xdc\x9b\xb9\x7b\x0a\xb5\x80\x39\x63\xa7\ +\x83\x24\x18\xd6\x8e\xc4\xd3\x92\xba\x09\x48\x4c\x32\x7b\xf3\x85\ +\xca\x63\x6b\x95\xfc\xb2\xf5\x7d\x1f\xdf\xf7\x57\xfe\x99\x93\x4d\ +\x29\xd9\xa2\xab\x71\x15\x8b\x45\x29\x41\x64\x42\x52\xd3\x9c\x86\ +\x9a\x53\xb2\x35\x54\xa2\x0a\xa9\x13\x92\x71\x15\x51\x5c\x25\x69\ +\xb2\x57\x34\x05\xc0\xc0\x6a\xbd\x8c\x67\x22\xea\x8d\x06\x36\x89\ +\x48\xed\xbf\x00\xac\xef\x8a\x1f\xcb\x51\x5c\x62\x16\x4b\x15\x56\ +\x74\x8d\xbd\xdb\xba\xd9\x5b\xef\x1e\x78\x2d\xf7\xbc\xdd\x32\x60\ +\x7d\x3f\x07\x98\x5b\xfe\x1a\xe9\x2d\xb2\x50\x2d\x61\x52\x4d\x97\ +\xde\x8d\xd3\xea\xe0\xf7\xfb\xf7\xe7\xcb\x1c\x19\x7b\xf0\xd0\x1d\ +\xd4\x99\x0b\x4b\xbf\x0f\xb4\x7b\x3b\xea\x87\x77\x1e\xfe\xf6\xd2\ +\xf5\x1f\x5f\x59\x78\xab\x70\x93\xff\xbd\xfd\x0d\xf6\xbd\x75\x1d\ +\x3b\xea\x7e\x89\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\ +\x00\x00\x04\x7f\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x18\x00\x00\x00\x18\x08\x06\x00\x00\x00\xe0\x77\x3d\xf8\ +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\x01\ +\x5e\x1a\x91\x1c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x01\x0a\ +\x17\x02\x30\xf6\x73\x58\xfb\x00\x00\x03\xff\x49\x44\x41\x54\x48\ +\xc7\xbd\x95\x6b\x4c\x9b\x75\x14\xc6\x9f\xb7\xd7\xc1\xe8\xe8\xca\ +\x66\x3b\x4a\xc9\x80\x7a\x03\x5a\xca\x8c\x81\x99\x60\x5e\x37\x2e\ +\x92\x2c\xd9\x07\x2c\x4a\xe4\x36\x32\x34\xc6\x84\x0c\xe2\x40\x12\ +\x63\x5f\xb2\xa8\x89\x41\xe2\x52\xd6\x80\x51\xc1\x38\xa5\xc8\x75\ +\x1b\x42\x3b\x88\x62\x59\x02\x6c\x0c\x07\x04\x4a\xe2\x56\x20\x8b\ +\x5c\x02\x65\xa9\xb6\x89\xbc\x57\xbf\xa0\x21\x0a\x8c\x6e\xd1\xf3\ +\xf9\x7f\xce\xef\xfc\x9f\x73\x9e\x1c\xe0\x3f\x0e\xe2\x51\xf3\x2a\ +\x2a\x2a\x4c\x99\x99\x99\x65\xa1\xa1\xa1\xa9\x1c\xcf\xc9\xfc\x7e\ +\xdf\xdd\x55\xef\x5a\x6b\x6d\x4f\xdd\xe5\x99\xb6\x19\xfa\xb1\x9a\ +\xb2\x58\xde\x2b\x59\x5c\x5a\xa4\x39\x8e\x15\x7c\x3e\x9f\x30\x37\ +\x3f\x27\xdc\x1e\x1f\x13\x3a\x3a\xdb\xf8\x8a\x77\xce\x59\x01\x48\ +\xfe\x7a\x2c\xd9\x9a\x39\x38\x38\x28\x3c\xac\x7a\x4d\x4d\x8d\x3e\ +\xf5\xf8\x0b\xf5\x52\xa9\x54\xca\x32\x1c\xc4\x12\x31\x5a\xed\x76\ +\xbe\xa3\xa3\xc3\x73\xe7\xce\x44\x0f\xc3\x30\x76\x00\xc2\xb6\x80\ +\x4d\xc8\xae\x00\x85\x62\xff\xe9\xf0\x70\x45\x08\xc7\x71\x60\x58\ +\x1a\x04\x41\xa0\xb7\xcf\xf1\xf5\xad\x5b\x63\xd5\x14\x45\x2d\x92\ +\x24\x79\x8e\x24\x49\x62\x47\x00\x00\x50\x14\xb5\xd3\x6c\xc4\x45\ +\x45\xf9\x76\x8f\x67\x1e\x31\x31\x7a\x30\x0c\x03\x91\x58\x8c\x23\ +\x1a\x8d\x1b\xc0\xf2\x76\x09\xa2\x20\xf5\x0f\x79\x36\x3e\xe1\x79\ +\xb7\x7b\x06\x2c\xcb\x80\x65\x59\xb0\x0c\x8b\xc2\xc2\x82\xf4\xf8\ +\xf8\x78\xe9\xd6\xc6\xaa\xaa\xaa\xc2\x83\x06\xa4\xa5\xa5\x3d\xa5\ +\xd7\xc7\x45\x4b\xa5\x32\xb8\x67\xdc\x20\x08\x02\x2c\xcb\x20\x56\ +\x1f\x97\x5e\x5c\x5c\xd0\x5b\x56\x56\x16\xbd\xbc\x7c\xff\xb9\xeb\ +\xd7\x9d\x5f\x28\x0e\x84\x8d\x05\x0b\x20\x48\xf2\xc5\x53\x5a\xad\ +\x96\xd0\x6a\xb5\xe8\xec\xea\xc6\x47\x1f\xd7\x82\x65\x59\xec\x93\ +\xcb\x11\xa5\x8b\x3e\x19\xba\x3f\x64\x56\x1f\xf7\xcc\x58\x64\x64\ +\x64\xc9\x90\x6b\xe8\x41\xb0\x00\x79\xa2\xc1\x98\x73\xf7\xde\x1c\ +\x3a\xbb\x7b\x60\x3a\x76\x0c\x3d\x0e\x07\x26\xa7\xa6\x00\x01\xd0\ +\xe9\x74\x08\x0b\x0b\x0b\x91\xed\x93\x11\x23\xa3\xa3\x6c\x7f\xff\ +\x40\x4b\x30\x00\x82\xa2\xde\x37\x27\x9b\x4c\x46\x43\x42\x02\x7e\ +\x5d\x5a\x82\x58\x24\x42\x6c\x4c\x0c\x5a\xdb\xdb\xc1\xf3\x3c\x94\ +\x4a\x25\x08\x82\xc0\xac\x7b\x56\xa8\xae\xac\x76\xf2\x3c\xdf\xb2\ +\xe3\x16\xfd\xb3\xb8\xcd\x66\xcd\x4b\x49\x39\xde\xb8\xb2\xb2\x02\ +\x83\xc1\x80\xec\xac\x0c\xf4\x3a\x1c\x38\x1a\xa5\x85\x29\xc9\x08\ +\x99\x5c\x86\xd5\xd5\x15\xac\x7b\xd7\x99\xd7\x2d\xf9\xdf\x33\x0c\ +\x53\x0d\x60\x05\xdb\x78\x40\xa0\x28\xea\x6f\x93\x98\xcd\x66\x71\ +\x73\xf3\x97\x96\xcb\xdf\x7e\xc3\x65\x65\x65\x09\x29\xa9\x29\x82\ +\xcb\xe5\x12\x3c\x9e\x7b\xc2\x8f\x83\x3f\x70\x79\x79\xaf\xfd\xf6\ +\x12\x49\xce\x91\x24\xe9\x12\x8b\xc5\x56\x00\x85\x9b\x66\xdd\xdd\ +\x07\x00\x50\x52\x52\xa2\x38\x91\x71\xa2\x69\x7a\x6a\x3a\xc7\xe9\ +\x74\x22\x42\x15\x01\x9d\x2e\x1a\x6a\x8d\x9a\xbf\x74\xc9\x76\xd3\ +\x6a\xb5\x5e\xa3\x69\xfa\x36\x80\x39\x00\x6b\x00\xfc\x14\x45\x6d\ +\x6c\xa6\x0b\xbb\x02\xca\xcb\xcb\xf5\xa6\x64\x43\x47\x5b\xeb\x77\ +\xc6\xf1\xf1\x9f\xa1\x52\xa9\xc0\xb2\x2c\xce\x14\x17\x09\x36\x9b\ +\xad\xeb\xe2\xa7\x17\x2b\x01\x2c\x00\xe0\x1e\xa6\xef\xbf\x00\x7e\ +\xbf\x2f\xfb\xc9\xa7\xe3\x46\x6c\xb6\x86\x88\xf9\xf9\x05\x48\xa4\ +\x12\xd0\x34\x8d\x97\xb3\xb3\x30\x39\x39\xe5\xda\x2c\xee\xd9\xeb\ +\xea\x6d\x05\x48\xaf\x5e\xed\xae\x3e\xac\x3e\x7c\xad\xa1\xe1\x33\ +\xc9\xda\xaa\x17\x22\x91\x08\x1c\xcb\x21\x29\x39\x09\xaa\x83\xaa\ +\x5f\x4a\x4b\xdf\x38\xbf\x29\x09\x82\x02\xe8\xf5\x7a\x79\xd1\x99\ +\xfc\x7a\xb5\x5a\x73\x76\x7a\x7a\x1a\x07\x14\x0a\xd0\x1b\x34\x02\ +\x81\x00\xa2\xa2\xa2\x90\x71\x32\xdd\x5b\x79\xbe\xaa\x12\xc0\xf8\ +\x56\x7d\xf7\x12\x22\x00\x78\xf3\xad\xd2\x2a\x8e\xe3\x72\x9b\x9a\ +\xbf\x7a\xd7\xbb\xfe\xe0\x15\xf3\xab\xe6\xfb\x4a\xa5\x12\x5a\xad\ +\x16\xc5\xc5\x85\x1b\x9f\xd4\xd6\x7d\xe0\xf5\x7a\xfb\xf6\xa2\xf9\ +\xb6\x3f\x38\x14\x71\xc8\x7c\xa5\xeb\xca\xcd\xe1\x1b\xc3\x8d\xc3\ +\x37\x86\x7d\x26\x43\x82\xc6\x68\x34\xd4\x27\x1a\x12\x79\x7b\x8b\ +\xfd\xf3\xdc\xdc\xdc\x3a\x00\x75\x8f\x72\x9d\x24\x00\x20\x97\xcb\ +\x7e\x57\x1f\xd1\xa8\x01\xa8\x01\xf8\xff\x60\x99\x27\x92\x93\x93\ +\x04\x47\x9f\xa3\xdb\x62\xa9\x79\xfb\xb1\x6f\x72\x63\xa3\xad\x20\ +\xfc\x60\x78\xd3\xe8\xc8\xe8\x08\x41\x10\x0b\x31\xb1\x47\x73\x7e\ +\x1a\x1c\xea\x6f\x6f\xeb\x2c\x0b\x76\xa8\x3b\x1d\x7d\xd1\x85\x0f\ +\x2f\x14\x31\x0c\x7d\x36\x10\x08\x10\x13\x13\x93\x3d\x03\xce\x81\ +\x66\x00\x4b\xc1\x0e\xf5\x7f\x8f\x3f\x01\x2e\x51\xa3\xa9\xc7\xde\ +\x69\x7b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x20\x26\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\ +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\ +\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x02\x15\ +\x0e\x23\x2f\xab\xc9\xe5\x0b\x00\x00\x00\x1d\x69\x54\x58\x74\x43\ +\x6f\x6d\x6d\x65\x6e\x74\x00\x00\x00\x00\x00\x43\x72\x65\x61\x74\ +\x65\x64\x20\x77\x69\x74\x68\x20\x47\x49\x4d\x50\x64\x2e\x65\x07\ +\x00\x00\x1f\x7d\x49\x44\x41\x54\x78\xda\xcd\x9b\x69\x90\x5d\xd7\ +\x71\xdf\x7f\x7d\xee\xfa\x96\xd9\x07\xc4\x00\x33\x18\x02\x03\xae\ +\x22\x45\x53\x0b\x25\xd2\x91\x44\x53\x8a\x2d\x89\x91\x17\xad\xa4\ +\x2c\x5b\x52\x12\xc9\xf1\x56\x72\xca\xa9\xe4\x4b\x2a\x1f\x52\x89\ +\xbf\x38\x49\x39\x72\xe2\x4d\x92\x63\x4b\xb1\x55\x12\x4d\x49\xb4\ +\xc5\x45\x24\x41\x10\xa0\x44\x09\x80\x28\x42\x22\x41\x12\xfb\x3a\ +\x33\x00\x66\x06\xb3\xbf\xed\xde\x7b\x4e\xe7\xc3\xb9\x6f\x30\x00\ +\x41\xed\x76\xe5\x56\xdd\x79\x6f\xee\xf6\x4e\xf7\xe9\xfe\x77\xf7\ +\xff\xf4\x85\x1f\x73\x7b\xf1\xc5\x17\xf9\xff\x65\xfb\x49\xc6\x12\ +\xfe\x34\x06\x70\xe0\xc0\x81\xde\x9e\x9e\x9e\x9f\x37\xc6\xbc\x4e\ +\x44\x7a\x01\xfb\x8f\x24\x6b\xa0\xaa\xcb\xce\xb9\xef\xac\xac\xac\ +\x3c\x7e\xf3\xcd\x37\x2f\xff\xa4\x0f\x94\x1f\xe7\xa6\x3d\x7b\xf6\ +\x70\xfb\xed\xb7\x03\xf0\xf5\xaf\x7f\xbd\x32\x3a\x3a\x7a\x6f\xad\ +\x56\xfb\x70\x14\x45\x37\x1b\x63\x22\x40\x45\x04\x91\x2b\x3f\xfe\ +\xf2\xe3\xaa\xfa\x8a\xbf\xa5\xaa\xeb\xcf\x8b\x73\x2e\xcf\xf3\xfc\ +\x40\xa3\xd1\xf8\xdc\xd4\xd4\xd4\x17\xde\xfc\xe6\x37\xb7\x2e\x1f\ +\xd3\x3f\xea\xf6\xe0\x83\x0f\xae\x7d\x7f\xe0\x81\x07\x92\xe3\xc7\ +\x8f\x7f\xe8\xdc\xb9\x73\xdf\x5c\x5c\x5c\x6c\xaf\x36\x1a\xda\x6c\ +\xb5\xb4\xd5\x6e\x6b\xbb\xd3\xd1\x4e\xb9\x67\x59\xe6\xf7\x3c\xd7\ +\x2c\xcf\x35\xcf\x73\x2d\x8a\x42\xf3\xa2\xf0\x9f\xeb\x8e\x67\x79\ +\xbe\x76\x7d\xa7\xd3\xd1\x76\xbb\xad\xad\x56\x4b\x5b\xad\x96\x36\ +\x5b\x2d\x5d\x5d\x5d\xd5\x85\x85\x85\xf6\xb9\x73\xe7\xbe\x79\xfc\ +\xf8\xf1\x0f\x3d\xf0\xc0\x03\xc9\x95\xc6\xf6\x8f\xb2\xed\xd9\xb3\ +\x67\xed\xfb\xfd\xf7\xdf\x9f\x1e\x3e\x7c\xf8\xdd\xd3\xd3\xd3\x7b\ +\x16\x16\x16\x8a\x46\xa3\xa1\xed\x2c\xd3\x8e\xb5\x2e\x73\x4e\x73\ +\xa7\x5a\xa8\xdf\x6d\xb9\xbb\x72\xbf\xd2\xe6\xd6\xed\xdd\xeb\x0b\ +\x55\xcd\x55\x35\x73\x4e\x33\xe7\xb4\x63\xad\x6b\x67\x99\x36\x1a\ +\x0d\x5d\x58\x58\x28\xa6\xa7\xa7\xf7\x1c\x3e\x7c\xf8\xdd\xf7\xdf\ +\x7f\x7f\x7a\xa5\x31\xfe\x54\x5d\x60\xff\xfe\xfd\xbc\xe6\x35\xaf\ +\x01\x60\xe7\xce\x9d\xb5\xcd\x9b\x37\xbf\xa5\x5e\xaf\xff\xa7\x4a\ +\xb5\x7a\x47\x9a\x24\x88\x88\xae\x9c\x3c\xc1\xe2\xb1\xe3\x92\x35\ +\x56\x41\x04\xb8\xd4\x0d\x8c\xc8\xda\x2f\x0a\x82\x5e\xb4\x73\x7f\ +\x5c\x41\xfd\x1f\x7f\x4e\xb5\xbc\x46\x41\x95\xb8\x56\xa3\x6f\xfb\ +\x76\xed\xdd\xba\x0d\x55\x95\x76\xa7\x43\xab\xd9\xfc\xd6\xea\xea\ +\xea\x7f\x39\x7b\xf6\xec\x53\x77\xdd\x75\x57\xe3\xf2\xb1\xfe\x54\ +\x14\xf0\xdd\xef\x7e\x97\x5b\x6f\xbd\xb5\xeb\xf3\xf5\x91\x91\x91\ +\xb7\x56\xab\xd5\xff\x90\x56\x2a\xff\x2c\x89\x63\x44\x55\x57\xcf\ +\x9c\x91\x43\x9f\xfe\x33\x0e\xff\xcd\xe7\x58\x99\x5d\xea\xca\xb3\ +\xf6\xd9\xfd\x31\x53\xfe\xaf\x57\x18\x88\x00\xee\xb2\xeb\xd7\x3f\ +\xa3\x77\x43\x1f\xd7\xfe\xda\x87\xb9\xfe\xe3\xbf\x45\x6d\xcb\x16\ +\x45\x44\xda\xed\x36\xed\x76\xfb\xe9\x56\xab\xf5\x87\xe7\xcf\x9f\ +\xdf\xf9\xa6\x37\xbd\x69\xf5\xf2\x31\xff\xd8\x0a\x78\xee\xb9\xe7\ +\x00\xb8\xe5\x96\x5b\xba\xc2\xf7\x8c\x8c\x8c\xdc\x5d\xad\x56\x7f\ +\x2f\x4d\xd3\x3b\x92\x24\x51\x50\x56\x4f\x9d\x92\x83\x9f\xfe\x14\ +\x8b\x0f\xfd\x3d\x3d\x4b\x33\xf4\xd7\x13\x50\xc1\xb5\x1d\x61\xcd\ +\x80\x03\x2d\x20\x88\x04\x13\x09\xae\x50\x34\x57\x4c\xc5\x5b\x84\ +\x6d\x28\x26\x11\x24\x14\x5c\xee\x70\x05\x98\x00\x54\xa0\x58\x75\ +\x04\x55\x03\xa2\x2c\xae\x76\x58\xe9\xbb\x8a\xfe\xbb\x7f\x89\xeb\ +\x3f\xf6\x1b\xd4\xc7\xb7\xaa\x0a\x74\x3a\x1d\xe9\x74\x3a\xdf\x6a\ +\x36\x9b\x9f\x3c\x77\xee\xdc\xc3\x6f\x7e\xf3\x9b\x57\xae\x34\xfe\ +\x9f\x28\x0c\x3e\xf9\xe4\x93\x7d\x23\x23\x23\xbf\x52\xad\x56\xff\ +\x4d\x9a\xa6\x77\xc4\x71\x8c\x3a\xc7\xea\x99\xd3\x1c\xfa\xf4\x9f\ +\xb3\xf2\xe8\x57\xe9\x59\x9c\xa5\x1e\x45\x68\x0e\xa2\x10\x24\x01\ +\x61\x2a\xa0\x82\x6d\x39\xd4\x2a\xd6\x2a\x88\x60\x52\x83\xa9\x88\ +\x9f\xdd\x4c\xd1\x42\xa1\xf0\xf3\x6d\x22\x21\x48\x05\x54\x71\x99\ +\x57\x1e\x02\xf5\x20\x86\xc5\x39\x56\x1e\xff\x2a\x07\x51\xae\xff\ +\xd8\x6f\x52\x1f\x1f\x27\x8e\x63\x44\xe4\x0e\x11\x61\x64\x64\x24\ +\x7d\xf2\xc9\x27\x1f\xb8\xeb\xae\xbb\x96\x7e\x22\x17\x58\x6f\x42\ +\x4f\x3d\xf5\x54\xff\xe8\xe8\xe8\xfb\x2a\x95\xca\x47\x93\x24\xb9\ +\x2d\x8a\xe3\x58\x40\x9b\x53\x53\xf2\xe2\xff\xfa\x24\xab\x3b\x1e\ +\xa6\x67\x71\x81\x6a\x28\x84\x89\xc1\x84\x02\x4e\xd0\x8e\x12\xd6\ +\x0d\x58\x50\xab\x98\x48\x30\xa1\x17\xc8\x15\x8a\x49\xbd\xe1\xdb\ +\xa6\xc3\x24\x06\x13\x94\x16\x60\x15\x29\xa7\xa6\x68\x94\x96\x62\ +\x14\x97\x2b\x79\xe6\x68\x5a\x65\xa5\x67\x80\xfa\xdb\xee\xe6\x55\ +\x9f\xf8\x04\xd5\xd1\x31\x75\xaa\x92\x67\x59\x96\x65\xd9\xb7\x5b\ +\xad\xd6\x5f\x4f\x4d\x4d\xdd\xff\x96\xb7\xbc\x65\xf1\x07\xb9\x83\ +\xb9\xd2\xc1\xbd\x7b\xf7\xae\xdd\xb0\x7b\xf7\xee\xbe\x4d\x9b\x36\ +\xbd\x2f\x49\x92\x8f\xc4\x71\xfc\xda\x30\x0c\x63\x13\x04\xb4\x67\ +\xce\xf1\xfc\x27\xff\x88\x95\x47\x1e\xa2\x6f\x79\x81\x9a\x11\xa2\ +\xc0\x10\xc6\x86\xb0\x12\x78\x45\x58\x10\x27\x88\x13\x0c\x42\x18\ +\x1b\xa2\x6a\xf7\x9c\xc1\x38\x83\x71\x10\x60\x88\x12\x43\x54\xf3\ +\x0a\x0c\xf0\xe7\xc5\x09\xc6\xf9\xfb\xc2\x34\xf0\xf7\x07\x86\x2a\ +\x42\xef\xca\x02\x2b\x8f\x3e\xc4\x81\x4f\xfe\x11\xed\xf3\xe7\x08\ +\xc2\x80\x28\x8a\xe2\x38\x8e\x5f\x9b\x24\xc9\x47\x36\x6d\xda\xf4\ +\xbe\xdd\xbb\x77\xf7\x01\xdc\x7a\xeb\xad\xec\xdd\xbb\xf7\x87\xb3\ +\x80\xf5\x09\xc5\x13\x4f\x3c\xd1\x3b\x36\x36\xf6\x9e\x5a\xad\xf6\ +\xb1\x24\x49\x5e\x1b\x45\x51\x25\xae\x56\x59\x3a\x76\x4c\x5f\xf8\ +\xe3\xff\x29\xab\x0f\xfd\x03\xfd\xed\x15\xfa\x7a\x22\x0c\x7e\xd6\ +\x25\x10\x82\x48\xbc\xdf\xe7\x4a\x54\x37\xa8\x13\xef\xf3\x81\xf7\ +\x73\xb5\x0a\x0e\x4c\xd5\xc3\x9b\x6d\x80\x09\x81\x40\xd0\x42\x51\ +\xa7\x48\xe4\xcf\x15\x2b\x8a\x24\xa0\x06\x5c\xae\xa8\x55\x34\x00\ +\xe7\x1c\xcb\xab\x39\x8b\x69\x2f\xb5\x77\xfe\x22\x37\xfd\xde\xbf\ +\xd5\xde\xed\xdb\x25\x6b\x36\x29\xf2\xbc\xd5\xe9\x74\x9e\x6d\x34\ +\x1a\x9f\x99\x9c\x9c\xfc\xf2\xdb\xde\xf6\xb6\xe5\x57\x4a\x96\xcc\ +\xe5\x49\x4e\xf7\x82\xa7\x9f\x7e\xba\x3e\x3a\x3a\x7a\x77\xb5\x5a\ +\xfd\x8d\x24\x49\x6e\x8b\xa2\xa8\x12\x55\xab\xcc\x1f\x3c\xa8\x2f\ +\xfd\xe9\x9f\xc8\xfc\xfd\x5f\x64\xa0\xb9\x44\x5f\x35\x22\x4c\x02\ +\x82\xc4\x60\x8c\x60\x1c\x48\xe1\xf7\x30\x31\x84\xa9\x21\xaa\x08\ +\x41\x28\x88\x03\x32\x10\x2b\x04\x89\x10\x56\x84\x30\xed\x9e\x13\ +\x24\x53\xc4\x79\xb0\x8c\xaa\x42\x58\x09\x30\xdd\x73\x16\xc4\x82\ +\x09\x84\xa8\x62\x88\xd2\x80\xde\x34\x62\xa0\xb9\xc4\xfc\x97\xbf\ +\xc0\x4b\x7f\xf6\x27\x32\x7f\xf0\xa0\x46\x95\x0a\x61\x14\x55\x92\ +\x24\xb9\xad\x5a\xad\xfe\xc6\xe8\xe8\xe8\xdd\x4f\x3f\xfd\x74\x1d\ +\xe0\xf6\xdb\x6f\x7f\x59\xb2\xb4\xa6\x80\x1d\x3b\x76\xf0\xae\x77\ +\xbd\xab\x3b\xf3\xb5\xc1\xc1\xc1\xb7\x56\x2a\x95\x4f\x24\x49\x72\ +\x47\x18\x86\xb1\x09\x43\x96\x8e\x1e\xd5\x43\x9f\xfe\x94\x9c\xfb\ +\xec\xa7\xd9\x12\x5b\xfa\x7b\x52\x0c\x5e\x30\xb1\x42\x60\x84\x20\ +\x36\x04\xa9\x21\x48\x0c\x62\x05\xca\x3d\x10\xf1\xca\xa8\x1b\xc2\ +\x54\x10\xdb\xdd\x0d\x81\x7a\xd3\x8f\xea\x86\x30\x11\x8c\x0a\xe4\ +\xfe\xb9\xc6\x79\x25\x45\x15\xe3\x5d\x47\x04\x0a\x4a\xb7\x32\xf4\ +\xf7\x24\x6c\x49\x95\x73\x9f\xfd\x34\x47\x3e\xfd\x29\x59\x3a\x76\ +\x4c\x4d\x10\x10\x86\x61\x9c\x24\xc9\x1d\x95\x4a\xe5\x13\x83\x83\ +\x83\x6f\x7d\xe2\x89\x27\x6a\x00\xef\x7a\xd7\xbb\xd8\xb1\x63\xc7\ +\x45\x17\xd8\xbd\x7b\x37\x00\x77\xde\x79\x27\x00\xf7\xdd\x77\x5f\ +\x7a\xe3\x8d\x37\xbe\xb5\x56\xab\xfd\xc7\x4a\xa5\xf2\xb3\x69\x9a\ +\x02\x68\x7b\x76\x96\xe7\xff\xfb\xff\x90\xa5\xaf\x7c\x81\x2d\xa9\ +\xa3\xb7\x9e\xe0\x1c\xb8\x86\x62\x62\x81\x42\x08\x13\x21\xac\x1b\ +\x4c\x22\x60\xa1\x98\x71\x04\x35\x0f\x82\x12\x42\xd8\x13\x10\x54\ +\x05\xd7\x56\x8a\x79\x87\x24\x94\xb1\x4e\x09\x07\x0c\x92\x0a\xb6\ +\xa9\x14\xcb\x16\xb5\x20\x06\x6c\x1b\x82\x61\x41\x02\xc5\x76\x94\ +\x62\xc5\x61\x33\x07\x81\x0f\xa7\xa6\x06\xc6\x08\x4b\xab\x1d\xce\ +\xb4\x84\xbe\x77\xdf\xc3\xab\x7f\xff\xdf\x69\xb2\x61\x18\x10\xe9\ +\x74\x3a\xb4\x5a\xad\x6f\x36\x1a\x8d\x3f\x78\xe9\xa5\x97\x76\x7e\ +\xe0\x03\x1f\x68\x97\xd8\xc6\x9d\x77\xde\x79\x29\x06\x7c\xe6\x33\ +\x9f\x49\xde\xf0\x86\x37\xdc\x5d\xab\xd5\xfe\x7d\xa5\x52\xf1\x71\ +\x5e\x95\xd6\xb9\x73\xf2\xd2\xff\xfe\x24\xcd\x47\x1e\x62\xb0\xb9\ +\x44\x5f\x6f\xea\xfd\x59\x3d\xa2\x87\x35\x3f\xdb\x02\x98\xd8\x5b\ +\x01\x16\xdc\xaa\x12\x0d\x1a\xb0\x3e\x22\x98\x54\xbc\x72\x3a\x8a\ +\x6b\x83\xe9\xf3\x3f\x6f\x97\x1c\xa6\x66\x90\x08\x5c\x47\xd1\xcc\ +\x63\x80\x33\x4a\x7e\xc1\x11\xf4\x79\x7c\xb0\x6d\x87\xcb\x14\x35\ +\x8a\x0a\xd8\x86\x2b\xf1\x41\xb0\x99\x63\x69\xb9\xcd\x7c\xb5\x8f\ +\xea\x3b\xfe\x05\x37\xfc\xee\x27\xa8\x6c\x1c\x51\x44\xe8\x74\x3a\ +\xd2\x6e\xb7\xbf\xd5\x68\x34\xfe\xdb\xbe\x7d\xfb\x1e\xfe\xd8\xc7\ +\x3e\xd6\xe9\x82\x7d\xd0\x15\xfe\xf3\x9f\xff\x7c\xed\x96\x5b\x6e\ +\x79\x6f\xad\x56\xfb\xfd\x34\x4d\x6f\x4f\xd2\x04\x51\xa5\x71\xe6\ +\x0c\x87\xff\xe2\x4f\xa5\xfd\xe4\xa3\x0c\x76\x96\xa9\x47\x31\x64\ +\x52\x9a\xbe\x10\x24\x86\xb0\x62\x08\x22\x83\x58\xaf\x10\x29\x40\ +\x72\x21\xac\x05\x04\x35\xe3\x7d\xdc\xfa\xe3\x74\x4a\x77\xa9\x1b\ +\x82\x9a\xf8\x90\x59\x78\xa5\xd0\xf1\x85\xb4\x89\xbb\xe7\xfc\x73\ +\x34\xf7\x80\xaa\x39\x98\x50\x08\x6a\x06\x91\x12\x4c\x73\x0f\x9c\ +\xb6\x05\x49\x12\x12\x49\x87\xd5\xe9\x29\x96\x66\xe7\xe9\xb9\xe6\ +\x5a\xe2\xde\x5e\x82\x20\x10\x60\x0b\xb0\x75\x78\x78\xb8\x71\xe7\ +\x9d\x77\x1e\xfb\xd2\x97\xbe\x94\x7f\xfc\xe3\x1f\xf7\x0a\xd8\xb5\ +\x6b\x57\xff\xf8\xf8\xf8\xfb\x6b\xb5\xda\x6f\x56\x2a\x95\x37\x24\ +\x69\x2a\xa2\xaa\xab\xa7\x4f\xc9\xd1\xbf\xfc\x8c\x34\x1f\x7f\x84\ +\xbe\xd5\x45\x6a\x12\x10\x88\x4f\x52\xc2\xd4\x20\x81\xf7\xd3\xc0\ +\x78\x7f\x36\xf8\xe3\x41\x45\x08\x02\x41\xb2\xae\x80\xa5\xcf\xa6\ +\x86\xb0\xba\xee\x98\xc1\x03\x63\x2e\x84\x55\x7f\x9f\x98\x12\x2c\ +\xd5\x2b\xcd\xb5\x14\x53\xf7\x96\x23\x94\xd1\xc5\x51\x46\x19\x90\ +\x58\x30\xb1\xf7\x24\x51\x21\x44\x30\xad\x16\xab\xa7\x27\x59\x5e\ +\x5e\x91\xda\xb6\x09\x89\xfb\xfb\x35\x8c\x22\x11\x91\xcd\xc6\x98\ +\xd1\x81\x81\x81\xce\xbd\xf7\xde\x7b\xe2\x4d\x6f\x7a\x53\xdb\x00\ +\xd4\x6a\xb5\xb7\xa7\x69\xfa\x91\x24\x49\x5e\x1b\xc5\xb1\x41\x55\ +\x57\x4f\x9f\x96\x63\x7f\xf5\x97\x34\xbf\xf6\x10\x3d\x0b\xf3\xd4\ +\xc4\xc7\x64\x29\xe3\x79\x10\x1b\x82\xa8\x1c\xac\x05\x32\x45\x80\ +\x20\x16\x6f\x11\x15\x03\xb9\x9f\x6d\x29\x04\x03\x84\xa9\x10\xf6\ +\xfa\x88\x21\x19\x98\x42\x90\x5c\x30\x85\x10\xa4\xa6\x3c\xb7\x2e\ +\x22\x14\x3e\xaa\x84\x69\x69\x65\xa9\xf1\x4a\xe8\x00\x85\x07\xc8\ +\xa0\x74\xb9\x30\xf1\x2e\x69\x0a\xf1\x79\xc2\xd2\x02\xad\xc7\x1e\ +\xe6\xf8\x67\xff\x92\xc6\xe9\xd3\x82\x53\x8d\xe2\xd8\x24\x49\xf2\ +\xda\x34\x4d\x3f\x52\xab\xd5\xde\xde\x4d\x85\x0d\xf0\xfa\x28\x8a\ +\x6e\x8a\xa2\x28\x0e\xc2\x90\xe5\x63\xc7\x38\xfe\x57\xff\x87\xd5\ +\x47\x1e\xa4\x6f\x71\x9e\x5a\x1a\x12\xc6\x81\x0f\x71\x5a\x9a\x24\ +\x3e\xdd\x35\x81\x1f\x84\x84\x7e\x76\xc8\x40\xb5\x74\x8f\x14\x82\ +\xe4\xe2\x71\xc9\xbc\xcf\x4b\xee\x05\x36\x55\x01\x2d\x5d\xa6\x34\ +\x7f\x29\x84\x20\x02\x62\x5f\x2d\x9a\x96\x81\x36\xa8\x51\xc8\x7c\ +\x2e\x61\x22\xc1\xa1\x60\x9d\x77\x0d\x29\x9f\x6f\xf0\x96\x47\x40\ +\xcd\x29\x6e\xfe\x02\xcb\x0f\x3d\xc8\x51\x07\x13\x1f\xfd\x57\xf4\ +\x4c\x6c\x27\x8a\xa2\xb8\x28\x8a\x9b\x80\xd7\x03\x7f\x17\x02\x71\ +\x51\x14\x7d\x22\x12\x19\x63\x40\x44\xdb\x27\x4f\xca\xfc\xdf\x7d\ +\x91\xe1\xa2\x45\x3d\x8e\x09\x23\x1f\x8f\x8d\x08\xb4\x0a\x74\x39\ +\x43\xe3\xd2\x4c\x43\x90\x24\xc2\x44\x31\x14\xa1\x9f\x71\x01\x71\ +\xbe\xc0\x09\x2a\x5e\x68\x2d\x1c\x34\xdb\xd0\x74\x5e\x71\xc9\xc5\ +\xf2\x58\x0a\x41\x0b\x01\xe3\x43\x1b\x49\x80\xd4\x0c\x8a\xa2\x2b\ +\xde\xc7\xc5\x78\x1c\x30\x36\x83\xb8\x40\x2d\x68\xcb\xa2\x4e\x71\ +\x01\xd8\x86\x85\x48\x90\x54\x10\x15\x02\x31\xd4\xa3\x00\x5d\x9c\ +\xe3\xc2\xdf\x7d\x91\xd6\xcf\xdd\x25\x3d\xd7\x5c\xa3\xc6\x18\x11\ +\x91\xa8\x28\x8a\x3e\x20\x0e\x81\x38\xcb\x32\x51\xf5\xc4\x93\x82\ +\x84\xed\x26\xfd\x0b\xf3\xf4\x8e\x0c\x60\xd4\x9b\x96\xcf\xe7\x0b\ +\xc2\xc1\x61\xd2\x89\x09\xa2\x81\x3a\xb8\xb2\xc4\x35\x19\x6e\x7a\ +\x1a\x37\x77\x01\x43\x41\x90\x78\xd3\x27\x2f\x77\xeb\x08\x7a\x87\ +\x08\xb6\x6c\xc1\x0c\xf4\x41\xe1\x6f\x34\xf5\xb2\x34\x9e\x2f\x50\ +\xcd\x20\x6b\xe1\x66\xe7\x71\xf3\x0b\x68\x2b\x47\x82\x32\x1d\xae\ +\x7b\x73\x93\xb4\x8a\x6c\xbc\x0e\x33\xba\x09\x57\x14\xc4\xab\x0e\ +\x35\x40\x00\x45\xcb\xe2\x6c\x81\xda\x36\xf9\xe2\x22\x3a\x3d\x8b\ +\x2e\x2e\xd0\x5b\x8d\x29\xce\xcf\x13\xb6\x5b\x94\x46\x8b\xaa\x6a\ +\x96\x65\x02\x44\x21\x10\xe4\x79\x1e\x38\xe7\xa4\xcb\xbf\xc5\x81\ +\xa1\xaf\x16\x78\x40\x52\xef\x6f\xea\x14\xbb\xda\xa6\xfe\xd6\xdb\ +\xd9\xf4\x5f\xff\x80\x78\xf3\x96\xb5\xba\xbd\x38\x7f\x96\xe5\x4f\ +\xfd\x39\xd9\xce\xbf\xc7\xb4\x67\x30\x95\x08\xb1\x06\xb7\x02\x18\ +\x41\xdb\x16\xee\xb8\x85\xe4\x77\x7e\x9f\xf8\x96\x9f\x59\x47\x84\ +\xf8\x64\x5c\x5b\x0d\x74\xf9\x02\x6e\x6e\x0a\xfb\xec\x33\xe4\x4f\ +\xee\xc2\x1e\x3e\x88\x5b\x6d\xf9\x7a\x22\x35\x38\x2d\x30\x9b\x46\ +\xa8\x7e\xe8\xb7\xa9\xbd\xf3\xfd\x5c\x89\x45\xb4\xab\xab\xe4\x67\ +\xa7\x69\xbf\x74\x80\x95\xa7\x76\xb1\xfa\xf4\x4e\xb2\xb9\x19\xfa\ +\xeb\x01\x49\x68\xd6\xf8\x45\xe7\x9c\xe4\x79\x1e\x00\x61\x57\x01\ +\x62\xad\x5d\x77\x81\xa2\x0e\xcf\xd9\xa8\xf7\xb9\x30\x16\x6c\x54\ +\x25\xdc\xb6\x95\x78\xf3\x96\x4b\x0a\x09\x73\xd5\x46\x82\x6d\x5b\ +\xa1\xa7\x17\x6d\xcc\xf8\x4a\xb0\x4c\x5b\x83\x41\xa1\xdd\x50\x5a\ +\x81\x12\xa9\x12\x5f\x46\x92\xa0\x20\x95\x1a\xa6\x52\x23\xd8\x38\ +\x4e\x78\xd3\x1d\x84\x3f\x77\x37\xd9\xfd\x7f\x41\xbe\xeb\x61\xf4\ +\x78\x03\x71\xe0\x54\xc8\x33\x25\x2a\xf4\x15\xcb\xd8\xb0\x5e\x27\ +\xbc\xf6\x3a\x2a\xd7\x5e\x47\xcf\x5b\x7f\x81\xe5\x1d\x0f\x73\xfe\ +\xcf\xff\x98\x7c\xe1\x19\x9c\x73\x6b\xf2\x59\x6b\xc9\xf3\x5c\x80\ +\xc0\x5c\x89\x95\x55\xa7\x68\x07\x5c\xc7\x97\xad\x18\x50\x57\x10\ +\x5d\x37\x41\x72\xc3\x75\x2f\xe7\xaa\xc5\x10\x6d\x1b\xc7\x0c\x6f\ +\xc4\xb5\x42\xdc\xac\x43\x97\x94\xa0\xcf\x63\x84\x8b\xa1\x48\x15\ +\x17\xac\x11\x5c\xa8\xb5\x74\x1a\xab\x74\x9a\xab\x14\xad\x16\xea\ +\xdc\x9a\x60\xc1\xe6\xad\x84\xef\xb8\x07\x19\xdb\x82\xe9\x0d\xb0\ +\xf3\x8a\x9d\x71\xe4\x8b\x0e\xdb\xd1\x4b\x18\x63\xe7\x1c\xce\x59\ +\x5c\x79\xff\x7a\x65\xf4\xbd\xfd\x5d\xf4\xbe\xfd\x97\x09\x7a\x36\ +\x78\x17\x5e\xc7\x30\x77\x3f\xc3\x4b\x14\x50\x5e\x20\x02\x12\x81\ +\x89\x7d\xfc\x56\x0b\x2e\xcb\x49\xb6\x6c\x27\xdc\x76\xed\x95\xcb\ +\xca\x8d\x63\x98\xf1\xab\xe1\xe4\x0b\x04\xd9\xaa\x0f\x57\x6d\xa0\ +\xe2\x93\x1f\xb2\x92\xef\x2a\x85\x6c\x2e\x2d\x70\xe0\xef\xef\xc7\ +\x39\x4b\xda\x3b\xc0\xc6\x57\xdd\xcc\xf0\xc4\x35\xc4\x95\x2a\x12\ +\x04\x04\x9b\xae\xc6\x8d\xbf\x0a\xf7\x9d\x93\x04\xbd\x0e\x75\x86\ +\xa2\x66\x20\x94\xf5\x9c\x39\xf3\xa7\x4f\x32\x7f\xfa\x14\xce\x39\ +\xea\xc3\x1b\xe8\xdf\x3c\x4a\xb5\x7f\x00\x63\x0c\x26\xad\x30\xf0\ +\xcb\xef\x66\xe1\xe1\x87\x20\x0a\xd7\x94\xbc\x5e\x11\x21\x50\x6a\ +\xd1\xa1\x5a\x2a\xc3\xf8\x8c\x4b\x82\x92\xd4\xb4\x8a\xd3\x80\x78\ +\x6c\x2b\xe9\xd8\x38\x00\xce\x5a\xb2\x56\x8b\xb8\x52\xc1\x04\x01\ +\xe1\xc6\x51\xc2\xf1\x71\x8a\x81\x3a\x2c\xad\x22\x2a\xb0\x02\xb4\ +\x15\x6d\xe3\x51\x7e\x9d\xa1\xe5\x8b\x0b\x5c\xf8\xca\xe7\x20\xcf\ +\x28\xf2\x80\xe5\xdb\x6f\xc3\xdc\xf3\x51\x46\x5e\xfd\x7a\x7f\x41\ +\x94\x90\x0f\x6e\x01\x35\x44\x69\xc9\x2b\x24\xc6\x87\xdb\x35\x4b\ +\x75\x4c\x7f\xeb\x29\x0e\x7f\xf9\xf3\x34\xe6\xe6\x49\x37\x6f\x63\ +\xeb\x3f\x7f\x07\xd7\xbf\xf3\x9d\xf4\x8f\x6c\x46\x44\xa8\x4c\x5c\ +\x43\xb4\x6d\x2b\x54\x52\xaf\x00\xbd\x68\x39\x6b\x0a\x58\xf3\xff\ +\x2e\x07\x6b\x3d\x45\xe5\x72\xc5\x00\x06\x87\xd9\x34\x42\xb2\x75\ +\x1b\x51\x5f\x3f\x00\x59\xb3\xc9\xd9\x03\xcf\x33\x34\x31\x41\x7d\ +\xc3\x55\x44\x3d\x75\xc2\x4d\xe3\x14\xb5\x21\xf4\xdc\x39\x1c\xea\ +\x79\x81\x58\x7c\x9c\x0f\x29\x99\x62\xaf\x87\x48\x0b\xb6\x15\x33\ +\x24\x45\x46\x73\x36\x23\x7b\x21\xc6\x4e\x4f\x52\xdc\xf4\x3a\x42\ +\xe3\x73\x80\x4e\x1c\x11\x05\xa0\x2d\x87\x16\x0e\xd7\xe3\xc0\xae\ +\x77\x57\x25\x9a\x9b\xa3\xff\xe8\x11\xa2\xc9\xb3\x74\x4e\x9c\xe2\ +\x82\x38\xe6\xc6\xc7\xe8\x1f\xd9\xbc\xce\xa5\xc6\xd0\xb4\xba\x26\ +\x63\x17\x07\x5e\xa6\x80\xf5\x2c\xb5\xb3\x0a\xae\x54\x88\x58\xc2\ +\xed\xdb\x09\xb7\x8c\x23\x71\xe4\x15\xb0\xba\xc2\xe4\x53\x4f\x42\ +\x91\x53\xe9\xeb\x27\x4a\x53\xcc\xc6\x51\x18\x1e\xc3\x1d\x3a\x84\ +\xb1\x0e\x8d\xd5\xc7\x65\x2b\x10\xc0\x3a\x92\x9b\x00\x65\xb4\x2a\ +\xd4\x9c\x21\x6f\xa5\xac\xf6\x0e\x10\x26\xd5\x35\x23\x51\x55\x5a\ +\x8b\xe7\x09\x70\xb8\x0e\x3e\xee\x77\x4a\xee\xb0\x0b\xa2\x0a\x3d\ +\x61\xc4\xd5\xd5\x1a\x59\xb5\xce\xaa\x16\x64\xe7\x4f\x53\x4c\x9d\ +\x59\x7b\x86\x88\xe0\x7a\xfa\x21\x8a\xbc\x60\xe5\xf1\x4b\x14\xd0\ +\x45\xc8\xf5\x3c\x91\x04\xa5\x0b\x38\xc1\x59\x88\xc6\x27\x08\x47\ +\x46\x51\x13\xe0\x54\xc9\x97\x16\x59\xd9\xfb\x14\x0b\x3d\x3d\x8c\ +\xdc\xf2\x33\x84\x69\x8a\x8c\x8c\x22\xdb\x26\xd0\xef\x7d\x1d\x69\ +\xb4\xd0\x1c\x5c\x53\x71\x6d\xc5\x15\x0e\x67\x1d\x0a\x38\x55\x88\ +\x12\x64\xe2\x67\xb0\x6a\x91\xb1\x0a\xb5\x5b\xdf\x88\xd9\x3a\x81\ +\x31\x82\x05\x5a\x17\xe6\x68\x1f\x3c\x44\x3d\x2b\x90\x44\x20\x14\ +\x24\x16\x54\xbc\x1a\x7d\xa4\x72\x88\x58\xc2\xc8\x4b\xd2\x53\x80\ +\x86\x29\xf5\x4a\xa5\xbc\xc6\x21\x41\x40\x3b\xeb\x90\xd8\xe2\xe2\ +\x04\x5c\xee\x02\x97\xad\xbf\x79\x0c\x08\x40\x4a\x53\xd4\xb0\x4a\ +\x3c\xba\x95\x70\x70\x08\x44\xc8\xda\x6d\x9a\x67\x27\x89\x8e\xbd\ +\x48\x3e\x36\x81\x6d\xb6\x70\x7d\xfd\x04\x57\x6d\x24\xd8\xba\x15\ +\xdb\x57\x41\x8a\x16\x7a\x41\xb1\x40\xd1\xf6\x4a\x50\xa7\x9e\xf7\ +\xb7\x05\x66\xe8\x2a\xa2\x8f\xfd\x67\x54\x14\x89\xab\x04\xbd\x7d\ +\x48\xad\x8e\x5a\xcb\xca\xec\x0c\xd3\x5f\xdf\x05\x07\x8f\x20\xb9\ +\x85\xbe\xb2\x68\x4a\x14\x0d\xfd\x33\x9c\x3a\x54\x1d\x84\x01\x54\ +\x62\x4c\x5f\x42\xa0\x75\xa2\x89\x9b\xa8\x4e\x5c\x8b\x2d\x31\xc2\ +\x04\x01\xad\xf3\xd3\x04\xad\x66\xb9\x18\xa3\x2f\x07\xc1\xae\x39\ +\xac\x73\x2d\x9c\x53\x9c\x2a\x62\x95\x60\xeb\x16\xc2\xb1\x51\x24\ +\x4d\x51\xa0\x39\x7f\x81\xd9\xfd\xcf\x30\x94\x77\x60\xf2\x0c\x8d\ +\xd9\xf3\x04\x83\x83\x04\x49\x42\xb0\x61\x33\xb2\x61\x0b\x6e\x66\ +\x1e\x50\x82\x01\xc1\x34\x58\xe3\xf1\x1c\xe0\xac\x83\x30\x46\xae\ +\xbe\xc6\x27\x42\xea\xf1\x41\x8c\xa1\xbd\xba\xca\xf4\xb3\x7b\x39\ +\xf5\xe0\xff\xe5\x3a\xbd\x80\x29\x7c\x14\xc2\xe9\x1a\x9b\xec\x95\ +\xe8\xad\x36\x1c\xd9\x0c\x37\xdd\x8a\x1b\x6f\x52\x7f\xcd\xcf\x52\ +\xb9\xeb\xe7\x89\xb7\x4d\xe0\xb2\x0c\x55\xa5\x68\xb7\x29\x26\x27\ +\xa1\xd9\xf2\x18\x54\x0a\x7e\x65\x17\xd0\x8b\x20\x68\xdb\x8a\x69\ +\x3b\x50\x25\xda\xba\x0d\xd9\xb4\x19\x17\x45\x38\xa0\x7d\xe1\x02\ +\x17\xf6\x7c\x9b\xcd\x0d\xa1\x68\x2e\xb0\x78\xe2\x08\xc9\xe8\x18\ +\x95\x38\xc1\xf6\x5f\x45\x67\xf8\x7a\xcc\xdc\xb3\xa4\x83\xa1\x1f\ +\xac\x51\x48\x1c\x4e\x1c\xb6\x34\xdd\x35\xb0\x59\xf3\x39\x1f\x59\ +\x82\xb4\xc2\xf8\xeb\xdf\xc8\x55\xed\x0f\x23\x5f\xf8\x33\x68\xcf\ +\x52\xcc\x5a\xb2\x8e\x23\x37\x8e\xb8\x65\x4b\x25\xfa\xc5\x82\x9e\ +\x9f\x7b\x27\xbc\xe5\x17\x3c\x28\x18\x03\x81\x41\xad\xc3\x8a\xa0\ +\x45\xc1\x91\x5d\x4f\xd2\x38\x72\x9c\x81\xac\xc0\x18\xb3\x86\x77\ +\x97\xb8\xc0\xe5\x18\x20\xe2\xab\x3b\x89\x05\xd4\x10\x8f\x6d\x25\ +\xda\x30\x82\x44\x31\xce\x29\xc5\xfc\x2c\xee\xe0\x77\x08\x22\x47\ +\xfb\xdc\x0c\xed\x63\x47\xb0\xaf\xb9\x0d\xed\x1b\x20\xd8\xb8\x91\ +\xe8\xd5\x37\x52\x3c\xea\x17\x43\x24\x16\x6c\xc7\x2b\xd4\x59\xb7\ +\x06\x60\x9d\x95\x65\x26\x9f\xfd\x36\xea\x2c\x51\xa5\x4e\xff\xf8\ +\x38\xd5\xa1\x61\xc2\x38\x26\xe8\x1d\xa0\xf2\xc6\xb7\xd2\x39\x7d\ +\x92\xe2\xc4\x17\xa0\xa7\x8d\xa9\x0b\x52\xf7\x96\xa4\xeb\x73\x97\ +\x20\x44\xa2\xe8\xb2\xfc\x52\xb1\x79\xce\xd2\xd4\x24\xa7\xbf\xfa\ +\x65\xc2\xe9\xd3\x04\x5d\x8e\xed\x95\x30\xe0\x12\x96\x5c\x00\xe3\ +\x57\x70\x64\x68\x98\x68\xcb\x38\xa6\x56\x03\x11\x3a\x8d\x06\xf9\ +\xf2\x12\x7d\x7d\xbd\x44\x1b\x37\x12\x65\x06\x1a\x6d\x5c\x27\xc3\ +\xda\x02\x53\xeb\x21\xbe\x7a\x2b\xf9\x55\x43\xd8\xe3\x17\x10\xe3\ +\x28\x5a\xea\xa9\x2c\xab\xde\x77\x81\xe6\xcc\x0c\x2f\x7c\xf2\x0f\ +\x21\xcf\x50\x0c\xf5\x1b\xaf\x63\xfc\x17\xee\x66\xec\xb6\x37\x51\ +\x19\x18\x42\xeb\xfd\xd8\x57\xbd\x91\x9c\xfb\x89\xa2\x32\x22\x45\ +\x0a\x81\x4f\xd5\xbb\x02\xd8\xa2\x83\x2d\x0a\xbf\x8a\x64\x1d\x45\ +\x96\xd1\x59\x5d\xe1\xc2\xb1\x63\x9c\x7a\xf4\x61\xec\xd3\xbb\xa9\ +\xb5\x57\x09\x4c\x77\x61\x56\x5e\x9e\x09\x5e\xb4\x80\x75\x28\x59\ +\x28\xce\x7a\x1f\x0b\xb6\x6c\x81\x24\xc6\x15\x05\x36\xcf\x48\xc7\ +\xc6\xd9\xfc\xaf\x7f\x97\x38\x8a\x89\x73\x07\xa3\x63\x98\x4a\x15\ +\x9b\xe7\xbe\x2c\xee\x1f\xc6\x4e\xdc\x84\x9c\xd8\x45\x18\x19\x5f\ +\x4c\x19\x8f\x29\xea\xbc\x1b\x98\xbc\xcd\xe8\x85\x63\xc4\x79\x46\ +\xb6\x6c\x69\xce\x4f\xb3\xda\xd3\x4b\x63\x6c\x82\xb4\x7f\x08\x15\ +\x41\xae\x9e\xc0\xd6\x6b\x48\x63\x99\x22\xf7\x69\xb0\x2b\xdc\xda\ +\x78\x9d\x73\x9c\x3f\x74\x88\xb9\x43\x07\xc9\x5b\x2d\x6c\x9e\x93\ +\xaf\x2c\xd1\x3a\x7f\x8e\xd6\x91\xa3\xd8\x17\x0f\xb0\xa1\xb5\x42\ +\x54\xb8\x4b\x00\xee\xfb\x24\x42\xeb\xf2\x80\x02\xac\x1a\xe2\x91\ +\x51\xc2\xcd\xa3\x10\x46\xd8\xa2\xc0\x88\x50\xdd\xb2\x15\x19\xbb\ +\x1a\x05\x12\xca\x04\x27\x08\x70\x85\xf7\x4b\x57\xef\x87\x9b\x6e\ +\xc3\xee\x7c\x82\x30\x0d\xc1\x81\x0b\x40\x71\x6b\xb3\x17\x18\xd8\ +\x36\x54\xa7\x52\x74\xc8\x8d\x63\x31\xcb\xe9\xcc\xce\xe2\x96\x97\ +\x70\x28\x2a\x42\xd0\xdf\x4f\xde\xd7\x0f\x0b\xe7\xb0\x1d\x87\x6d\ +\x2b\x36\x2f\x05\x50\xc5\x15\x05\x8b\xcf\x7d\x97\xe9\x7f\xf8\x32\ +\xed\xb9\x79\x04\x07\x59\x0b\x5d\x5a\x22\x5e\x5c\x66\xd0\x2a\xf5\ +\x28\xf4\x39\x84\xbb\x58\x80\xfe\xc0\x3c\x40\x7d\x11\x08\x95\x0a\ +\xd1\x96\x71\xc2\x81\x41\xd4\x18\x70\x0e\x09\x43\x4c\x9c\xbc\xac\ +\x1c\x53\xeb\x50\x67\xb1\x45\x8e\xd4\xea\x44\x37\xdc\x4c\x3b\x48\ +\x08\xda\x4a\xd1\x76\xe5\xcc\x95\xc5\x8b\xfa\xff\xf3\x95\x8c\xb0\ +\xc8\x71\x6d\x4b\xb5\x56\x23\x19\x1e\x24\xa9\x56\xb1\x85\x2d\x81\ +\x52\x68\x4b\x40\x50\xae\xab\xab\x28\xaa\xae\x4c\xdd\xbd\x35\x85\ +\xf3\xb3\xf4\x9f\x3c\x44\x7e\x76\x06\x11\x43\x10\x08\x91\x18\xe2\ +\x20\xc0\x04\x1e\x17\xf2\x2b\xb4\xdd\x7c\xff\x3c\x40\x14\x8d\x04\ +\x19\x1e\x24\x9a\x98\x40\x92\xc4\x87\x94\x4e\x87\x4e\xa3\x41\xd1\ +\x69\xaf\xa5\xb5\xdd\x94\x2c\x8c\x63\xa2\x6a\x95\x30\x4e\x90\x28\ +\x26\xda\xb8\x89\xc6\xa6\xab\x29\xa6\x8f\x53\x34\x2c\xb6\xe3\x13\ +\x21\xd7\x15\x40\x05\x1b\x0d\x92\x4b\x86\xf4\x0b\xe6\xc6\xed\x04\ +\xaf\x7d\x1d\x66\xc3\x46\x5c\x91\xfb\x59\x6a\xb7\x69\xcd\x5c\xa0\ +\x12\x58\xbf\x86\x10\x2b\x1a\x5c\x54\xa2\xaa\xa3\x16\x1b\x92\x9e\ +\x14\xd7\xaa\x50\xb4\xf0\x8a\x2e\x93\x2d\x4f\x9f\xfb\xda\x06\xb9\ +\x72\xdf\xd1\x95\xf3\x00\xa7\x38\x0c\x3a\x38\x4c\xb0\x6d\x3b\x1a\ +\x04\x88\x31\xcc\x1d\x3f\xc6\x81\xaf\x7c\x89\x33\xdf\xde\x43\x10\ +\x45\x65\xd7\x12\x60\x2c\xc3\x37\xdc\xc4\x0d\xef\xf8\x45\x46\x6f\ +\x7d\x0d\x61\x10\xe2\x92\x94\xe2\xf5\xb7\x11\xee\x38\xe9\x31\x40\ +\xf4\x62\xd1\x55\x14\x04\x83\x43\xa4\xbf\xf5\x7b\x04\xce\x41\x5a\ +\xc7\x8c\x8f\x23\xc3\x1b\x21\xad\xe0\xac\xc5\xda\x82\xe5\xa9\xd3\ +\x98\x95\x65\x30\x0e\xeb\xc0\xe6\x65\x1e\xe0\x1c\xea\x9c\x27\x69\ +\x0a\xbf\xe4\x6e\x33\xc5\xa9\x40\xd0\x5d\x49\x2e\x6b\x1a\x51\xac\ +\x5b\x17\x71\xbb\xe4\xc9\xf7\x77\x01\xc5\x3a\x43\x30\xb8\x91\x74\ +\xfc\x6a\x08\x02\xd4\x18\x96\x8f\x1d\x41\x9f\xfe\x06\x63\x07\x5e\ +\x24\x4a\x22\x44\xfc\xb2\x95\x09\x1c\x79\x7b\x85\xec\xba\xeb\xc9\ +\xae\xbb\x1e\x93\xa6\x90\x26\xc4\x6f\xbc\x03\xbb\xf3\x7e\x9c\x71\ +\x68\x54\x9a\xb0\x75\xa8\x75\x50\xad\x11\xfe\xec\x5d\x17\xa3\x4f\ +\x18\xfa\x38\x0e\x20\x86\xce\xf2\x32\x87\xbe\xf4\x79\x36\x6b\x93\ +\xce\xbc\xc5\x15\x96\x3c\xb5\xd8\xce\xc5\x38\xae\xce\xe1\xda\x8e\ +\x7c\xd9\xe1\x56\x1d\x92\x1a\x24\x2e\x59\x6a\x05\x9b\xf9\x88\x63\ +\xf3\x2e\xea\xcb\x95\x5d\xe0\x65\xc5\x90\x31\xc8\x60\x1f\xf1\xab\ +\x6e\x24\xac\x54\x10\x63\xc8\x0b\x8b\x9e\x3a\x4d\xcf\xd9\x29\x7a\ +\x13\x25\xaa\x94\xa1\xa9\x80\x30\x14\x16\xcf\x4e\xc1\xd4\x24\xb6\ +\xd5\xf2\x1d\x40\x71\x42\xe5\xda\xeb\x59\xee\x1d\xc0\x2e\x2c\x63\ +\x33\x8b\x77\xeb\x92\x08\x15\x83\x24\xe9\x25\x21\x49\xfd\x09\x16\ +\xcf\x4e\x73\x7a\xc7\x43\x98\x3d\xbb\x30\x2b\x6d\xcf\x1d\x5a\x45\ +\x52\xf5\x33\x2c\xdd\xe7\x08\x9a\x80\x54\xbc\x7b\x38\xa7\x90\x7b\ +\xf3\x77\xae\x24\x72\xe4\xe5\xed\x38\x3f\x44\x31\x24\xb8\x34\xa5\ +\x55\xad\x32\x73\xf2\x24\x26\x8c\x68\x2c\xcc\xb3\x7a\xf0\x30\x49\ +\xab\x45\x1c\x19\x8c\x94\x99\x65\x01\xd2\x86\xb8\xdd\x24\x3f\x7a\ +\x8c\xb9\x17\x0f\xb0\xda\x69\x21\x4e\x61\x65\x85\x4e\xcf\x26\x8a\ +\xce\x24\xed\xc5\x06\x8b\xd3\x53\xe4\x27\x8e\xe1\xda\xed\x75\xf8\ +\xe1\xf3\xfa\xac\xb9\x42\x67\x71\x81\xa5\x93\x27\x59\xdc\xbf\x1f\ +\x79\xe1\x79\xc6\x16\xe6\x30\x56\x3d\x00\x2b\x58\x2d\x58\x99\x9f\ +\xc5\x1e\x3d\x8a\xeb\xb4\x21\x2f\xe8\x2c\x2c\x80\x2d\x20\x04\xd7\ +\x71\xd8\xac\xeb\x6e\xde\xfc\xdd\xba\xe8\xe6\x09\xce\x2b\x58\x00\ +\x5d\x98\x28\x19\x91\x70\x60\x40\x64\xe3\x26\x8e\x7c\xf9\x4b\xb4\ +\x1f\x7f\x1c\x4c\x80\x74\x9a\x0c\x9c\x99\x64\x28\x2f\x70\xa1\xff\ +\x91\xf2\x79\x88\x40\x12\x05\x2c\xbc\xf0\x1c\x53\x4b\x0b\x74\x7a\ +\x7b\x11\x20\xca\x2d\xa3\x33\xa7\x49\x43\xa1\x79\xfa\x04\x67\xff\ +\xf6\xaf\x29\x1e\xec\x87\x52\xfb\xdd\x2e\x10\xcd\x14\x8a\x0e\xd2\ +\x69\x22\xf3\xf3\xc4\x73\xb3\x0c\xda\x0e\x3d\x71\x0c\x45\xd7\x94\ +\x85\xf6\xec\x3c\xb3\x0f\xfd\x03\x2b\xcf\x7c\x1b\xb5\x16\x93\x2b\ +\x23\x33\x53\xf4\x2c\x37\x90\x42\x71\xca\x25\xd5\xa2\x07\x42\xa8\ +\xde\x7c\x23\xe1\xe0\x20\x65\x25\x24\xeb\xfa\xb5\xbc\x02\xf2\x3c\ +\x6f\x34\x9b\xcd\x22\xcb\x32\xc2\x38\x96\x74\xeb\x36\xbd\xea\x97\ +\x7e\x59\x2e\x7c\xee\xaf\x59\x7d\x7a\x0f\x0a\x54\x42\x88\xd2\x18\ +\x09\x23\x0a\x27\x18\xd5\x72\x61\x04\x34\x12\x82\x28\x20\xba\x30\ +\x43\x38\x79\x86\x5c\x9d\x27\x22\x82\x80\x70\xb8\x4a\x14\x85\x54\ +\x96\x2e\xd0\x3a\x3b\x8d\x5a\xbb\x56\x6e\xfb\x16\x19\xd0\xa6\x12\ +\x8a\xef\x30\xa9\x06\x21\xbd\x69\x48\xad\xc7\x87\xda\xa2\xed\x28\ +\xda\xe5\xd2\x57\xd6\x24\x98\x79\x1e\xf3\xbd\x67\xfc\xac\xb6\x15\ +\x4d\x13\x5c\x12\x43\xee\x85\x27\xf4\x5c\x86\x53\x87\x4a\x40\x65\ +\xfb\x35\x6c\xb8\xe7\x5e\xd2\x6d\x13\x8a\x73\x92\x65\x19\xcd\x66\ +\xb3\xc8\xf3\xbc\xd1\x55\x80\xce\xcc\xcc\xbc\x34\x39\x39\x79\x32\ +\x4d\xd3\x9e\x8d\x41\x10\x56\x47\x46\xd8\xf4\xde\xf7\x91\x0a\xcc\ +\xdd\x77\x1f\xed\x93\xc7\x11\x57\x78\x9a\x1c\xc5\xaa\x2f\x35\x05\ +\xf1\x09\x46\xee\x4d\xa1\x1e\x84\xf4\xf4\x44\x7e\xcd\x4f\x7d\x4d\ +\x61\xc4\x40\xa6\xf4\x07\x01\x83\x3d\x35\x24\xe8\x22\xb2\x10\x94\ +\x3d\x9e\x36\x2a\x01\xca\x74\x13\x16\xf5\xb3\x2e\x42\xd1\x2d\xd2\ +\x14\x12\x23\x6c\xae\xa4\x8c\x06\x09\xaa\x50\xc4\xd6\x27\x6d\x65\ +\x5f\xa1\xba\x6e\x06\xeb\xd0\x20\x22\xdd\x3a\xc1\xf0\xfb\x3e\x40\ +\xff\xaf\xbc\x07\xed\x1f\xa0\xd9\x6a\x32\x3b\x3b\x5b\x4c\x4e\x4e\ +\x9e\x9c\x99\x99\x79\x09\x9f\x9f\x91\x2c\x2d\x2d\x35\x92\x24\x89\ +\xa3\x28\xda\x98\x26\xc9\x50\xa5\x52\x91\xa0\x56\xd3\xca\xb6\x09\ +\x31\x81\xa1\x3d\x39\x45\xb1\xb4\x84\x2b\xac\xaf\x0f\x42\x5f\x57\ +\x28\xfe\x07\xd5\xe1\x5b\x5b\x04\x24\x12\x4c\x59\x9b\x14\x6d\x8f\ +\xc2\x9a\x79\xbe\x91\x08\x24\x36\x28\x50\xb4\x7c\x32\x53\xe4\x3e\ +\xbb\x33\x69\x49\x78\xa8\xc3\xe5\x8a\xcd\x1d\xd6\x2a\x2e\x73\xbe\ +\x49\x2a\x2a\xc1\xab\xbc\xde\x5a\x1f\x02\x25\x04\x82\x2e\xcd\xa5\ +\xd8\xc2\x41\x10\x92\x5e\xbd\x9d\x0d\xf7\xdc\x43\xff\x7b\xde\x83\ +\xeb\xeb\xd3\x4e\xa7\x23\x67\xcf\x9e\xd5\x43\x87\x0e\x1d\x79\xe6\ +\x99\x67\x1e\x7c\xec\xb1\xc7\x1e\x9b\x9d\x9d\x9d\x0f\x80\x60\x76\ +\x76\x36\x3f\x72\xe4\xc8\x5c\xa5\x52\x21\x8a\xa2\x91\x38\x8e\x07\ +\x7b\x7a\x7b\xc5\x54\x2a\x5a\x9d\xb8\x06\x11\x95\xec\xec\x34\xf9\ +\xc2\x22\x58\x77\x91\xdb\x2b\x57\x6a\x25\x10\x14\xf1\x40\xda\xf5\ +\x41\xeb\x97\xb3\x25\x64\xcd\x27\x11\x0f\x33\x2e\x2f\x41\x28\xea\ +\xc6\x64\x5d\x2b\xd5\xbb\x35\x88\x1a\x01\x51\x6c\xc1\x9a\x65\xd8\ +\xdc\xb7\xda\x69\xd9\x57\xe1\x4d\x1d\xd4\x09\xb6\xcc\x0f\x30\x01\ +\x95\x6d\x13\x0c\xbf\xff\xfd\x0c\xbe\xf7\xfd\xea\x7a\xfb\xc8\xad\ +\x95\xd3\xa7\x4e\x71\xe0\xc0\x81\x63\xdf\xfc\xe6\x37\x1f\xb8\xef\ +\xbe\xfb\x1e\x3a\x7d\xfa\xf4\x19\xa0\x15\x74\xd7\x67\x5a\xad\x56\ +\x7e\xf4\xe8\xd1\xf3\x49\x92\xb4\xe2\x38\xde\x14\xc7\xf1\x50\x5f\ +\x7f\x3f\x52\x49\xa9\xdd\x70\xa3\x18\x55\x3a\x93\xa7\xc9\xe6\x2e\ +\xac\x09\xae\x56\x3d\x6d\x66\xc0\x18\xf5\x1d\x23\xb9\x4f\x42\x5c\ +\xee\xdb\xe2\x24\x34\xe0\xb3\x68\x5c\xae\x14\x1d\x3f\x53\x12\x97\ +\x4d\x51\x52\x0a\x97\x95\x25\x73\xb9\x0e\x21\x21\x68\xd9\x03\x50\ +\x74\x1c\x45\xae\xb8\x52\x19\x84\x5d\xc1\xfd\x33\xbb\x33\xef\xd4\ +\x51\xd9\x3e\xc1\x86\x0f\x7c\x90\xc1\x0f\x7e\x08\x5b\xaf\x53\x58\ +\xcb\x89\xe3\xc7\xe5\xb9\xe7\x9e\x3b\xf2\x8d\x6f\x7c\xe3\x8b\x5f\ +\xf9\xca\x57\xbe\xb6\xb4\xb4\x34\x89\xe7\xac\x9b\xdd\x06\x09\x07\ +\xd8\x2c\xcb\xf2\x53\xa7\x4e\xcd\x85\x61\xb8\x9c\xa6\xe9\x58\x1c\ +\xc7\x43\xbd\xfd\xfd\x22\x49\xa2\x3d\x37\xbf\x1a\x51\xa4\x79\xf4\ +\x18\xf9\xfc\x05\x4c\x14\x96\x83\xd7\xb5\x19\x52\xe7\x85\x92\xd0\ +\xcf\x9e\x2b\xd4\x77\x7f\xba\x8b\x33\x29\x51\x49\x4b\x59\x20\xf4\ +\x94\x9b\xed\xf8\xf5\x3d\xc2\x12\xa8\x9d\xef\x1d\x76\x40\xd1\xb4\ +\xde\x52\x02\x59\x8b\xef\x5d\x58\x28\x0a\x8f\xf2\x2a\x8a\xed\x74\ +\x48\xc7\xaf\x66\xe4\xd7\x3f\xca\xf0\xaf\xff\xba\x16\x69\x4a\x6e\ +\xad\x74\x85\x7f\xea\xa9\xa7\xfe\xe6\x91\x47\x1e\xd9\xb9\xb2\xb2\ +\x32\x09\x2c\x02\x2d\xc0\x76\x2d\xc0\x89\x88\x05\x6c\xa7\xd3\xc9\ +\xce\x9f\x3f\xbf\x14\xc7\xf1\x6a\x9a\xa6\x9b\x2a\x69\x3a\x54\xad\ +\xd5\x24\xa8\x56\xa5\x76\xdd\x75\x1a\x55\x2a\xd2\x38\x74\x90\x6c\ +\x61\xbe\x64\x5f\x14\xe7\x04\x6b\x3d\xe5\x2c\xeb\x92\x0f\x97\x97\ +\xa0\x54\xb6\xbe\x11\x78\x41\xbd\x39\x7b\x8e\xc0\xe6\x1e\xb4\x24\ +\xf4\x1c\x84\x73\x4a\x51\x5c\xea\xeb\x5d\xc5\x38\xf5\xee\x51\xe4\ +\xba\x66\xf2\x8a\x62\xdb\x1d\xe2\xd1\x51\xc6\x7e\xf3\xb7\x19\xba\ +\xf7\x83\x6a\x6b\x35\x69\xb7\x5a\x32\x79\xe6\x0c\xcf\x3f\xff\xfc\ +\xe1\xa7\x9f\x7e\xfa\x0b\x3b\x76\xec\xd8\xbd\xb8\xb8\x78\x1a\x58\ +\x14\x91\x06\x90\xe3\xf9\x95\x8b\x15\x40\xa9\x04\xd7\x6a\xb5\x3a\ +\x33\x33\x33\x0b\x95\x4a\x25\x8b\xa2\x68\x43\x25\x4d\xfb\xd2\x38\ +\x0e\xe2\xa1\x21\xa9\x6c\xbd\x5a\xa3\x9e\x1e\x69\x1e\x3d\x4a\xbe\ +\xb0\xe0\x99\xf3\xb2\x5f\x68\xad\xde\xee\x22\xb2\x2b\xc1\xf2\x22\ +\xc3\xee\xf9\x46\xeb\xcf\xa9\x78\xcc\x70\x76\x5d\xfc\xb6\x25\x06\ +\x94\x4f\xb2\xa5\x85\x75\x85\x2f\xd7\x36\x7c\xc1\xe3\x7c\x5a\x9d\ +\x8e\x5f\xcd\x96\xdf\xfa\x1d\x06\xde\xfb\x5e\x65\x68\x48\x56\x17\ +\x17\x99\x9a\x9a\xca\x9f\x7f\xfe\xf9\x23\x7b\xf7\xee\xfd\xf2\xe3\ +\x8f\x3f\xfe\xc4\xdc\xdc\xdc\xa9\xae\xf0\xaa\x9a\x77\xd3\xb0\xe0\ +\xb2\x2c\x71\x4d\x09\x8d\x46\x23\x9b\x99\x99\xb9\x50\xa9\x54\x5c\ +\x1c\xc7\x43\x95\x4a\xa5\x2f\x0a\x82\x20\x1d\x1a\x96\xea\xf6\x6b\ +\x34\x88\x22\x69\x9d\x3e\x43\xbe\xbc\xe4\xeb\x70\xfc\xb4\xbb\x6e\ +\x58\x2a\x0f\xad\x37\x79\xe7\x74\x4d\x40\xa4\x34\x79\xf1\xdc\x83\ +\xb3\x9e\x2c\xed\x0a\x4f\xe8\xc3\xa2\x2d\x13\x1c\x57\x86\x38\xd5\ +\x12\x14\x71\x38\x0c\x95\xad\xdb\xd9\xfc\xd1\x7f\xc9\xd0\x3d\x1f\ +\x54\x06\x87\x64\xf9\xc2\x1c\x67\xcf\x9e\xcd\x0e\x1c\x38\x70\x74\ +\xdf\xbe\x7d\x0f\x3e\xf6\xd8\x63\x8f\x9e\x3f\x7f\xfe\xf4\x95\x84\ +\xbf\x92\x02\xba\x4a\x70\x7e\xb5\x79\xb5\x33\x37\x37\x37\x97\x24\ +\x89\x89\xe3\x78\x30\x4d\xd3\xbe\x24\x0c\x83\xa8\xb7\x57\x7a\x6e\ +\x7c\x95\xaa\x75\xd2\x99\x9e\x26\x5f\x5a\x42\x0b\xeb\x05\x2f\x53\ +\x4f\x5f\x72\x7a\x25\x38\x57\xe6\xfb\xee\x22\x25\xdd\x6d\x8b\x77\ +\x0e\x4f\x94\x96\xd7\xbb\x2e\x75\x8e\x77\x07\x6b\x75\xcd\x9a\xdc\ +\xc5\xe5\x6d\x34\x88\xa8\x6c\x9b\x60\xe4\xde\x0f\xb2\xf1\xc3\x1f\ +\x51\x5b\xab\xc9\xca\xc2\x02\x53\x53\x53\xd9\x0b\x2f\xbc\x70\x74\ +\xef\xde\xbd\x5f\xdb\xb1\x63\xc7\x23\xd3\xd3\xd3\xa7\x80\x05\x11\ +\x69\x5e\x2e\xfc\x2b\x29\xa0\x9b\xa5\x5b\xc0\x2e\x2f\x2f\xb7\x66\ +\x66\x66\xe6\xa2\x28\x92\x28\x8a\x86\xd2\x34\x1d\xa8\x56\xab\xc6\ +\x24\x09\xf5\x1b\x6f\x14\xa3\x8e\xf6\xe4\x14\xd9\xe2\x92\x6f\x50\ +\x30\xbe\x27\x00\x29\x73\x83\x12\xb8\x5c\xb9\xe6\xe8\x43\xa6\x9f\ +\x59\xd5\x75\x16\x51\xce\xb8\x67\x7a\xdc\xda\x71\x67\x3d\x76\x78\ +\x32\x44\xb1\xd6\xc7\xf9\xca\xc4\x04\x9b\xee\xb9\x97\x0d\xbf\xf6\ +\x6b\xd8\x34\xa5\xd5\x6c\xca\x99\x33\x67\x8a\x03\x07\x0e\x1c\xd9\ +\xb3\x67\xcf\x23\x3b\x76\xec\x78\x78\x6a\x6a\xea\x78\x09\x78\x0d\ +\xdf\xe5\xf0\xf2\xb6\x82\xef\xa7\x00\xd7\x7d\x7f\x61\x65\x65\xa5\ +\x31\x37\x37\x37\x17\x86\xa1\x0b\x82\x60\x43\x9a\xa6\xc3\x7d\x7d\ +\x7d\x62\x92\x44\xeb\xd7\x5e\x87\xc1\x48\x6b\x72\x92\xce\xc2\xfc\ +\x1a\xf3\xeb\x5c\x59\xfa\xae\x95\x18\xac\x2d\xbe\x6a\xd7\x15\xd6\ +\x7a\x11\xbc\xc7\x3b\x55\x6c\xd7\x55\xba\xee\xd4\xcd\xe9\x9d\x17\ +\x5e\x4d\x40\x75\xfb\xb5\x6c\xbe\xf7\x57\xd9\x70\xcf\x3d\xea\x6a\ +\x35\xf2\xa2\x90\x13\x27\x4e\xf0\xbd\xef\x7d\xef\xf0\xde\xbd\x7b\ +\xbf\xba\x73\xe7\xce\x47\xa6\xa7\xa7\x8f\x77\x43\x5d\x17\xf0\xae\ +\xf8\x1a\xda\x0f\x68\xa7\xef\x2a\xc1\xae\xac\xac\xb4\x2e\x5c\xb8\ +\x30\x63\x8c\xe9\xa8\xea\xc6\x30\x0c\x87\x87\x86\x86\x90\x34\xa5\ +\xb6\x7d\xbb\x04\x41\x40\x7b\x6a\x8a\xf6\xcc\x9c\x4f\x56\xba\xb4\ +\x9a\xf1\x4d\x53\x97\x08\xee\xca\xc6\xa6\xf2\xb5\x99\xae\x95\x58\ +\xab\x17\x5d\x48\x64\xcd\x0d\x9c\xfa\x64\xc9\x39\xa8\x5f\x77\x3d\ +\xa3\xbf\xfa\x21\x36\xbc\xef\x7d\x68\x6f\x2f\x85\xb5\x1c\x3c\x78\ +\x50\x9e\x7d\xf6\xd9\x43\xfb\xf6\xed\xbb\x7f\xf7\xee\xdd\x5f\x9b\ +\x9e\x9e\x3e\x09\x2c\x95\xc2\x67\xaf\x24\xfc\x0f\xa3\x80\xcb\x95\ +\xd0\x39\x7f\xfe\xfc\x9c\x31\x66\x25\x08\x82\xd1\x20\x08\x86\x07\ +\x07\x07\x25\xa8\xd5\xb4\xb6\x7d\xbb\x04\x61\x48\xeb\xc4\x71\x1a\ +\x8b\x8b\xd8\xf2\xfd\x87\xc2\x2a\x85\xf3\xbb\x75\x17\xbf\x17\xd6\ +\xef\xd6\x2a\x79\x79\x6e\xfd\xf9\xbc\x3c\x5f\xa8\x5f\x10\xb6\x40\ +\xef\xb6\xad\x6c\xf9\xc8\x47\xd9\xf0\x81\xf7\xa3\x7d\xfd\x9a\xe5\ +\xb9\xbc\xf8\xe2\x8b\xb2\x7f\xff\xfe\xc3\x7b\xf6\xec\xf9\xdb\x5d\ +\xbb\x76\x3d\xd1\x05\xbc\x32\xce\xe7\xdf\x4f\xf8\x1f\xf6\x8d\x11\ +\x05\x0a\x11\x69\xa9\x2a\x73\x73\x73\x6e\xf7\xee\xdd\x3b\xad\xb5\ +\xd6\x39\xf7\x11\xe0\xba\xeb\x6f\xb8\x41\xaa\x03\x03\x3a\xfc\x9e\ +\xf7\x30\x74\xfb\xed\xe2\x96\x97\xaf\xdc\x8f\x2f\xeb\x8f\xe8\x2b\ +\x74\xee\xeb\x25\x2f\x0d\x5d\xb2\x64\xd9\xdb\x8b\x6c\xde\xac\x32\ +\x30\x40\xab\xd9\x92\x43\x07\x0f\xf2\xec\xb3\xcf\x1e\xde\xb3\x67\ +\xcf\x67\xbf\xf1\x8d\x6f\xec\x9e\x9f\x9f\x3f\x0d\x2c\x97\x63\x2d\ +\x7e\x90\xf0\x3f\xca\x2b\x33\x4e\x55\x73\x11\xdf\x4c\x36\x3f\x3f\ +\x7f\x6a\xe7\xce\x9d\x4f\x1a\x63\x22\x11\xf9\xd5\x30\x0c\xaf\xd9\ +\xba\x6d\x9b\xe9\xdd\xb8\x91\x78\x7c\x5c\x83\x20\x90\x4b\x49\xd3\ +\xf5\x0b\x37\x3f\x68\x4c\xf2\xf2\x37\xad\x4a\xaa\xda\x5a\xab\x59\ +\xa7\x23\xcb\x8b\x8b\x9c\x3c\x71\xc2\xed\xdf\xbf\xff\xe8\xbe\x7d\ +\xfb\x3e\xbf\x73\xe7\xce\x27\x57\x57\x57\xcf\xfc\xa8\xc2\xff\xa8\ +\xaf\xce\xaa\xaa\xae\x59\xc2\xea\xea\xea\xe4\xe3\x8f\x3f\xfe\x68\ +\x10\x04\x49\x18\x86\xef\x06\xae\x19\xdb\xb2\x25\x4c\xd3\x6e\x91\ +\xaf\xfc\x54\x37\xaf\x50\x69\xb7\xdb\x4c\x9e\x39\x53\xec\xdf\xbf\ +\xff\xe8\x33\xcf\x3c\xf3\x95\xc7\x1f\x7f\xfc\xd1\x46\xa3\x31\xf5\ +\xe3\x08\xff\xe3\xbc\x3b\xac\xa5\x25\xa0\xaa\xd2\x68\x34\xd8\xb5\ +\x6b\xd7\x83\xc6\x18\x03\xbc\x73\x69\x69\x69\x6b\x4f\x4f\x4f\xa8\ +\xfa\xd3\x96\x7e\x6d\xcd\x52\x56\x56\x56\x8a\xe3\xc7\x8f\x9f\xdc\ +\xb7\x6f\xdf\x23\xbb\x76\xed\x7a\xf0\x32\xe1\xf3\x7f\x92\x77\x87\ +\xcb\x2d\x06\x52\xa0\x77\x6c\x6c\x6c\xeb\xeb\x5e\xf7\xba\x3b\xfb\ +\xfb\xfb\x5f\x15\x04\x41\xdd\x39\xa7\x3f\xe1\xb3\xaf\xa8\x7c\x63\ +\x8c\x58\x6b\x57\x17\x17\x17\x5f\xfc\xce\x77\xbe\xb3\x7b\x72\x72\ +\xf2\x24\xb0\x8c\x6f\xc7\xca\xfe\xc9\x5e\x9e\x5e\x77\x6f\x58\xf6\ +\x81\xd5\x81\x1e\xa0\x56\x2a\x26\x58\xf7\x2e\xe4\x4f\x45\xf8\x75\ +\xc9\x59\x56\x26\x36\x2b\xc0\x6a\x89\xf6\x3f\x92\xd9\xaf\xdf\xfe\ +\x1f\xba\xc9\xa0\xf1\xd3\x43\x85\x2f\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ \x00\x00\x0b\x2d\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -190,80 +1221,6 @@ \x57\x58\xe6\x90\x67\x11\xf2\xd4\xf9\x2c\x77\xe2\x73\x08\xbc\x41\ \xbc\x15\x05\x78\x11\xb1\xff\x01\xed\xeb\x89\x21\x3a\xe3\x55\x01\ \x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x04\x7f\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x18\x00\x00\x00\x18\x08\x06\x00\x00\x00\xe0\x77\x3d\xf8\ -\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ -\x00\x00\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\x01\ -\x5e\x1a\x91\x1c\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x01\x0a\ -\x17\x02\x30\xf6\x73\x58\xfb\x00\x00\x03\xff\x49\x44\x41\x54\x48\ -\xc7\xbd\x95\x6b\x4c\x9b\x75\x14\xc6\x9f\xb7\xd7\xc1\xe8\xe8\xca\ -\x66\x3b\x4a\xc9\x80\x7a\x03\x5a\xca\x8c\x81\x99\x60\x5e\x37\x2e\ -\x92\x2c\xd9\x07\x2c\x4a\xe4\x36\x32\x34\xc6\x84\x0c\xe2\x40\x12\ -\x63\x5f\xb2\xa8\x89\x41\xe2\x52\xd6\x80\x51\xc1\x38\xa5\xc8\x75\ -\x1b\x42\x3b\x88\x62\x59\x02\x6c\x0c\x07\x04\x4a\xe2\x56\x20\x8b\ -\x5c\x02\x65\xa9\xb6\x89\xbc\x57\xbf\xa0\x21\x0a\x8c\x6e\xd1\xf3\ -\xf9\x7f\xce\xef\xfc\x9f\x73\x9e\x1c\xe0\x3f\x0e\xe2\x51\xf3\x2a\ -\x2a\x2a\x4c\x99\x99\x99\x65\xa1\xa1\xa1\xa9\x1c\xcf\xc9\xfc\x7e\ -\xdf\xdd\x55\xef\x5a\x6b\x6d\x4f\xdd\xe5\x99\xb6\x19\xfa\xb1\x9a\ -\xb2\x58\xde\x2b\x59\x5c\x5a\xa4\x39\x8e\x15\x7c\x3e\x9f\x30\x37\ -\x3f\x27\xdc\x1e\x1f\x13\x3a\x3a\xdb\xf8\x8a\x77\xce\x59\x01\x48\ -\xfe\x7a\x2c\xd9\x9a\x39\x38\x38\x28\x3c\xac\x7a\x4d\x4d\x8d\x3e\ -\xf5\xf8\x0b\xf5\x52\xa9\x54\xca\x32\x1c\xc4\x12\x31\x5a\xed\x76\ -\xbe\xa3\xa3\xc3\x73\xe7\xce\x44\x0f\xc3\x30\x76\x00\xc2\xb6\x80\ -\x4d\xc8\xae\x00\x85\x62\xff\xe9\xf0\x70\x45\x08\xc7\x71\x60\x58\ -\x1a\x04\x41\xa0\xb7\xcf\xf1\xf5\xad\x5b\x63\xd5\x14\x45\x2d\x92\ -\x24\x79\x8e\x24\x49\x62\x47\x00\x00\x50\x14\xb5\xd3\x6c\xc4\x45\ -\x45\xf9\x76\x8f\x67\x1e\x31\x31\x7a\x30\x0c\x03\x91\x58\x8c\x23\ -\x1a\x8d\x1b\xc0\xf2\x76\x09\xa2\x20\xf5\x0f\x79\x36\x3e\xe1\x79\ -\xb7\x7b\x06\x2c\xcb\x80\x65\x59\xb0\x0c\x8b\xc2\xc2\x82\xf4\xf8\ -\xf8\x78\xe9\xd6\xc6\xaa\xaa\xaa\xc2\x83\x06\xa4\xa5\xa5\x3d\xa5\ -\xd7\xc7\x45\x4b\xa5\x32\xb8\x67\xdc\x20\x08\x02\x2c\xcb\x20\x56\ -\x1f\x97\x5e\x5c\x5c\xd0\x5b\x56\x56\x16\xbd\xbc\x7c\xff\xb9\xeb\ -\xd7\x9d\x5f\x28\x0e\x84\x8d\x05\x0b\x20\x48\xf2\xc5\x53\x5a\xad\ -\x96\xd0\x6a\xb5\xe8\xec\xea\xc6\x47\x1f\xd7\x82\x65\x59\xec\x93\ -\xcb\x11\xa5\x8b\x3e\x19\xba\x3f\x64\x56\x1f\xf7\xcc\x58\x64\x64\ -\x64\xc9\x90\x6b\xe8\x41\xb0\x00\x79\xa2\xc1\x98\x73\xf7\xde\x1c\ -\x3a\xbb\x7b\x60\x3a\x76\x0c\x3d\x0e\x07\x26\xa7\xa6\x00\x01\xd0\ -\xe9\x74\x08\x0b\x0b\x0b\x91\xed\x93\x11\x23\xa3\xa3\x6c\x7f\xff\ -\x40\x4b\x30\x00\x82\xa2\xde\x37\x27\x9b\x4c\x46\x43\x42\x02\x7e\ -\x5d\x5a\x82\x58\x24\x42\x6c\x4c\x0c\x5a\xdb\xdb\xc1\xf3\x3c\x94\ -\x4a\x25\x08\x82\xc0\xac\x7b\x56\xa8\xae\xac\x76\xf2\x3c\xdf\xb2\ -\xe3\x16\xfd\xb3\xb8\xcd\x66\xcd\x4b\x49\x39\xde\xb8\xb2\xb2\x02\ -\x83\xc1\x80\xec\xac\x0c\xf4\x3a\x1c\x38\x1a\xa5\x85\x29\xc9\x08\ -\x99\x5c\x86\xd5\xd5\x15\xac\x7b\xd7\x99\xd7\x2d\xf9\xdf\x33\x0c\ -\x53\x0d\x60\x05\xdb\x78\x40\xa0\x28\xea\x6f\x93\x98\xcd\x66\x71\ -\x73\xf3\x97\x96\xcb\xdf\x7e\xc3\x65\x65\x65\x09\x29\xa9\x29\x82\ -\xcb\xe5\x12\x3c\x9e\x7b\xc2\x8f\x83\x3f\x70\x79\x79\xaf\xfd\xf6\ -\x12\x49\xce\x91\x24\xe9\x12\x8b\xc5\x56\x00\x85\x9b\x66\xdd\xdd\ -\x07\x00\x50\x52\x52\xa2\x38\x91\x71\xa2\x69\x7a\x6a\x3a\xc7\xe9\ -\x74\x22\x42\x15\x01\x9d\x2e\x1a\x6a\x8d\x9a\xbf\x74\xc9\x76\xd3\ -\x6a\xb5\x5e\xa3\x69\xfa\x36\x80\x39\x00\x6b\x00\xfc\x14\x45\x6d\ -\x6c\xa6\x0b\xbb\x02\xca\xcb\xcb\xf5\xa6\x64\x43\x47\x5b\xeb\x77\ -\xc6\xf1\xf1\x9f\xa1\x52\xa9\xc0\xb2\x2c\xce\x14\x17\x09\x36\x9b\ -\xad\xeb\xe2\xa7\x17\x2b\x01\x2c\x00\xe0\x1e\xa6\xef\xbf\x00\x7e\ -\xbf\x2f\xfb\xc9\xa7\xe3\x46\x6c\xb6\x86\x88\xf9\xf9\x05\x48\xa4\ -\x12\xd0\x34\x8d\x97\xb3\xb3\x30\x39\x39\xe5\xda\x2c\xee\xd9\xeb\ -\xea\x6d\x05\x48\xaf\x5e\xed\xae\x3e\xac\x3e\x7c\xad\xa1\xe1\x33\ -\xc9\xda\xaa\x17\x22\x91\x08\x1c\xcb\x21\x29\x39\x09\xaa\x83\xaa\ -\x5f\x4a\x4b\xdf\x38\xbf\x29\x09\x82\x02\xe8\xf5\x7a\x79\xd1\x99\ -\xfc\x7a\xb5\x5a\x73\x76\x7a\x7a\x1a\x07\x14\x0a\xd0\x1b\x34\x02\ -\x81\x00\xa2\xa2\xa2\x90\x71\x32\xdd\x5b\x79\xbe\xaa\x12\xc0\xf8\ -\x56\x7d\xf7\x12\x22\x00\x78\xf3\xad\xd2\x2a\x8e\xe3\x72\x9b\x9a\ -\xbf\x7a\xd7\xbb\xfe\xe0\x15\xf3\xab\xe6\xfb\x4a\xa5\x12\x5a\xad\ -\x16\xc5\xc5\x85\x1b\x9f\xd4\xd6\x7d\xe0\xf5\x7a\xfb\xf6\xa2\xf9\ -\xb6\x3f\x38\x14\x71\xc8\x7c\xa5\xeb\xca\xcd\xe1\x1b\xc3\x8d\xc3\ -\x37\x86\x7d\x26\x43\x82\xc6\x68\x34\xd4\x27\x1a\x12\x79\x7b\x8b\ -\xfd\xf3\xdc\xdc\xdc\x3a\x00\x75\x8f\x72\x9d\x24\x00\x20\x97\xcb\ -\x7e\x57\x1f\xd1\xa8\x01\xa8\x01\xf8\xff\x60\x99\x27\x92\x93\x93\ -\x04\x47\x9f\xa3\xdb\x62\xa9\x79\xfb\xb1\x6f\x72\x63\xa3\xad\x20\ -\xfc\x60\x78\xd3\xe8\xc8\xe8\x08\x41\x10\x0b\x31\xb1\x47\x73\x7e\ -\x1a\x1c\xea\x6f\x6f\xeb\x2c\x0b\x76\xa8\x3b\x1d\x7d\xd1\x85\x0f\ -\x2f\x14\x31\x0c\x7d\x36\x10\x08\x10\x13\x13\x93\x3d\x03\xce\x81\ -\x66\x00\x4b\xc1\x0e\xf5\x7f\x8f\x3f\x01\x2e\x51\xa3\xa9\xc7\xde\ -\x69\x7b\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \x00\x00\x20\xb1\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -790,523 +1747,6 @@ \x53\x4d\x4d\x4d\xc1\xa9\xa6\xf6\x23\xda\xff\x01\xb7\xbe\xbf\x34\ \x7c\xc5\x7a\x2d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \ -\x00\x00\x20\x26\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x40\x00\x00\x00\x40\x08\x06\x00\x00\x00\xaa\x69\x71\xde\ -\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ -\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\ -\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x02\x15\ -\x0e\x23\x2f\xab\xc9\xe5\x0b\x00\x00\x00\x1d\x69\x54\x58\x74\x43\ -\x6f\x6d\x6d\x65\x6e\x74\x00\x00\x00\x00\x00\x43\x72\x65\x61\x74\ -\x65\x64\x20\x77\x69\x74\x68\x20\x47\x49\x4d\x50\x64\x2e\x65\x07\ -\x00\x00\x1f\x7d\x49\x44\x41\x54\x78\xda\xcd\x9b\x69\x90\x5d\xd7\ -\x71\xdf\x7f\x7d\xee\xfa\x96\xd9\x07\xc4\x00\x33\x18\x02\x03\xae\ -\x22\x45\x53\x0b\x25\xd2\x91\x44\x53\x8a\x2d\x89\x91\x17\xad\xa4\ -\x2c\x5b\x52\x12\xc9\xf1\x56\x72\xca\xa9\xe4\x4b\x2a\x1f\x52\x89\ -\xbf\x38\x49\x39\x72\xe2\x4d\x92\x63\x4b\xb1\x55\x12\x4d\x49\xb4\ -\xc5\x45\x24\x41\x10\xa0\x44\x09\x80\x28\x42\x22\x41\x12\xfb\x3a\ -\x33\x00\x66\x06\xb3\xbf\xed\xde\x7b\x4e\xe7\xc3\xb9\x6f\x30\x00\ -\x41\xed\x76\xe5\x56\xdd\x79\x6f\xee\xf6\x4e\xf7\xe9\xfe\x77\xf7\ -\xff\xf4\x85\x1f\x73\x7b\xf1\xc5\x17\xf9\xff\x65\xfb\x49\xc6\x12\ -\xfe\x34\x06\x70\xe0\xc0\x81\xde\x9e\x9e\x9e\x9f\x37\xc6\xbc\x4e\ -\x44\x7a\x01\xfb\x8f\x24\x6b\xa0\xaa\xcb\xce\xb9\xef\xac\xac\xac\ -\x3c\x7e\xf3\xcd\x37\x2f\xff\xa4\x0f\x94\x1f\xe7\xa6\x3d\x7b\xf6\ -\x70\xfb\xed\xb7\x03\xf0\xf5\xaf\x7f\xbd\x32\x3a\x3a\x7a\x6f\xad\ -\x56\xfb\x70\x14\x45\x37\x1b\x63\x22\x40\x45\x04\x91\x2b\x3f\xfe\ -\xf2\xe3\xaa\xfa\x8a\xbf\xa5\xaa\xeb\xcf\x8b\x73\x2e\xcf\xf3\xfc\ -\x40\xa3\xd1\xf8\xdc\xd4\xd4\xd4\x17\xde\xfc\xe6\x37\xb7\x2e\x1f\ -\xd3\x3f\xea\xf6\xe0\x83\x0f\xae\x7d\x7f\xe0\x81\x07\x92\xe3\xc7\ -\x8f\x7f\xe8\xdc\xb9\x73\xdf\x5c\x5c\x5c\x6c\xaf\x36\x1a\xda\x6c\ -\xb5\xb4\xd5\x6e\x6b\xbb\xd3\xd1\x4e\xb9\x67\x59\xe6\xf7\x3c\xd7\ -\x2c\xcf\x35\xcf\x73\x2d\x8a\x42\xf3\xa2\xf0\x9f\xeb\x8e\x67\x79\ -\xbe\x76\x7d\xa7\xd3\xd1\x76\xbb\xad\xad\x56\x4b\x5b\xad\x96\x36\ -\x5b\x2d\x5d\x5d\x5d\xd5\x85\x85\x85\xf6\xb9\x73\xe7\xbe\x79\xfc\ -\xf8\xf1\x0f\x3d\xf0\xc0\x03\xc9\x95\xc6\xf6\x8f\xb2\xed\xd9\xb3\ -\x67\xed\xfb\xfd\xf7\xdf\x9f\x1e\x3e\x7c\xf8\xdd\xd3\xd3\xd3\x7b\ -\x16\x16\x16\x8a\x46\xa3\xa1\xed\x2c\xd3\x8e\xb5\x2e\x73\x4e\x73\ -\xa7\x5a\xa8\xdf\x6d\xb9\xbb\x72\xbf\xd2\xe6\xd6\xed\xdd\xeb\x0b\ -\x55\xcd\x55\x35\x73\x4e\x33\xe7\xb4\x63\xad\x6b\x67\x99\x36\x1a\ -\x0d\x5d\x58\x58\x28\xa6\xa7\xa7\xf7\x1c\x3e\x7c\xf8\xdd\xf7\xdf\ -\x7f\x7f\x7a\xa5\x31\xfe\x54\x5d\x60\xff\xfe\xfd\xbc\xe6\x35\xaf\ -\x01\x60\xe7\xce\x9d\xb5\xcd\x9b\x37\xbf\xa5\x5e\xaf\xff\xa7\x4a\ -\xb5\x7a\x47\x9a\x24\x88\x88\xae\x9c\x3c\xc1\xe2\xb1\xe3\x92\x35\ -\x56\x41\x04\xb8\xd4\x0d\x8c\xc8\xda\x2f\x0a\x82\x5e\xb4\x73\x7f\ -\x5c\x41\xfd\x1f\x7f\x4e\xb5\xbc\x46\x41\x95\xb8\x56\xa3\x6f\xfb\ -\x76\xed\xdd\xba\x0d\x55\x95\x76\xa7\x43\xab\xd9\xfc\xd6\xea\xea\ -\xea\x7f\x39\x7b\xf6\xec\x53\x77\xdd\x75\x57\xe3\xf2\xb1\xfe\x54\ -\x14\xf0\xdd\xef\x7e\x97\x5b\x6f\xbd\xb5\xeb\xf3\xf5\x91\x91\x91\ -\xb7\x56\xab\xd5\xff\x90\x56\x2a\xff\x2c\x89\x63\x44\x55\x57\xcf\ -\x9c\x91\x43\x9f\xfe\x33\x0e\xff\xcd\xe7\x58\x99\x5d\xea\xca\xb3\ -\xf6\xd9\xfd\x31\x53\xfe\xaf\x57\x18\x88\x00\xee\xb2\xeb\xd7\x3f\ -\xa3\x77\x43\x1f\xd7\xfe\xda\x87\xb9\xfe\xe3\xbf\x45\x6d\xcb\x16\ -\x45\x44\xda\xed\x36\xed\x76\xfb\xe9\x56\xab\xf5\x87\xe7\xcf\x9f\ -\xdf\xf9\xa6\x37\xbd\x69\xf5\xf2\x31\xff\xd8\x0a\x78\xee\xb9\xe7\ -\x00\xb8\xe5\x96\x5b\xba\xc2\xf7\x8c\x8c\x8c\xdc\x5d\xad\x56\x7f\ -\x2f\x4d\xd3\x3b\x92\x24\x51\x50\x56\x4f\x9d\x92\x83\x9f\xfe\x14\ -\x8b\x0f\xfd\x3d\x3d\x4b\x33\xf4\xd7\x13\x50\xc1\xb5\x1d\x61\xcd\ -\x80\x03\x2d\x20\x88\x04\x13\x09\xae\x50\x34\x57\x4c\xc5\x5b\x84\ -\x6d\x28\x26\x11\x24\x14\x5c\xee\x70\x05\x98\x00\x54\xa0\x58\x75\ -\x04\x55\x03\xa2\x2c\xae\x76\x58\xe9\xbb\x8a\xfe\xbb\x7f\x89\xeb\ -\x3f\xf6\x1b\xd4\xc7\xb7\xaa\x0a\x74\x3a\x1d\xe9\x74\x3a\xdf\x6a\ -\x36\x9b\x9f\x3c\x77\xee\xdc\xc3\x6f\x7e\xf3\x9b\x57\xae\x34\xfe\ -\x9f\x28\x0c\x3e\xf9\xe4\x93\x7d\x23\x23\x23\xbf\x52\xad\x56\xff\ -\x4d\x9a\xa6\x77\xc4\x71\x8c\x3a\xc7\xea\x99\xd3\x1c\xfa\xf4\x9f\ -\xb3\xf2\xe8\x57\xe9\x59\x9c\xa5\x1e\x45\x68\x0e\xa2\x10\x24\x01\ -\x61\x2a\xa0\x82\x6d\x39\xd4\x2a\xd6\x2a\x88\x60\x52\x83\xa9\x88\ -\x9f\xdd\x4c\xd1\x42\xa1\xf0\xf3\x6d\x22\x21\x48\x05\x54\x71\x99\ -\x57\x1e\x02\xf5\x20\x86\xc5\x39\x56\x1e\xff\x2a\x07\x51\xae\xff\ -\xd8\x6f\x52\x1f\x1f\x27\x8e\x63\x44\xe4\x0e\x11\x61\x64\x64\x24\ -\x7d\xf2\xc9\x27\x1f\xb8\xeb\xae\xbb\x96\x7e\x22\x17\x58\x6f\x42\ -\x4f\x3d\xf5\x54\xff\xe8\xe8\xe8\xfb\x2a\x95\xca\x47\x93\x24\xb9\ -\x2d\x8a\xe3\x58\x40\x9b\x53\x53\xf2\xe2\xff\xfa\x24\xab\x3b\x1e\ -\xa6\x67\x71\x81\x6a\x28\x84\x89\xc1\x84\x02\x4e\xd0\x8e\x12\xd6\ -\x0d\x58\x50\xab\x98\x48\x30\xa1\x17\xc8\x15\x8a\x49\xbd\xe1\xdb\ -\xa6\xc3\x24\x06\x13\x94\x16\x60\x15\x29\xa7\xa6\x68\x94\x96\x62\ -\x14\x97\x2b\x79\xe6\x68\x5a\x65\xa5\x67\x80\xfa\xdb\xee\xe6\x55\ -\x9f\xf8\x04\xd5\xd1\x31\x75\xaa\x92\x67\x59\x96\x65\xd9\xb7\x5b\ -\xad\xd6\x5f\x4f\x4d\x4d\xdd\xff\x96\xb7\xbc\x65\xf1\x07\xb9\x83\ -\xb9\xd2\xc1\xbd\x7b\xf7\xae\xdd\xb0\x7b\xf7\xee\xbe\x4d\x9b\x36\ -\xbd\x2f\x49\x92\x8f\xc4\x71\xfc\xda\x30\x0c\x63\x13\x04\xb4\x67\ -\xce\xf1\xfc\x27\xff\x88\x95\x47\x1e\xa2\x6f\x79\x81\x9a\x11\xa2\ -\xc0\x10\xc6\x86\xb0\x12\x78\x45\x58\x10\x27\x88\x13\x0c\x42\x18\ -\x1b\xa2\x6a\xf7\x9c\xc1\x38\x83\x71\x10\x60\x88\x12\x43\x54\xf3\ -\x0a\x0c\xf0\xe7\xc5\x09\xc6\xf9\xfb\xc2\x34\xf0\xf7\x07\x86\x2a\ -\x42\xef\xca\x02\x2b\x8f\x3e\xc4\x81\x4f\xfe\x11\xed\xf3\xe7\x08\ -\xc2\x80\x28\x8a\xe2\x38\x8e\x5f\x9b\x24\xc9\x47\x36\x6d\xda\xf4\ -\xbe\xdd\xbb\x77\xf7\x01\xdc\x7a\xeb\xad\xec\xdd\xbb\xf7\x87\xb3\ -\x80\xf5\x09\xc5\x13\x4f\x3c\xd1\x3b\x36\x36\xf6\x9e\x5a\xad\xf6\ -\xb1\x24\x49\x5e\x1b\x45\x51\x25\xae\x56\x59\x3a\x76\x4c\x5f\xf8\ -\xe3\xff\x29\xab\x0f\xfd\x03\xfd\xed\x15\xfa\x7a\x22\x0c\x7e\xd6\ -\x25\x10\x82\x48\xbc\xdf\xe7\x4a\x54\x37\xa8\x13\xef\xf3\x81\xf7\ -\x73\xb5\x0a\x0e\x4c\xd5\xc3\x9b\x6d\x80\x09\x81\x40\xd0\x42\x51\ -\xa7\x48\xe4\xcf\x15\x2b\x8a\x24\xa0\x06\x5c\xae\xa8\x55\x34\x00\ -\xe7\x1c\xcb\xab\x39\x8b\x69\x2f\xb5\x77\xfe\x22\x37\xfd\xde\xbf\ -\xd5\xde\xed\xdb\x25\x6b\x36\x29\xf2\xbc\xd5\xe9\x74\x9e\x6d\x34\ -\x1a\x9f\x99\x9c\x9c\xfc\xf2\xdb\xde\xf6\xb6\xe5\x57\x4a\x96\xcc\ -\xe5\x49\x4e\xf7\x82\xa7\x9f\x7e\xba\x3e\x3a\x3a\x7a\x77\xb5\x5a\ -\xfd\x8d\x24\x49\x6e\x8b\xa2\xa8\x12\x55\xab\xcc\x1f\x3c\xa8\x2f\ -\xfd\xe9\x9f\xc8\xfc\xfd\x5f\x64\xa0\xb9\x44\x5f\x35\x22\x4c\x02\ -\x82\xc4\x60\x8c\x60\x1c\x48\xe1\xf7\x30\x31\x84\xa9\x21\xaa\x08\ -\x41\x28\x88\x03\x32\x10\x2b\x04\x89\x10\x56\x84\x30\xed\x9e\x13\ -\x24\x53\xc4\x79\xb0\x8c\xaa\x42\x58\x09\x30\xdd\x73\x16\xc4\x82\ -\x09\x84\xa8\x62\x88\xd2\x80\xde\x34\x62\xa0\xb9\xc4\xfc\x97\xbf\ -\xc0\x4b\x7f\xf6\x27\x32\x7f\xf0\xa0\x46\x95\x0a\x61\x14\x55\x92\ -\x24\xb9\xad\x5a\xad\xfe\xc6\xe8\xe8\xe8\xdd\x4f\x3f\xfd\x74\x1d\ -\xe0\xf6\xdb\x6f\x7f\x59\xb2\xb4\xa6\x80\x1d\x3b\x76\xf0\xae\x77\ -\xbd\xab\x3b\xf3\xb5\xc1\xc1\xc1\xb7\x56\x2a\x95\x4f\x24\x49\x72\ -\x47\x18\x86\xb1\x09\x43\x96\x8e\x1e\xd5\x43\x9f\xfe\x94\x9c\xfb\ -\xec\xa7\xd9\x12\x5b\xfa\x7b\x52\x0c\x5e\x30\xb1\x42\x60\x84\x20\ -\x36\x04\xa9\x21\x48\x0c\x62\x05\xca\x3d\x10\xf1\xca\xa8\x1b\xc2\ -\x54\x10\xdb\xdd\x0d\x81\x7a\xd3\x8f\xea\x86\x30\x11\x8c\x0a\xe4\ -\xfe\xb9\xc6\x79\x25\x45\x15\xe3\x5d\x47\x04\x0a\x4a\xb7\x32\xf4\ -\xf7\x24\x6c\x49\x95\x73\x9f\xfd\x34\x47\x3e\xfd\x29\x59\x3a\x76\ -\x4c\x4d\x10\x10\x86\x61\x9c\x24\xc9\x1d\x95\x4a\xe5\x13\x83\x83\ -\x83\x6f\x7d\xe2\x89\x27\x6a\x00\xef\x7a\xd7\xbb\xd8\xb1\x63\xc7\ -\x45\x17\xd8\xbd\x7b\x37\x00\x77\xde\x79\x27\x00\xf7\xdd\x77\x5f\ -\x7a\xe3\x8d\x37\xbe\xb5\x56\xab\xfd\xc7\x4a\xa5\xf2\xb3\x69\x9a\ -\x02\x68\x7b\x76\x96\xe7\xff\xfb\xff\x90\xa5\xaf\x7c\x81\x2d\xa9\ -\xa3\xb7\x9e\xe0\x1c\xb8\x86\x62\x62\x81\x42\x08\x13\x21\xac\x1b\ -\x4c\x22\x60\xa1\x98\x71\x04\x35\x0f\x82\x12\x42\xd8\x13\x10\x54\ -\x05\xd7\x56\x8a\x79\x87\x24\x94\xb1\x4e\x09\x07\x0c\x92\x0a\xb6\ -\xa9\x14\xcb\x16\xb5\x20\x06\x6c\x1b\x82\x61\x41\x02\xc5\x76\x94\ -\x62\xc5\x61\x33\x07\x81\x0f\xa7\xa6\x06\xc6\x08\x4b\xab\x1d\xce\ -\xb4\x84\xbe\x77\xdf\xc3\xab\x7f\xff\xdf\x69\xb2\x61\x18\x10\xe9\ -\x74\x3a\xb4\x5a\xad\x6f\x36\x1a\x8d\x3f\x78\xe9\xa5\x97\x76\x7e\ -\xe0\x03\x1f\x68\x97\xd8\xc6\x9d\x77\xde\x79\x29\x06\x7c\xe6\x33\ -\x9f\x49\xde\xf0\x86\x37\xdc\x5d\xab\xd5\xfe\x7d\xa5\x52\xf1\x71\ -\x5e\x95\xd6\xb9\x73\xf2\xd2\xff\xfe\x24\xcd\x47\x1e\x62\xb0\xb9\ -\x44\x5f\x6f\xea\xfd\x59\x3d\xa2\x87\x35\x3f\xdb\x02\x98\xd8\x5b\ -\x01\x16\xdc\xaa\x12\x0d\x1a\xb0\x3e\x22\x98\x54\xbc\x72\x3a\x8a\ -\x6b\x83\xe9\xf3\x3f\x6f\x97\x1c\xa6\x66\x90\x08\x5c\x47\xd1\xcc\ -\x63\x80\x33\x4a\x7e\xc1\x11\xf4\x79\x7c\xb0\x6d\x87\xcb\x14\x35\ -\x8a\x0a\xd8\x86\x2b\xf1\x41\xb0\x99\x63\x69\xb9\xcd\x7c\xb5\x8f\ -\xea\x3b\xfe\x05\x37\xfc\xee\x27\xa8\x6c\x1c\x51\x44\xe8\x74\x3a\ -\xd2\x6e\xb7\xbf\xd5\x68\x34\xfe\xdb\xbe\x7d\xfb\x1e\xfe\xd8\xc7\ -\x3e\xd6\xe9\x82\x7d\xd0\x15\xfe\xf3\x9f\xff\x7c\xed\x96\x5b\x6e\ -\x79\x6f\xad\x56\xfb\xfd\x34\x4d\x6f\x4f\xd2\x04\x51\xa5\x71\xe6\ -\x0c\x87\xff\xe2\x4f\xa5\xfd\xe4\xa3\x0c\x76\x96\xa9\x47\x31\x64\ -\x52\x9a\xbe\x10\x24\x86\xb0\x62\x08\x22\x83\x58\xaf\x10\x29\x40\ -\x72\x21\xac\x05\x04\x35\xe3\x7d\xdc\xfa\xe3\x74\x4a\x77\xa9\x1b\ -\x82\x9a\xf8\x90\x59\x78\xa5\xd0\xf1\x85\xb4\x89\xbb\xe7\xfc\x73\ -\x34\xf7\x80\xaa\x39\x98\x50\x08\x6a\x06\x91\x12\x4c\x73\x0f\x9c\ -\xb6\x05\x49\x12\x12\x49\x87\xd5\xe9\x29\x96\x66\xe7\xe9\xb9\xe6\ -\x5a\xe2\xde\x5e\x82\x20\x10\x60\x0b\xb0\x75\x78\x78\xb8\x71\xe7\ -\x9d\x77\x1e\xfb\xd2\x97\xbe\x94\x7f\xfc\xe3\x1f\xf7\x0a\xd8\xb5\ -\x6b\x57\xff\xf8\xf8\xf8\xfb\x6b\xb5\xda\x6f\x56\x2a\x95\x37\x24\ -\x69\x2a\xa2\xaa\xab\xa7\x4f\xc9\xd1\xbf\xfc\x8c\x34\x1f\x7f\x84\ -\xbe\xd5\x45\x6a\x12\x10\x88\x4f\x52\xc2\xd4\x20\x81\xf7\xd3\xc0\ -\x78\x7f\x36\xf8\xe3\x41\x45\x08\x02\x41\xb2\xae\x80\xa5\xcf\xa6\ -\x86\xb0\xba\xee\x98\xc1\x03\x63\x2e\x84\x55\x7f\x9f\x98\x12\x2c\ -\xd5\x2b\xcd\xb5\x14\x53\xf7\x96\x23\x94\xd1\xc5\x51\x46\x19\x90\ -\x58\x30\xb1\xf7\x24\x51\x21\x44\x30\xad\x16\xab\xa7\x27\x59\x5e\ -\x5e\x91\xda\xb6\x09\x89\xfb\xfb\x35\x8c\x22\x11\x91\xcd\xc6\x98\ -\xd1\x81\x81\x81\xce\xbd\xf7\xde\x7b\xe2\x4d\x6f\x7a\x53\xdb\x00\ -\xd4\x6a\xb5\xb7\xa7\x69\xfa\x91\x24\x49\x5e\x1b\xc5\xb1\x41\x55\ -\x57\x4f\x9f\x96\x63\x7f\xf5\x97\x34\xbf\xf6\x10\x3d\x0b\xf3\xd4\ -\xc4\xc7\x64\x29\xe3\x79\x10\x1b\x82\xa8\x1c\xac\x05\x32\x45\x80\ -\x20\x16\x6f\x11\x15\x03\xb9\x9f\x6d\x29\x04\x03\x84\xa9\x10\xf6\ -\xfa\x88\x21\x19\x98\x42\x90\x5c\x30\x85\x10\xa4\xa6\x3c\xb7\x2e\ -\x22\x14\x3e\xaa\x84\x69\x69\x65\xa9\xf1\x4a\xe8\x00\x85\x07\xc8\ -\xa0\x74\xb9\x30\xf1\x2e\x69\x0a\xf1\x79\xc2\xd2\x02\xad\xc7\x1e\ -\xe6\xf8\x67\xff\x92\xc6\xe9\xd3\x82\x53\x8d\xe2\xd8\x24\x49\xf2\ -\xda\x34\x4d\x3f\x52\xab\xd5\xde\xde\x4d\x85\x0d\xf0\xfa\x28\x8a\ -\x6e\x8a\xa2\x28\x0e\xc2\x90\xe5\x63\xc7\x38\xfe\x57\xff\x87\xd5\ -\x47\x1e\xa4\x6f\x71\x9e\x5a\x1a\x12\xc6\x81\x0f\x71\x5a\x9a\x24\ -\x3e\xdd\x35\x81\x1f\x84\x84\x7e\x76\xc8\x40\xb5\x74\x8f\x14\x82\ -\xe4\xe2\x71\xc9\xbc\xcf\x4b\xee\x05\x36\x55\x01\x2d\x5d\xa6\x34\ -\x7f\x29\x84\x20\x02\x62\x5f\x2d\x9a\x96\x81\x36\xa8\x51\xc8\x7c\ -\x2e\x61\x22\xc1\xa1\x60\x9d\x77\x0d\x29\x9f\x6f\xf0\x96\x47\x40\ -\xcd\x29\x6e\xfe\x02\xcb\x0f\x3d\xc8\x51\x07\x13\x1f\xfd\x57\xf4\ -\x4c\x6c\x27\x8a\xa2\xb8\x28\x8a\x9b\x80\xd7\x03\x7f\x17\x02\x71\ -\x51\x14\x7d\x22\x12\x19\x63\x40\x44\xdb\x27\x4f\xca\xfc\xdf\x7d\ -\x91\xe1\xa2\x45\x3d\x8e\x09\x23\x1f\x8f\x8d\x08\xb4\x0a\x74\x39\ -\x43\xe3\xd2\x4c\x43\x90\x24\xc2\x44\x31\x14\xa1\x9f\x71\x01\x71\ -\xbe\xc0\x09\x2a\x5e\x68\x2d\x1c\x34\xdb\xd0\x74\x5e\x71\xc9\xc5\ -\xf2\x58\x0a\x41\x0b\x01\xe3\x43\x1b\x49\x80\xd4\x0c\x8a\xa2\x2b\ -\xde\xc7\xc5\x78\x1c\x30\x36\x83\xb8\x40\x2d\x68\xcb\xa2\x4e\x71\ -\x01\xd8\x86\x85\x48\x90\x54\x10\x15\x02\x31\xd4\xa3\x00\x5d\x9c\ -\xe3\xc2\xdf\x7d\x91\xd6\xcf\xdd\x25\x3d\xd7\x5c\xa3\xc6\x18\x11\ -\x91\xa8\x28\x8a\x3e\x20\x0e\x81\x38\xcb\x32\x51\xf5\xc4\x93\x82\ -\x84\xed\x26\xfd\x0b\xf3\xf4\x8e\x0c\x60\xd4\x9b\x96\xcf\xe7\x0b\ -\xc2\xc1\x61\xd2\x89\x09\xa2\x81\x3a\xb8\xb2\xc4\x35\x19\x6e\x7a\ -\x1a\x37\x77\x01\x43\x41\x90\x78\xd3\x27\x2f\x77\xeb\x08\x7a\x87\ -\x08\xb6\x6c\xc1\x0c\xf4\x41\xe1\x6f\x34\xf5\xb2\x34\x9e\x2f\x50\ -\xcd\x20\x6b\xe1\x66\xe7\x71\xf3\x0b\x68\x2b\x47\x82\x32\x1d\xae\ -\x7b\x73\x93\xb4\x8a\x6c\xbc\x0e\x33\xba\x09\x57\x14\xc4\xab\x0e\ -\x35\x40\x00\x45\xcb\xe2\x6c\x81\xda\x36\xf9\xe2\x22\x3a\x3d\x8b\ -\x2e\x2e\xd0\x5b\x8d\x29\xce\xcf\x13\xb6\x5b\x94\x46\x8b\xaa\x6a\ -\x96\x65\x02\x44\x21\x10\xe4\x79\x1e\x38\xe7\xa4\xcb\xbf\xc5\x81\ -\xa1\xaf\x16\x78\x40\x52\xef\x6f\xea\x14\xbb\xda\xa6\xfe\xd6\xdb\ -\xd9\xf4\x5f\xff\x80\x78\xf3\x96\xb5\xba\xbd\x38\x7f\x96\xe5\x4f\ -\xfd\x39\xd9\xce\xbf\xc7\xb4\x67\x30\x95\x08\xb1\x06\xb7\x02\x18\ -\x41\xdb\x16\xee\xb8\x85\xe4\x77\x7e\x9f\xf8\x96\x9f\x59\x47\x84\ -\xf8\x64\x5c\x5b\x0d\x74\xf9\x02\x6e\x6e\x0a\xfb\xec\x33\xe4\x4f\ -\xee\xc2\x1e\x3e\x88\x5b\x6d\xf9\x7a\x22\x35\x38\x2d\x30\x9b\x46\ -\xa8\x7e\xe8\xb7\xa9\xbd\xf3\xfd\x5c\x89\x45\xb4\xab\xab\xe4\x67\ -\xa7\x69\xbf\x74\x80\x95\xa7\x76\xb1\xfa\xf4\x4e\xb2\xb9\x19\xfa\ -\xeb\x01\x49\x68\xd6\xf8\x45\xe7\x9c\xe4\x79\x1e\x00\x61\x57\x01\ -\x62\xad\x5d\x77\x81\xa2\x0e\xcf\xd9\xa8\xf7\xb9\x30\x16\x6c\x54\ -\x25\xdc\xb6\x95\x78\xf3\x96\x4b\x0a\x09\x73\xd5\x46\x82\x6d\x5b\ -\xa1\xa7\x17\x6d\xcc\xf8\x4a\xb0\x4c\x5b\x83\x41\xa1\xdd\x50\x5a\ -\x81\x12\xa9\x12\x5f\x46\x92\xa0\x20\x95\x1a\xa6\x52\x23\xd8\x38\ -\x4e\x78\xd3\x1d\x84\x3f\x77\x37\xd9\xfd\x7f\x41\xbe\xeb\x61\xf4\ -\x78\x03\x71\xe0\x54\xc8\x33\x25\x2a\xf4\x15\xcb\xd8\xb0\x5e\x27\ -\xbc\xf6\x3a\x2a\xd7\x5e\x47\xcf\x5b\x7f\x81\xe5\x1d\x0f\x73\xfe\ -\xcf\xff\x98\x7c\xe1\x19\x9c\x73\x6b\xf2\x59\x6b\xc9\xf3\x5c\x80\ -\xc0\x5c\x89\x95\x55\xa7\x68\x07\x5c\xc7\x97\xad\x18\x50\x57\x10\ -\x5d\x37\x41\x72\xc3\x75\x2f\xe7\xaa\xc5\x10\x6d\x1b\xc7\x0c\x6f\ -\xc4\xb5\x42\xdc\xac\x43\x97\x94\xa0\xcf\x63\x84\x8b\xa1\x48\x15\ -\x17\xac\x11\x5c\xa8\xb5\x74\x1a\xab\x74\x9a\xab\x14\xad\x16\xea\ -\xdc\x9a\x60\xc1\xe6\xad\x84\xef\xb8\x07\x19\xdb\x82\xe9\x0d\xb0\ -\xf3\x8a\x9d\x71\xe4\x8b\x0e\xdb\xd1\x4b\x18\x63\xe7\x1c\xce\x59\ -\x5c\x79\xff\x7a\x65\xf4\xbd\xfd\x5d\xf4\xbe\xfd\x97\x09\x7a\x36\ -\x78\x17\x5e\xc7\x30\x77\x3f\xc3\x4b\x14\x50\x5e\x20\x02\x12\x81\ -\x89\x7d\xfc\x56\x0b\x2e\xcb\x49\xb6\x6c\x27\xdc\x76\xed\x95\xcb\ -\xca\x8d\x63\x98\xf1\xab\xe1\xe4\x0b\x04\xd9\xaa\x0f\x57\x6d\xa0\ -\xe2\x93\x1f\xb2\x92\xef\x2a\x85\x6c\x2e\x2d\x70\xe0\xef\xef\xc7\ -\x39\x4b\xda\x3b\xc0\xc6\x57\xdd\xcc\xf0\xc4\x35\xc4\x95\x2a\x12\ -\x04\x04\x9b\xae\xc6\x8d\xbf\x0a\xf7\x9d\x93\x04\xbd\x0e\x75\x86\ -\xa2\x66\x20\x94\xf5\x9c\x39\xf3\xa7\x4f\x32\x7f\xfa\x14\xce\x39\ -\xea\xc3\x1b\xe8\xdf\x3c\x4a\xb5\x7f\x00\x63\x0c\x26\xad\x30\xf0\ -\xcb\xef\x66\xe1\xe1\x87\x20\x0a\xd7\x94\xbc\x5e\x11\x21\x50\x6a\ -\xd1\xa1\x5a\x2a\xc3\xf8\x8c\x4b\x82\x92\xd4\xb4\x8a\xd3\x80\x78\ -\x6c\x2b\xe9\xd8\x38\x00\xce\x5a\xb2\x56\x8b\xb8\x52\xc1\x04\x01\ -\xe1\xc6\x51\xc2\xf1\x71\x8a\x81\x3a\x2c\xad\x22\x2a\xb0\x02\xb4\ -\x15\x6d\xe3\x51\x7e\x9d\xa1\xe5\x8b\x0b\x5c\xf8\xca\xe7\x20\xcf\ -\x28\xf2\x80\xe5\xdb\x6f\xc3\xdc\xf3\x51\x46\x5e\xfd\x7a\x7f\x41\ -\x94\x90\x0f\x6e\x01\x35\x44\x69\xc9\x2b\x24\xc6\x87\xdb\x35\x4b\ -\x75\x4c\x7f\xeb\x29\x0e\x7f\xf9\xf3\x34\xe6\xe6\x49\x37\x6f\x63\ -\xeb\x3f\x7f\x07\xd7\xbf\xf3\x9d\xf4\x8f\x6c\x46\x44\xa8\x4c\x5c\ -\x43\xb4\x6d\x2b\x54\x52\xaf\x00\xbd\x68\x39\x6b\x0a\x58\xf3\xff\ -\x2e\x07\x6b\x3d\x45\xe5\x72\xc5\x00\x06\x87\xd9\x34\x42\xb2\x75\ -\x1b\x51\x5f\x3f\x00\x59\xb3\xc9\xd9\x03\xcf\x33\x34\x31\x41\x7d\ -\xc3\x55\x44\x3d\x75\xc2\x4d\xe3\x14\xb5\x21\xf4\xdc\x39\x1c\xea\ -\x79\x81\x58\x7c\x9c\x0f\x29\x99\x62\xaf\x87\x48\x0b\xb6\x15\x33\ -\x24\x45\x46\x73\x36\x23\x7b\x21\xc6\x4e\x4f\x52\xdc\xf4\x3a\x42\ -\xe3\x73\x80\x4e\x1c\x11\x05\xa0\x2d\x87\x16\x0e\xd7\xe3\xc0\xae\ -\x77\x57\x25\x9a\x9b\xa3\xff\xe8\x11\xa2\xc9\xb3\x74\x4e\x9c\xe2\ -\x82\x38\xe6\xc6\xc7\xe8\x1f\xd9\xbc\xce\xa5\xc6\xd0\xb4\xba\x26\ -\x63\x17\x07\x5e\xa6\x80\xf5\x2c\xb5\xb3\x0a\xae\x54\x88\x58\xc2\ -\xed\xdb\x09\xb7\x8c\x23\x71\xe4\x15\xb0\xba\xc2\xe4\x53\x4f\x42\ -\x91\x53\xe9\xeb\x27\x4a\x53\xcc\xc6\x51\x18\x1e\xc3\x1d\x3a\x84\ -\xb1\x0e\x8d\xd5\xc7\x65\x2b\x10\xc0\x3a\x92\x9b\x00\x65\xb4\x2a\ -\xd4\x9c\x21\x6f\xa5\xac\xf6\x0e\x10\x26\xd5\x35\x23\x51\x55\x5a\ -\x8b\xe7\x09\x70\xb8\x0e\x3e\xee\x77\x4a\xee\xb0\x0b\xa2\x0a\x3d\ -\x61\xc4\xd5\xd5\x1a\x59\xb5\xce\xaa\x16\x64\xe7\x4f\x53\x4c\x9d\ -\x59\x7b\x86\x88\xe0\x7a\xfa\x21\x8a\xbc\x60\xe5\xf1\x4b\x14\xd0\ -\x45\xc8\xf5\x3c\x91\x04\xa5\x0b\x38\xc1\x59\x88\xc6\x27\x08\x47\ -\x46\x51\x13\xe0\x54\xc9\x97\x16\x59\xd9\xfb\x14\x0b\x3d\x3d\x8c\ -\xdc\xf2\x33\x84\x69\x8a\x8c\x8c\x22\xdb\x26\xd0\xef\x7d\x1d\x69\ -\xb4\xd0\x1c\x5c\x53\x71\x6d\xc5\x15\x0e\x67\x1d\x0a\x38\x55\x88\ -\x12\x64\xe2\x67\xb0\x6a\x91\xb1\x0a\xb5\x5b\xdf\x88\xd9\x3a\x81\ -\x31\x82\x05\x5a\x17\xe6\x68\x1f\x3c\x44\x3d\x2b\x90\x44\x20\x14\ -\x24\x16\x54\xbc\x1a\x7d\xa4\x72\x88\x58\xc2\xc8\x4b\xd2\x53\x80\ -\x86\x29\xf5\x4a\xa5\xbc\xc6\x21\x41\x40\x3b\xeb\x90\xd8\xe2\xe2\ -\x04\x5c\xee\x02\x97\xad\xbf\x79\x0c\x08\x40\x4a\x53\xd4\xb0\x4a\ -\x3c\xba\x95\x70\x70\x08\x44\xc8\xda\x6d\x9a\x67\x27\x89\x8e\xbd\ -\x48\x3e\x36\x81\x6d\xb6\x70\x7d\xfd\x04\x57\x6d\x24\xd8\xba\x15\ -\xdb\x57\x41\x8a\x16\x7a\x41\xb1\x40\xd1\xf6\x4a\x50\xa7\x9e\xf7\ -\xb7\x05\x66\xe8\x2a\xa2\x8f\xfd\x67\x54\x14\x89\xab\x04\xbd\x7d\ -\x48\xad\x8e\x5a\xcb\xca\xec\x0c\xd3\x5f\xdf\x05\x07\x8f\x20\xb9\ -\x85\xbe\xb2\x68\x4a\x14\x0d\xfd\x33\x9c\x3a\x54\x1d\x84\x01\x54\ -\x62\x4c\x5f\x42\xa0\x75\xa2\x89\x9b\xa8\x4e\x5c\x8b\x2d\x31\xc2\ -\x04\x01\xad\xf3\xd3\x04\xad\x66\xb9\x18\xa3\x2f\x07\xc1\xae\x39\ -\xac\x73\x2d\x9c\x53\x9c\x2a\x62\x95\x60\xeb\x16\xc2\xb1\x51\x24\ -\x4d\x51\xa0\x39\x7f\x81\xd9\xfd\xcf\x30\x94\x77\x60\xf2\x0c\x8d\ -\xd9\xf3\x04\x83\x83\x04\x49\x42\xb0\x61\x33\xb2\x61\x0b\x6e\x66\ -\x1e\x50\x82\x01\xc1\x34\x58\xe3\xf1\x1c\xe0\xac\x83\x30\x46\xae\ -\xbe\xc6\x27\x42\xea\xf1\x41\x8c\xa1\xbd\xba\xca\xf4\xb3\x7b\x39\ -\xf5\xe0\xff\xe5\x3a\xbd\x80\x29\x7c\x14\xc2\xe9\x1a\x9b\xec\x95\ -\xe8\xad\x36\x1c\xd9\x0c\x37\xdd\x8a\x1b\x6f\x52\x7f\xcd\xcf\x52\ -\xb9\xeb\xe7\x89\xb7\x4d\xe0\xb2\x0c\x55\xa5\x68\xb7\x29\x26\x27\ -\xa1\xd9\xf2\x18\x54\x0a\x7e\x65\x17\xd0\x8b\x20\x68\xdb\x8a\x69\ -\x3b\x50\x25\xda\xba\x0d\xd9\xb4\x19\x17\x45\x38\xa0\x7d\xe1\x02\ -\x17\xf6\x7c\x9b\xcd\x0d\xa1\x68\x2e\xb0\x78\xe2\x08\xc9\xe8\x18\ -\x95\x38\xc1\xf6\x5f\x45\x67\xf8\x7a\xcc\xdc\xb3\xa4\x83\xa1\x1f\ -\xac\x51\x48\x1c\x4e\x1c\xb6\x34\xdd\x35\xb0\x59\xf3\x39\x1f\x59\ -\x82\xb4\xc2\xf8\xeb\xdf\xc8\x55\xed\x0f\x23\x5f\xf8\x33\x68\xcf\ -\x52\xcc\x5a\xb2\x8e\x23\x37\x8e\xb8\x65\x4b\x25\xfa\xc5\x82\x9e\ -\x9f\x7b\x27\xbc\xe5\x17\x3c\x28\x18\x03\x81\x41\xad\xc3\x8a\xa0\ -\x45\xc1\x91\x5d\x4f\xd2\x38\x72\x9c\x81\xac\xc0\x18\xb3\x86\x77\ -\x97\xb8\xc0\xe5\x18\x20\xe2\xab\x3b\x89\x05\xd4\x10\x8f\x6d\x25\ -\xda\x30\x82\x44\x31\xce\x29\xc5\xfc\x2c\xee\xe0\x77\x08\x22\x47\ -\xfb\xdc\x0c\xed\x63\x47\xb0\xaf\xb9\x0d\xed\x1b\x20\xd8\xb8\x91\ -\xe8\xd5\x37\x52\x3c\xea\x17\x43\x24\x16\x6c\xc7\x2b\xd4\x59\xb7\ -\x06\x60\x9d\x95\x65\x26\x9f\xfd\x36\xea\x2c\x51\xa5\x4e\xff\xf8\ -\x38\xd5\xa1\x61\xc2\x38\x26\xe8\x1d\xa0\xf2\xc6\xb7\xd2\x39\x7d\ -\x92\xe2\xc4\x17\xa0\xa7\x8d\xa9\x0b\x52\xf7\x96\xa4\xeb\x73\x97\ -\x20\x44\xa2\xe8\xb2\xfc\x52\xb1\x79\xce\xd2\xd4\x24\xa7\xbf\xfa\ -\x65\xc2\xe9\xd3\x04\x5d\x8e\xed\x95\x30\xe0\x12\x96\x5c\x00\xe3\ -\x57\x70\x64\x68\x98\x68\xcb\x38\xa6\x56\x03\x11\x3a\x8d\x06\xf9\ -\xf2\x12\x7d\x7d\xbd\x44\x1b\x37\x12\x65\x06\x1a\x6d\x5c\x27\xc3\ -\xda\x02\x53\xeb\x21\xbe\x7a\x2b\xf9\x55\x43\xd8\xe3\x17\x10\xe3\ -\x28\x5a\xea\xa9\x2c\xab\xde\x77\x81\xe6\xcc\x0c\x2f\x7c\xf2\x0f\ -\x21\xcf\x50\x0c\xf5\x1b\xaf\x63\xfc\x17\xee\x66\xec\xb6\x37\x51\ -\x19\x18\x42\xeb\xfd\xd8\x57\xbd\x91\x9c\xfb\x89\xa2\x32\x22\x45\ -\x0a\x81\x4f\xd5\xbb\x02\xd8\xa2\x83\x2d\x0a\xbf\x8a\x64\x1d\x45\ -\x96\xd1\x59\x5d\xe1\xc2\xb1\x63\x9c\x7a\xf4\x61\xec\xd3\xbb\xa9\ -\xb5\x57\x09\x4c\x77\x61\x56\x5e\x9e\x09\x5e\xb4\x80\x75\x28\x59\ -\x28\xce\x7a\x1f\x0b\xb6\x6c\x81\x24\xc6\x15\x05\x36\xcf\x48\xc7\ -\xc6\xd9\xfc\xaf\x7f\x97\x38\x8a\x89\x73\x07\xa3\x63\x98\x4a\x15\ -\x9b\xe7\xbe\x2c\xee\x1f\xc6\x4e\xdc\x84\x9c\xd8\x45\x18\x19\x5f\ -\x4c\x19\x8f\x29\xea\xbc\x1b\x98\xbc\xcd\xe8\x85\x63\xc4\x79\x46\ -\xb6\x6c\x69\xce\x4f\xb3\xda\xd3\x4b\x63\x6c\x82\xb4\x7f\x08\x15\ -\x41\xae\x9e\xc0\xd6\x6b\x48\x63\x99\x22\xf7\x69\xb0\x2b\xdc\xda\ -\x78\x9d\x73\x9c\x3f\x74\x88\xb9\x43\x07\xc9\x5b\x2d\x6c\x9e\x93\ -\xaf\x2c\xd1\x3a\x7f\x8e\xd6\x91\xa3\xd8\x17\x0f\xb0\xa1\xb5\x42\ -\x54\xb8\x4b\x00\xee\xfb\x24\x42\xeb\xf2\x80\x02\xac\x1a\xe2\x91\ -\x51\xc2\xcd\xa3\x10\x46\xd8\xa2\xc0\x88\x50\xdd\xb2\x15\x19\xbb\ -\x1a\x05\x12\xca\x04\x27\x08\x70\x85\xf7\x4b\x57\xef\x87\x9b\x6e\ -\xc3\xee\x7c\x82\x30\x0d\xc1\x81\x0b\x40\x71\x6b\xb3\x17\x18\xd8\ -\x36\x54\xa7\x52\x74\xc8\x8d\x63\x31\xcb\xe9\xcc\xce\xe2\x96\x97\ -\x70\x28\x2a\x42\xd0\xdf\x4f\xde\xd7\x0f\x0b\xe7\xb0\x1d\x87\x6d\ -\x2b\x36\x2f\x05\x50\xc5\x15\x05\x8b\xcf\x7d\x97\xe9\x7f\xf8\x32\ -\xed\xb9\x79\x04\x07\x59\x0b\x5d\x5a\x22\x5e\x5c\x66\xd0\x2a\xf5\ -\x28\xf4\x39\x84\xbb\x58\x80\xfe\xc0\x3c\x40\x7d\x11\x08\x95\x0a\ -\xd1\x96\x71\xc2\x81\x41\xd4\x18\x70\x0e\x09\x43\x4c\x9c\xbc\xac\ -\x1c\x53\xeb\x50\x67\xb1\x45\x8e\xd4\xea\x44\x37\xdc\x4c\x3b\x48\ -\x08\xda\x4a\xd1\x76\xe5\xcc\x95\xc5\x8b\xfa\xff\xf3\x95\x8c\xb0\ -\xc8\x71\x6d\x4b\xb5\x56\x23\x19\x1e\x24\xa9\x56\xb1\x85\x2d\x81\ -\x52\x68\x4b\x40\x50\xae\xab\xab\x28\xaa\xae\x4c\xdd\xbd\x35\x85\ -\xf3\xb3\xf4\x9f\x3c\x44\x7e\x76\x06\x11\x43\x10\x08\x91\x18\xe2\ -\x20\xc0\x04\x1e\x17\xf2\x2b\xb4\xdd\x7c\xff\x3c\x40\x14\x8d\x04\ -\x19\x1e\x24\x9a\x98\x40\x92\xc4\x87\x94\x4e\x87\x4e\xa3\x41\xd1\ -\x69\xaf\xa5\xb5\xdd\x94\x2c\x8c\x63\xa2\x6a\x95\x30\x4e\x90\x28\ -\x26\xda\xb8\x89\xc6\xa6\xab\x29\xa6\x8f\x53\x34\x2c\xb6\xe3\x13\ -\x21\xd7\x15\x40\x05\x1b\x0d\x92\x4b\x86\xf4\x0b\xe6\xc6\xed\x04\ -\xaf\x7d\x1d\x66\xc3\x46\x5c\x91\xfb\x59\x6a\xb7\x69\xcd\x5c\xa0\ -\x12\x58\xbf\x86\x10\x2b\x1a\x5c\x54\xa2\xaa\xa3\x16\x1b\x92\x9e\ -\x14\xd7\xaa\x50\xb4\xf0\x8a\x2e\x93\x2d\x4f\x9f\xfb\xda\x06\xb9\ -\x72\xdf\xd1\x95\xf3\x00\xa7\x38\x0c\x3a\x38\x4c\xb0\x6d\x3b\x1a\ -\x04\x88\x31\xcc\x1d\x3f\xc6\x81\xaf\x7c\x89\x33\xdf\xde\x43\x10\ -\x45\x65\xd7\x12\x60\x2c\xc3\x37\xdc\xc4\x0d\xef\xf8\x45\x46\x6f\ -\x7d\x0d\x61\x10\xe2\x92\x94\xe2\xf5\xb7\x11\xee\x38\xe9\x31\x40\ -\xf4\x62\xd1\x55\x14\x04\x83\x43\xa4\xbf\xf5\x7b\x04\xce\x41\x5a\ -\xc7\x8c\x8f\x23\xc3\x1b\x21\xad\xe0\xac\xc5\xda\x82\xe5\xa9\xd3\ -\x98\x95\x65\x30\x0e\xeb\xc0\xe6\x65\x1e\xe0\x1c\xea\x9c\x27\x69\ -\x0a\xbf\xe4\x6e\x33\xc5\xa9\x40\xd0\x5d\x49\x2e\x6b\x1a\x51\xac\ -\x5b\x17\x71\xbb\xe4\xc9\xf7\x77\x01\xc5\x3a\x43\x30\xb8\x91\x74\ -\xfc\x6a\x08\x02\xd4\x18\x96\x8f\x1d\x41\x9f\xfe\x06\x63\x07\x5e\ -\x24\x4a\x22\x44\xfc\xb2\x95\x09\x1c\x79\x7b\x85\xec\xba\xeb\xc9\ -\xae\xbb\x1e\x93\xa6\x90\x26\xc4\x6f\xbc\x03\xbb\xf3\x7e\x9c\x71\ -\x68\x54\x9a\xb0\x75\xa8\x75\x50\xad\x11\xfe\xec\x5d\x17\xa3\x4f\ -\x18\xfa\x38\x0e\x20\x86\xce\xf2\x32\x87\xbe\xf4\x79\x36\x6b\x93\ -\xce\xbc\xc5\x15\x96\x3c\xb5\xd8\xce\xc5\x38\xae\xce\xe1\xda\x8e\ -\x7c\xd9\xe1\x56\x1d\x92\x1a\x24\x2e\x59\x6a\x05\x9b\xf9\x88\x63\ -\xf3\x2e\xea\xcb\x95\x5d\xe0\x65\xc5\x90\x31\xc8\x60\x1f\xf1\xab\ -\x6e\x24\xac\x54\x10\x63\xc8\x0b\x8b\x9e\x3a\x4d\xcf\xd9\x29\x7a\ -\x13\x25\xaa\x94\xa1\xa9\x80\x30\x14\x16\xcf\x4e\xc1\xd4\x24\xb6\ -\xd5\xf2\x1d\x40\x71\x42\xe5\xda\xeb\x59\xee\x1d\xc0\x2e\x2c\x63\ -\x33\x8b\x77\xeb\x92\x08\x15\x83\x24\xe9\x25\x21\x49\xfd\x09\x16\ -\xcf\x4e\x73\x7a\xc7\x43\x98\x3d\xbb\x30\x2b\x6d\xcf\x1d\x5a\x45\ -\x52\xf5\x33\x2c\xdd\xe7\x08\x9a\x80\x54\xbc\x7b\x38\xa7\x90\x7b\ -\xf3\x77\xae\x24\x72\xe4\xe5\xed\x38\x3f\x44\x31\x24\xb8\x34\xa5\ -\x55\xad\x32\x73\xf2\x24\x26\x8c\x68\x2c\xcc\xb3\x7a\xf0\x30\x49\ -\xab\x45\x1c\x19\x8c\x94\x99\x65\x01\xd2\x86\xb8\xdd\x24\x3f\x7a\ -\x8c\xb9\x17\x0f\xb0\xda\x69\x21\x4e\x61\x65\x85\x4e\xcf\x26\x8a\ -\xce\x24\xed\xc5\x06\x8b\xd3\x53\xe4\x27\x8e\xe1\xda\xed\x75\xf8\ -\xe1\xf3\xfa\xac\xb9\x42\x67\x71\x81\xa5\x93\x27\x59\xdc\xbf\x1f\ -\x79\xe1\x79\xc6\x16\xe6\x30\x56\x3d\x00\x2b\x58\x2d\x58\x99\x9f\ -\xc5\x1e\x3d\x8a\xeb\xb4\x21\x2f\xe8\x2c\x2c\x80\x2d\x20\x04\xd7\ -\x71\xd8\xac\xeb\x6e\xde\xfc\xdd\xba\xe8\xe6\x09\xce\x2b\x58\x00\ -\x5d\x98\x28\x19\x91\x70\x60\x40\x64\xe3\x26\x8e\x7c\xf9\x4b\xb4\ -\x1f\x7f\x1c\x4c\x80\x74\x9a\x0c\x9c\x99\x64\x28\x2f\x70\xa1\xff\ -\x91\xf2\x79\x88\x40\x12\x05\x2c\xbc\xf0\x1c\x53\x4b\x0b\x74\x7a\ -\x7b\x11\x20\xca\x2d\xa3\x33\xa7\x49\x43\xa1\x79\xfa\x04\x67\xff\ -\xf6\xaf\x29\x1e\xec\x87\x52\xfb\xdd\x2e\x10\xcd\x14\x8a\x0e\xd2\ -\x69\x22\xf3\xf3\xc4\x73\xb3\x0c\xda\x0e\x3d\x71\x0c\x45\xd7\x94\ -\x85\xf6\xec\x3c\xb3\x0f\xfd\x03\x2b\xcf\x7c\x1b\xb5\x16\x93\x2b\ -\x23\x33\x53\xf4\x2c\x37\x90\x42\x71\xca\x25\xd5\xa2\x07\x42\xa8\ -\xde\x7c\x23\xe1\xe0\x20\x65\x25\x24\xeb\xfa\xb5\xbc\x02\xf2\x3c\ -\x6f\x34\x9b\xcd\x22\xcb\x32\xc2\x38\x96\x74\xeb\x36\xbd\xea\x97\ -\x7e\x59\x2e\x7c\xee\xaf\x59\x7d\x7a\x0f\x0a\x54\x42\x88\xd2\x18\ -\x09\x23\x0a\x27\x18\xd5\x72\x61\x04\x34\x12\x82\x28\x20\xba\x30\ -\x43\x38\x79\x86\x5c\x9d\x27\x22\x82\x80\x70\xb8\x4a\x14\x85\x54\ -\x96\x2e\xd0\x3a\x3b\x8d\x5a\xbb\x56\x6e\xfb\x16\x19\xd0\xa6\x12\ -\x8a\xef\x30\xa9\x06\x21\xbd\x69\x48\xad\xc7\x87\xda\xa2\xed\x28\ -\xda\xe5\xd2\x57\xd6\x24\x98\x79\x1e\xf3\xbd\x67\xfc\xac\xb6\x15\ -\x4d\x13\x5c\x12\x43\xee\x85\x27\xf4\x5c\x86\x53\x87\x4a\x40\x65\ -\xfb\x35\x6c\xb8\xe7\x5e\xd2\x6d\x13\x8a\x73\x92\x65\x19\xcd\x66\ -\xb3\xc8\xf3\xbc\xd1\x55\x80\xce\xcc\xcc\xbc\x34\x39\x39\x79\x32\ -\x4d\xd3\x9e\x8d\x41\x10\x56\x47\x46\xd8\xf4\xde\xf7\x91\x0a\xcc\ -\xdd\x77\x1f\xed\x93\xc7\x11\x57\x78\x9a\x1c\xc5\xaa\x2f\x35\x05\ -\xf1\x09\x46\xee\x4d\xa1\x1e\x84\xf4\xf4\x44\x7e\xcd\x4f\x7d\x4d\ -\x61\xc4\x40\xa6\xf4\x07\x01\x83\x3d\x35\x24\xe8\x22\xb2\x10\x94\ -\x3d\x9e\x36\x2a\x01\xca\x74\x13\x16\xf5\xb3\x2e\x42\xd1\x2d\xd2\ -\x14\x12\x23\x6c\xae\xa4\x8c\x06\x09\xaa\x50\xc4\xd6\x27\x6d\x65\ -\x5f\xa1\xba\x6e\x06\xeb\xd0\x20\x22\xdd\x3a\xc1\xf0\xfb\x3e\x40\ -\xff\xaf\xbc\x07\xed\x1f\xa0\xd9\x6a\x32\x3b\x3b\x5b\x4c\x4e\x4e\ -\x9e\x9c\x99\x99\x79\x09\x9f\x9f\x91\x2c\x2d\x2d\x35\x92\x24\x89\ -\xa3\x28\xda\x98\x26\xc9\x50\xa5\x52\x91\xa0\x56\xd3\xca\xb6\x09\ -\x31\x81\xa1\x3d\x39\x45\xb1\xb4\x84\x2b\xac\xaf\x0f\x42\x5f\x57\ -\x28\xfe\x07\xd5\xe1\x5b\x5b\x04\x24\x12\x4c\x59\x9b\x14\x6d\x8f\ -\xc2\x9a\x79\xbe\x91\x08\x24\x36\x28\x50\xb4\x7c\x32\x53\xe4\x3e\ -\xbb\x33\x69\x49\x78\xa8\xc3\xe5\x8a\xcd\x1d\xd6\x2a\x2e\x73\xbe\ -\x49\x2a\x2a\xc1\xab\xbc\xde\x5a\x1f\x02\x25\x04\x82\x2e\xcd\xa5\ -\xd8\xc2\x41\x10\x92\x5e\xbd\x9d\x0d\xf7\xdc\x43\xff\x7b\xde\x83\ -\xeb\xeb\xd3\x4e\xa7\x23\x67\xcf\x9e\xd5\x43\x87\x0e\x1d\x79\xe6\ -\x99\x67\x1e\x7c\xec\xb1\xc7\x1e\x9b\x9d\x9d\x9d\x0f\x80\x60\x76\ -\x76\x36\x3f\x72\xe4\xc8\x5c\xa5\x52\x21\x8a\xa2\x91\x38\x8e\x07\ -\x7b\x7a\x7b\xc5\x54\x2a\x5a\x9d\xb8\x06\x11\x95\xec\xec\x34\xf9\ -\xc2\x22\x58\x77\x91\xdb\x2b\x57\x6a\x25\x10\x14\xf1\x40\xda\xf5\ -\x41\xeb\x97\xb3\x25\x64\xcd\x27\x11\x0f\x33\x2e\x2f\x41\x28\xea\ -\xc6\x64\x5d\x2b\xd5\xbb\x35\x88\x1a\x01\x51\x6c\xc1\x9a\x65\xd8\ -\xdc\xb7\xda\x69\xd9\x57\xe1\x4d\x1d\xd4\x09\xb6\xcc\x0f\x30\x01\ -\x95\x6d\x13\x0c\xbf\xff\xfd\x0c\xbe\xf7\xfd\xea\x7a\xfb\xc8\xad\ -\x95\xd3\xa7\x4e\x71\xe0\xc0\x81\x63\xdf\xfc\xe6\x37\x1f\xb8\xef\ -\xbe\xfb\x1e\x3a\x7d\xfa\xf4\x19\xa0\x15\x74\xd7\x67\x5a\xad\x56\ -\x7e\xf4\xe8\xd1\xf3\x49\x92\xb4\xe2\x38\xde\x14\xc7\xf1\x50\x5f\ -\x7f\x3f\x52\x49\xa9\xdd\x70\xa3\x18\x55\x3a\x93\xa7\xc9\xe6\x2e\ -\xac\x09\xae\x56\x3d\x6d\x66\xc0\x18\xf5\x1d\x23\xb9\x4f\x42\x5c\ -\xee\xdb\xe2\x24\x34\xe0\xb3\x68\x5c\xae\x14\x1d\x3f\x53\x12\x97\ -\x4d\x51\x52\x0a\x97\x95\x25\x73\xb9\x0e\x21\x21\x68\xd9\x03\x50\ -\x74\x1c\x45\xae\xb8\x52\x19\x84\x5d\xc1\xfd\x33\xbb\x33\xef\xd4\ -\x51\xd9\x3e\xc1\x86\x0f\x7c\x90\xc1\x0f\x7e\x08\x5b\xaf\x53\x58\ -\xcb\x89\xe3\xc7\xe5\xb9\xe7\x9e\x3b\xf2\x8d\x6f\x7c\xe3\x8b\x5f\ -\xf9\xca\x57\xbe\xb6\xb4\xb4\x34\x89\xe7\xac\x9b\xdd\x06\x09\x07\ -\xd8\x2c\xcb\xf2\x53\xa7\x4e\xcd\x85\x61\xb8\x9c\xa6\xe9\x58\x1c\ -\xc7\x43\xbd\xfd\xfd\x22\x49\xa2\x3d\x37\xbf\x1a\x51\xa4\x79\xf4\ -\x18\xf9\xfc\x05\x4c\x14\x96\x83\xd7\xb5\x19\x52\xe7\x85\x92\xd0\ -\xcf\x9e\x2b\xd4\x77\x7f\xba\x8b\x33\x29\x51\x49\x4b\x59\x20\xf4\ -\x94\x9b\xed\xf8\xf5\x3d\xc2\x12\xa8\x9d\xef\x1d\x76\x40\xd1\xb4\ -\xde\x52\x02\x59\x8b\xef\x5d\x58\x28\x0a\x8f\xf2\x2a\x8a\xed\x74\ -\x48\xc7\xaf\x66\xe4\xd7\x3f\xca\xf0\xaf\xff\xba\x16\x69\x4a\x6e\ -\xad\x74\x85\x7f\xea\xa9\xa7\xfe\xe6\x91\x47\x1e\xd9\xb9\xb2\xb2\ -\x32\x09\x2c\x02\x2d\xc0\x76\x2d\xc0\x89\x88\x05\x6c\xa7\xd3\xc9\ -\xce\x9f\x3f\xbf\x14\xc7\xf1\x6a\x9a\xa6\x9b\x2a\x69\x3a\x54\xad\ -\xd5\x24\xa8\x56\xa5\x76\xdd\x75\x1a\x55\x2a\xd2\x38\x74\x90\x6c\ -\x61\xbe\x64\x5f\x14\xe7\x04\x6b\x3d\xe5\x2c\xeb\x92\x0f\x97\x97\ -\xa0\x54\xb6\xbe\x11\x78\x41\xbd\x39\x7b\x8e\xc0\xe6\x1e\xb4\x24\ -\xf4\x1c\x84\x73\x4a\x51\x5c\xea\xeb\x5d\xc5\x38\xf5\xee\x51\xe4\ -\xba\x66\xf2\x8a\x62\xdb\x1d\xe2\xd1\x51\xc6\x7e\xf3\xb7\x19\xba\ -\xf7\x83\x6a\x6b\x35\x69\xb7\x5a\x32\x79\xe6\x0c\xcf\x3f\xff\xfc\ -\xe1\xa7\x9f\x7e\xfa\x0b\x3b\x76\xec\xd8\xbd\xb8\xb8\x78\x1a\x58\ -\x14\x91\x06\x90\xe3\xf9\x95\x8b\x15\x40\xa9\x04\xd7\x6a\xb5\x3a\ -\x33\x33\x33\x0b\x95\x4a\x25\x8b\xa2\x68\x43\x25\x4d\xfb\xd2\x38\ -\x0e\xe2\xa1\x21\xa9\x6c\xbd\x5a\xa3\x9e\x1e\x69\x1e\x3d\x4a\xbe\ -\xb0\xe0\x99\xf3\xb2\x5f\x68\xad\xde\xee\x22\xb2\x2b\xc1\xf2\x22\ -\xc3\xee\xf9\x46\xeb\xcf\xa9\x78\xcc\x70\x76\x5d\xfc\xb6\x25\x06\ -\x94\x4f\xb2\xa5\x85\x75\x85\x2f\xd7\x36\x7c\xc1\xe3\x7c\x5a\x9d\ -\x8e\x5f\xcd\x96\xdf\xfa\x1d\x06\xde\xfb\x5e\x65\x68\x48\x56\x17\ -\x17\x99\x9a\x9a\xca\x9f\x7f\xfe\xf9\x23\x7b\xf7\xee\xfd\xf2\xe3\ -\x8f\x3f\xfe\xc4\xdc\xdc\xdc\xa9\xae\xf0\xaa\x9a\x77\xd3\xb0\xe0\ -\xb2\x2c\x71\x4d\x09\x8d\x46\x23\x9b\x99\x99\xb9\x50\xa9\x54\x5c\ -\x1c\xc7\x43\x95\x4a\xa5\x2f\x0a\x82\x20\x1d\x1a\x96\xea\xf6\x6b\ -\x34\x88\x22\x69\x9d\x3e\x43\xbe\xbc\xe4\xeb\x70\xfc\xb4\xbb\x6e\ -\x58\x2a\x0f\xad\x37\x79\xe7\x74\x4d\x40\xa4\x34\x79\xf1\xdc\x83\ -\xb3\x9e\x2c\xed\x0a\x4f\xe8\xc3\xa2\x2d\x13\x1c\x57\x86\x38\xd5\ -\x12\x14\x71\x38\x0c\x95\xad\xdb\xd9\xfc\xd1\x7f\xc9\xd0\x3d\x1f\ -\x54\x06\x87\x64\xf9\xc2\x1c\x67\xcf\x9e\xcd\x0e\x1c\x38\x70\x74\ -\xdf\xbe\x7d\x0f\x3e\xf6\xd8\x63\x8f\x9e\x3f\x7f\xfe\xf4\x95\x84\ -\xbf\x92\x02\xba\x4a\x70\x7e\xb5\x79\xb5\x33\x37\x37\x37\x97\x24\ -\x89\x89\xe3\x78\x30\x4d\xd3\xbe\x24\x0c\x83\xa8\xb7\x57\x7a\x6e\ -\x7c\x95\xaa\x75\xd2\x99\x9e\x26\x5f\x5a\x42\x0b\xeb\x05\x2f\x53\ -\x4f\x5f\x72\x7a\x25\x38\x57\xe6\xfb\xee\x22\x25\xdd\x6d\x8b\x77\ -\x0e\x4f\x94\x96\xd7\xbb\x2e\x75\x8e\x77\x07\x6b\x75\xcd\x9a\xdc\ -\xc5\xe5\x6d\x34\x88\xa8\x6c\x9b\x60\xe4\xde\x0f\xb2\xf1\xc3\x1f\ -\x51\x5b\xab\xc9\xca\xc2\x02\x53\x53\x53\xd9\x0b\x2f\xbc\x70\x74\ -\xef\xde\xbd\x5f\xdb\xb1\x63\xc7\x23\xd3\xd3\xd3\xa7\x80\x05\x11\ -\x69\x5e\x2e\xfc\x2b\x29\xa0\x9b\xa5\x5b\xc0\x2e\x2f\x2f\xb7\x66\ -\x66\x66\xe6\xa2\x28\x92\x28\x8a\x86\xd2\x34\x1d\xa8\x56\xab\xc6\ -\x24\x09\xf5\x1b\x6f\x14\xa3\x8e\xf6\xe4\x14\xd9\xe2\x92\x6f\x50\ -\x30\xbe\x27\x00\x29\x73\x83\x12\xb8\x5c\xb9\xe6\xe8\x43\xa6\x9f\ -\x59\xd5\x75\x16\x51\xce\xb8\x67\x7a\xdc\xda\x71\x67\x3d\x76\x78\ -\x32\x44\xb1\xd6\xc7\xf9\xca\xc4\x04\x9b\xee\xb9\x97\x0d\xbf\xf6\ -\x6b\xd8\x34\xa5\xd5\x6c\xca\x99\x33\x67\x8a\x03\x07\x0e\x1c\xd9\ -\xb3\x67\xcf\x23\x3b\x76\xec\x78\x78\x6a\x6a\xea\x78\x09\x78\x0d\ -\xdf\xe5\xf0\xf2\xb6\x82\xef\xa7\x00\xd7\x7d\x7f\x61\x65\x65\xa5\ -\x31\x37\x37\x37\x17\x86\xa1\x0b\x82\x60\x43\x9a\xa6\xc3\x7d\x7d\ -\x7d\x62\x92\x44\xeb\xd7\x5e\x87\xc1\x48\x6b\x72\x92\xce\xc2\xfc\ -\x1a\xf3\xeb\x5c\x59\xfa\xae\x95\x18\xac\x2d\xbe\x6a\xd7\x15\xd6\ -\x7a\x11\xbc\xc7\x3b\x55\x6c\xd7\x55\xba\xee\xd4\xcd\xe9\x9d\x17\ -\x5e\x4d\x40\x75\xfb\xb5\x6c\xbe\xf7\x57\xd9\x70\xcf\x3d\xea\x6a\ -\x35\xf2\xa2\x90\x13\x27\x4e\xf0\xbd\xef\x7d\xef\xf0\xde\xbd\x7b\ -\xbf\xba\x73\xe7\xce\x47\xa6\xa7\xa7\x8f\x77\x43\x5d\x17\xf0\xae\ -\xf8\x1a\xda\x0f\x68\xa7\xef\x2a\xc1\xae\xac\xac\xb4\x2e\x5c\xb8\ -\x30\x63\x8c\xe9\xa8\xea\xc6\x30\x0c\x87\x87\x86\x86\x90\x34\xa5\ -\xb6\x7d\xbb\x04\x41\x40\x7b\x6a\x8a\xf6\xcc\x9c\x4f\x56\xba\xb4\ -\x9a\xf1\x4d\x53\x97\x08\xee\xca\xc6\xa6\xf2\xb5\x99\xae\x95\x58\ -\xab\x17\x5d\x48\x64\xcd\x0d\x9c\xfa\x64\xc9\x39\xa8\x5f\x77\x3d\ -\xa3\xbf\xfa\x21\x36\xbc\xef\x7d\x68\x6f\x2f\x85\xb5\x1c\x3c\x78\ -\x50\x9e\x7d\xf6\xd9\x43\xfb\xf6\xed\xbb\x7f\xf7\xee\xdd\x5f\x9b\ -\x9e\x9e\x3e\x09\x2c\x95\xc2\x67\xaf\x24\xfc\x0f\xa3\x80\xcb\x95\ -\xd0\x39\x7f\xfe\xfc\x9c\x31\x66\x25\x08\x82\xd1\x20\x08\x86\x07\ -\x07\x07\x25\xa8\xd5\xb4\xb6\x7d\xbb\x04\x61\x48\xeb\xc4\x71\x1a\ -\x8b\x8b\xd8\xf2\xfd\x87\xc2\x2a\x85\xf3\xbb\x75\x17\xbf\x17\xd6\ -\xef\xd6\x2a\x79\x79\x6e\xfd\xf9\xbc\x3c\x5f\xa8\x5f\x10\xb6\x40\ -\xef\xb6\xad\x6c\xf9\xc8\x47\xd9\xf0\x81\xf7\xa3\x7d\xfd\x9a\xe5\ -\xb9\xbc\xf8\xe2\x8b\xb2\x7f\xff\xfe\xc3\x7b\xf6\xec\xf9\xdb\x5d\ -\xbb\x76\x3d\xd1\x05\xbc\x32\xce\xe7\xdf\x4f\xf8\x1f\xf6\x8d\x11\ -\x05\x0a\x11\x69\xa9\x2a\x73\x73\x73\x6e\xf7\xee\xdd\x3b\xad\xb5\ -\xd6\x39\xf7\x11\xe0\xba\xeb\x6f\xb8\x41\xaa\x03\x03\x3a\xfc\x9e\ -\xf7\x30\x74\xfb\xed\xe2\x96\x97\xaf\xdc\x8f\x2f\xeb\x8f\xe8\x2b\ -\x74\xee\xeb\x25\x2f\x0d\x5d\xb2\x64\xd9\xdb\x8b\x6c\xde\xac\x32\ -\x30\x40\xab\xd9\x92\x43\x07\x0f\xf2\xec\xb3\xcf\x1e\xde\xb3\x67\ -\xcf\x67\xbf\xf1\x8d\x6f\xec\x9e\x9f\x9f\x3f\x0d\x2c\x97\x63\x2d\ -\x7e\x90\xf0\x3f\xca\x2b\x33\x4e\x55\x73\x11\xdf\x4c\x36\x3f\x3f\ -\x7f\x6a\xe7\xce\x9d\x4f\x1a\x63\x22\x11\xf9\xd5\x30\x0c\xaf\xd9\ -\xba\x6d\x9b\xe9\xdd\xb8\x91\x78\x7c\x5c\x83\x20\x90\x4b\x49\xd3\ -\xf5\x0b\x37\x3f\x68\x4c\xf2\xf2\x37\xad\x4a\xaa\xda\x5a\xab\x59\ -\xa7\x23\xcb\x8b\x8b\x9c\x3c\x71\xc2\xed\xdf\xbf\xff\xe8\xbe\x7d\ -\xfb\x3e\xbf\x73\xe7\xce\x27\x57\x57\x57\xcf\xfc\xa8\xc2\xff\xa8\ -\xaf\xce\xaa\xaa\xae\x59\xc2\xea\xea\xea\xe4\xe3\x8f\x3f\xfe\x68\ -\x10\x04\x49\x18\x86\xef\x06\xae\x19\xdb\xb2\x25\x4c\xd3\x6e\x91\ -\xaf\xfc\x54\x37\xaf\x50\x69\xb7\xdb\x4c\x9e\x39\x53\xec\xdf\xbf\ -\xff\xe8\x33\xcf\x3c\xf3\x95\xc7\x1f\x7f\xfc\xd1\x46\xa3\x31\xf5\ -\xe3\x08\xff\xe3\xbc\x3b\xac\xa5\x25\xa0\xaa\xd2\x68\x34\xd8\xb5\ -\x6b\xd7\x83\xc6\x18\x03\xbc\x73\x69\x69\x69\x6b\x4f\x4f\x4f\xa8\ -\xfa\xd3\x96\x7e\x6d\xcd\x52\x56\x56\x56\x8a\xe3\xc7\x8f\x9f\xdc\ -\xb7\x6f\xdf\x23\xbb\x76\xed\x7a\xf0\x32\xe1\xf3\x7f\x92\x77\x87\ -\xcb\x2d\x06\x52\xa0\x77\x6c\x6c\x6c\xeb\xeb\x5e\xf7\xba\x3b\xfb\ -\xfb\xfb\x5f\x15\x04\x41\xdd\x39\xa7\x3f\xe1\xb3\xaf\xa8\x7c\x63\ -\x8c\x58\x6b\x57\x17\x17\x17\x5f\xfc\xce\x77\xbe\xb3\x7b\x72\x72\ -\xf2\x24\xb0\x8c\x6f\xc7\xca\xfe\xc9\x5e\x9e\x5e\x77\x6f\x58\xf6\ -\x81\xd5\x81\x1e\xa0\x56\x2a\x26\x58\xf7\x2e\xe4\x4f\x45\xf8\x75\ -\xc9\x59\x56\x26\x36\x2b\xc0\x6a\x89\xf6\x3f\x92\xd9\xaf\xdf\xfe\ -\x1f\xba\xc9\xa0\xf1\xd3\x43\x85\x2f\x00\x00\x00\x00\x49\x45\x4e\ -\x44\xae\x42\x60\x82\ \x00\x00\x0c\x69\ \x89\ \x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ @@ -1508,446 +1948,6 @@ \x03\x00\x6b\xee\x3c\x46\xf3\xaf\x97\xb3\xf4\xd2\x13\x9c\xdc\xbd\ \x0c\x80\xff\x00\x1c\x7c\x06\xd9\x9b\xd6\x5b\xe7\x00\x00\x00\x00\ \x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x03\x30\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0e\x4d\x00\x00\x0e\x9c\ -\x01\xde\xf6\x9c\x57\x00\x00\x02\xd2\x49\x44\x41\x54\x38\x8d\x6d\ -\x93\x4d\x68\x5c\x55\x14\x80\xbf\x73\xdf\x9b\xe9\xc4\x21\xcc\x4c\ -\x4c\xc6\x2a\x22\xb6\xa9\x93\x44\x0c\xa3\x62\xc1\x2c\x14\x9d\xd2\ -\x12\x35\x85\x52\x5a\x11\x6c\xa5\x1b\x71\x57\xe8\xce\xc5\x74\x37\ -\x82\x2e\xa5\x4b\x05\xcb\x20\xc6\x45\xdd\x48\x4a\xf0\x27\xf1\x07\ -\x69\xa4\x86\xc2\x98\xd0\xc4\x50\x14\x1a\x4d\x9b\x57\xf3\x63\xe0\ -\xbd\xe4\xdd\xf7\xee\xbd\x2e\x06\xa7\xb1\x7a\x56\xe7\x1c\x38\x1f\ -\x87\xc3\x77\x84\x7b\x62\x69\x69\xc9\x69\xad\xef\x6d\x03\x90\xcd\ -\x66\xa9\x54\x2a\xb2\xbb\xe7\xef\x2e\x5a\xad\x96\xdb\xba\xd0\xc0\ -\x9f\xbe\x8c\x12\xc1\xcb\x08\xce\x82\xb5\x0e\xa7\x1c\x5b\xcf\x8f\ -\xd1\x6a\xb5\x5c\xb5\x5a\xed\x40\x3a\xc9\xcc\xcc\x8c\x53\xcd\x0b\ -\xdc\xf7\xed\x57\x78\x22\x74\xed\xf5\x31\xeb\x16\x44\xf0\xef\x57\ -\x6c\xdf\x4a\x30\xc6\x12\xd5\x0e\x63\x4e\x9f\x65\x64\x64\x44\x3a\ -\x80\xe9\xe9\x69\xe7\x35\x3f\xa0\x77\x76\x8a\x6c\xc6\xc3\xf7\x05\ -\x3f\xeb\xa1\x3c\x01\x0b\x56\x1c\x26\xb5\x24\x3b\x16\x9d\x1a\xd6\ -\x0e\x1e\x22\x3d\xf5\x26\xb5\x5a\x4d\x64\x62\x62\xc2\x75\x7d\xfa\ -\x11\xe5\xab\xdf\xb3\x99\x11\x36\x8d\x63\xef\x9e\x0c\x7b\xba\x3d\ -\x82\x6d\x8b\x00\xbd\x5d\x42\x12\x59\x56\xa2\x04\x8b\xa3\x94\x3a\ -\xf4\xb3\x2f\x12\xbf\x76\x06\x15\x04\x01\x3d\x3f\x7c\x83\x38\x21\ -\x1e\x3d\xc6\xd8\x42\xc0\xce\xcb\x27\x59\x13\xc7\xa1\xd9\xdf\x79\ -\xe1\xc7\xdf\x28\xbc\x7b\x91\x2b\x5b\x09\x47\x17\x02\x8e\xce\xdf\ -\x22\x7f\xfe\x3d\xf4\x77\x5f\xb3\xba\xba\x8a\x0a\xc3\x10\x25\xa0\ -\xb2\x42\xe1\xf1\xa7\xd8\xd9\xdc\xa0\xfb\x89\x2a\x6e\xbb\x7d\x9e\ -\xcf\xde\x38\xc6\xc3\x07\x9f\x23\xdf\xdf\x0f\xc0\xf8\xe9\x93\x3c\ -\xfd\xfa\x19\x36\x4a\xbd\x84\x61\xd8\x06\x58\x0b\x6b\x91\xa1\x6f\ -\xb8\x4a\xeb\xd2\x38\xbd\x83\xc3\xfc\xa9\x0c\x69\x9a\xf2\xcc\x5b\ -\xe7\xb8\x73\x63\x91\x70\xf9\x0f\xd2\x34\x25\xd7\x53\x20\x35\x06\ -\x67\xcc\x5d\x80\x01\xee\x28\x45\x71\x7f\x85\x6b\x1f\x5f\xa4\x7b\ -\x5f\x3f\xb7\xb7\x1c\x71\x1c\xb3\x7c\x6d\x96\x5c\xdf\x83\xa8\x62\ -\x81\x38\x8e\x39\xf2\xce\xfb\xfc\xd4\xfc\x90\xe2\xe6\x3a\x51\x14\ -\xe1\x87\x61\x48\x92\x18\xa2\x47\x2b\x58\xa5\x38\xde\xbc\x84\x01\ -\x72\xfb\x0f\xa0\xb5\xe6\xe7\x4f\x9a\x0c\xbe\x7a\x0a\x3f\x5f\x44\ -\x6b\xcd\xf8\x93\xfb\x18\x44\xe8\x43\xda\x1b\x44\x51\x84\x4e\x0c\ -\xde\xc0\x10\x2b\x73\x2d\xa6\xce\xbf\xcd\xed\xeb\xf3\x94\x2a\x43\ -\x68\xad\x39\xf1\xf9\x14\x37\xaf\x5e\x61\xe3\xfa\x3c\x5a\x6b\x4a\ -\x0a\xf2\x16\x92\x24\x25\x8a\x22\xa4\x5e\xaf\xbb\x07\xa6\x26\xc9\ -\x2d\x2d\xe0\x7b\x8a\x03\x39\x9f\x65\xe7\x40\x14\x4a\xb5\x45\xe9\ -\x51\x0a\x27\x8e\x20\x4a\x29\x88\xa3\xa8\x60\xee\x91\x01\x56\x6a\ -\xa3\x6d\x91\xea\xf5\xba\x2b\x7f\x39\x49\x75\xe5\x17\x24\x01\x25\ -\x42\xae\xe0\x63\x22\x07\x80\x97\x17\xe2\xbf\x0c\xd6\x39\x5c\xc6\ -\xd1\x7a\x68\x80\xd5\xc3\x2f\xd1\x68\x34\xa4\xa3\x72\xbd\x5e\x77\ -\xe5\x2f\x2e\x33\xf8\xeb\x02\x9e\x08\xa2\xa4\x6d\xa2\x03\xac\xc3\ -\xe2\x48\x8d\x63\xb1\x7f\x88\xe0\xc8\x2b\x34\x1a\x8d\xbb\x2a\xef\ -\x86\x94\x26\x27\x78\x6c\x71\x0e\x2f\xeb\xe1\x2c\xe0\x40\x7c\x30\ -\xb1\xe1\xc6\xd0\x30\xeb\xa3\x63\x9d\xe1\xff\x00\xfe\x81\x04\x41\ -\xf0\xbf\xef\x5c\x2e\x97\xff\x35\x0c\xf0\x37\x5c\xfc\x53\xd5\x3a\ -\x96\xb0\xec\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x03\xb1\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x18\x00\x00\x00\x18\x08\x06\x00\x00\x00\xe0\x77\x3d\xf8\ -\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ -\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\x01\x5e\x1a\ -\x91\x1c\x00\x00\x03\x56\x49\x44\x41\x54\x48\xc7\xdd\x95\x4d\x68\ -\x5c\x55\x14\xc7\x7f\xf7\xe3\xbd\x97\xe9\x34\x69\x5a\x93\x60\xdb\ -\x80\x60\xc1\x12\x9a\x20\x0d\x49\x88\x50\xca\x43\xbb\x70\x93\x85\ -\x62\x41\x2b\xea\x42\xb0\xb8\xb2\x20\x08\x6e\x64\xd0\x55\x4b\x2d\ -\x48\x37\x22\x48\x10\x8c\x20\xba\x09\x45\xa4\x12\xe2\x98\x8a\x29\ -\x1a\xa4\x92\x6a\x6d\x4a\x9b\xb4\x19\x9d\x98\xc4\xb1\xd3\x99\x79\ -\xf3\xde\x9b\xf7\xee\x75\x51\x2c\xe4\x63\x31\xc1\x6e\xf4\xec\xee\ -\xc7\x39\xbf\x7b\xee\xb9\xff\x73\xe1\xbf\x6e\xa2\x99\x4d\xfd\x9f\ -\x3e\xd4\xff\xdc\x23\x2f\x7d\x38\xbe\xf0\xc9\xa3\x8e\x94\xc1\xc1\ -\xae\xc1\xc9\xa1\xae\x43\x6f\x3c\xbb\xef\xd5\x5f\xb7\x04\xc8\xe7\ -\xf3\x76\xb3\x4d\x1f\x94\x4f\xf3\xee\x91\xf7\x99\x2d\xcd\x90\xda\ -\x98\x30\x89\x28\xdd\x5e\x65\xdf\x9d\x83\x9b\x06\xf5\x7d\xff\x5e\ -\x5c\xbd\x7e\x31\x9f\xcf\x6f\x70\xb8\xb6\x67\x8e\x6f\x0a\x13\x74\ -\x74\x08\x04\x29\x5e\xb5\x8d\xc9\xf9\x2f\x58\x9c\x2d\x6f\x16\x7c\ -\xcd\x58\x6f\x76\x82\x5c\x2e\xb7\x26\xb3\x87\x3f\xda\xf5\x43\x6c\ -\xa2\x81\xdf\x6a\xab\x08\x04\xd9\x44\x33\x2f\xaf\xce\x8c\xe5\x26\ -\x06\xd7\xf9\x6d\xb8\x01\xdd\x4c\x0d\x52\x63\x48\xad\x21\x6c\xc4\ -\x08\xa0\xc5\x1a\x8c\x69\xae\xc8\x4d\x01\x4c\x6a\x30\x58\x6a\x71\ -\x08\x08\xda\x74\x4a\x6a\xec\xfd\x03\x24\xc6\x24\xc6\x1a\xea\xc9\ -\xdd\x0c\x8c\x34\x24\xa9\x49\xb6\x04\x38\x3b\x73\xb6\xb7\x20\x0b\ -\x9c\xeb\x3c\x07\xa7\xf9\xde\xd3\x5a\x68\x29\xd1\x52\x26\x89\xb1\ -\x7d\x49\x9a\x12\x36\x42\xa4\x10\xc4\x6e\x8c\xc5\xf6\x0d\x7e\xde\ -\x3d\xed\x69\xad\x1d\xad\xd0\x12\xbb\xcc\x4f\xd4\xf6\xec\x67\xa2\ -\xf8\x59\xcf\x91\xdd\x47\xaf\xac\x01\xcc\xfd\x39\xf7\xde\xa9\xc7\ -\x4f\x51\x11\x65\x8e\xc6\x4f\x0f\x4a\x29\x11\xc2\x82\x00\x29\x04\ -\x59\x37\x63\x83\x30\x10\x00\x9e\xf2\xec\xf1\xde\xd7\xb3\x4a\xa8\ -\x61\x29\x24\x5a\x2a\xb6\x39\x59\xb6\xeb\xed\x34\x08\xf8\xea\xd6\ -\xd8\x3b\xc0\x33\x6b\x00\xa3\x97\x46\x87\x0f\x74\xf4\x70\xa3\x72\ -\x85\x62\x58\x44\x6a\x85\x52\xa0\x94\x44\x0b\xc9\x5c\x60\x44\xc3\ -\x84\x48\x01\xd3\x2b\x93\x42\x0b\x05\x48\x5a\x9d\x76\x8c\x51\xfc\ -\xb2\x74\x8d\x1b\xc5\x45\x5e\x1c\x1a\x61\x29\x28\x3c\xb9\xe1\x8a\ -\x82\x28\xb0\x97\x57\x7e\x26\x30\x65\x6a\x69\x1d\x65\x25\xca\x48\ -\x1c\xa3\x70\xd4\xdd\x6c\x94\x54\x78\xca\xa3\x45\xb5\xa0\x71\xa9\ -\xc4\x55\xbe\xfb\xe3\x22\xf3\xa5\x5b\x54\xc2\x90\xac\x69\xa7\xd6\ -\xa8\xd2\x30\xe9\xc6\x1a\x58\x63\xc7\xa7\x16\x2e\x1c\xeb\xe9\xec\ -\xc1\x53\x6d\x68\xa9\xf0\x94\x8b\x87\x8b\x46\xd1\xea\x64\xec\xc5\ -\xe5\xf3\xc2\xca\x98\xa1\xce\x27\x6c\x10\xd7\x85\x12\x9a\xbe\x07\ -\x0e\xd0\xb7\xab\x17\x8b\xc5\x95\x8a\x42\x78\x95\xc4\xa4\xe3\x9b\ -\x01\x4e\x64\xa2\xcc\xb1\xa9\xcb\x53\x14\xdd\xe2\x0c\x02\x90\x20\ -\x24\x89\xab\x54\xdf\x53\xfb\x47\xb2\x5a\x5b\x32\x6e\x96\xdb\xf5\ -\xbf\xc4\x97\x0b\xe7\x6b\x9e\x23\x67\x5d\xa5\xb4\xab\x14\xae\xd6\ -\xec\x8c\x3a\x06\xba\xdb\xbb\x89\x68\x9c\xd8\xf8\x4c\xdf\x66\xe5\ -\x64\xfe\x24\xf9\x7c\x9e\xdc\x9b\xb9\x7b\x0a\xb5\x80\x39\x63\xa7\ -\x83\x24\x18\xd6\x8e\xc4\xd3\x92\xba\x09\x48\x4c\x32\x7b\xf3\x85\ -\xca\x63\x6b\x95\xfc\xb2\xf5\x7d\x1f\xdf\xf7\x57\xfe\x99\x93\x4d\ -\x29\xd9\xa2\xab\x71\x15\x8b\x45\x29\x41\x64\x42\x52\xd3\x9c\x86\ -\x9a\x53\xb2\x35\x54\xa2\x0a\xa9\x13\x92\x71\x15\x51\x5c\x25\x69\ -\xb2\x57\x34\x05\xc0\xc0\x6a\xbd\x8c\x67\x22\xea\x8d\x06\x36\x89\ -\x48\xed\xbf\x00\xac\xef\x8a\x1f\xcb\x51\x5c\x62\x16\x4b\x15\x56\ -\x74\x8d\xbd\xdb\xba\xd9\x5b\xef\x1e\x78\x2d\xf7\xbc\xdd\x32\x60\ -\x7d\x3f\x07\x98\x5b\xfe\x1a\xe9\x2d\xb2\x50\x2d\x61\x52\x4d\x97\ -\xde\x8d\xd3\xea\xe0\xf7\xfb\xf7\xe7\xcb\x1c\x19\x7b\xf0\xd0\x1d\ -\xd4\x99\x0b\x4b\xbf\x0f\xb4\x7b\x3b\xea\x87\x77\x1e\xfe\xf6\xd2\ -\xf5\x1f\x5f\x59\x78\xab\x70\x93\xff\xbd\xfd\x0d\xf6\xbd\x75\x1d\ -\x3b\xea\x7e\x89\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\ -\x00\x00\x04\x2c\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\ -\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x2e\x23\x00\x00\ -\x2e\x23\x01\x78\xa5\x3f\x76\x00\x00\x00\x07\x74\x49\x4d\x45\x07\ -\xde\x03\x0c\x12\x06\x08\xae\xb5\x4a\x3d\x00\x00\x03\xb9\x49\x44\ -\x41\x54\x38\xcb\x5d\xcb\x5b\x4c\x5b\x75\x00\x07\xe0\xdf\xff\x9c\ -\xd3\x9e\x76\x6d\x69\xc1\x52\x84\xca\x40\x2e\x16\xc7\x9d\x31\x67\ -\x9c\x66\x03\x27\x73\x2f\x8a\x71\x2c\x12\x12\x12\x1f\xa6\x89\x2c\ -\x73\xc9\x36\x37\x13\x6f\x0f\x5e\xa2\xcc\x88\x0f\xb8\x87\x3d\x78\ -\x99\x09\x09\x4b\x34\xd1\x38\x86\x3a\xb9\x3a\x04\x06\x1d\x84\x6b\ -\xa1\x2d\xd0\x0b\xa5\xed\xa1\x17\x7a\x4a\xdb\x73\xf3\xc9\x17\xbf\ -\xf7\x8f\xe0\x7f\xea\x00\xac\xf6\x78\xb0\x7f\xb1\x10\x00\xd0\x07\ -\x50\xbf\x9d\x69\x36\x15\x55\xd5\x3f\x22\xe6\xab\xcd\xac\xbc\x64\ -\xcd\x65\x33\x82\x73\x79\x67\xa2\xa7\x7b\x36\xc8\xfc\x17\xaf\xff\ -\x74\x15\xee\x73\x9f\xe3\xd9\xf0\x3e\xd5\x4e\xb4\xf2\xbb\x57\x3a\ -\xcb\xac\x95\xcd\xaf\x2f\x14\x72\xf5\xad\x79\xe5\x15\xe1\x4c\xf2\ -\xf1\xd8\xf4\x10\x76\x84\x2d\x18\x92\x31\xec\x39\x82\xc3\x25\x96\ -\x83\x2d\x04\x00\x2e\x5f\xac\xc7\xf5\x1e\x3b\x00\xe0\x30\xa0\x39\ -\xd6\xf5\xd2\x25\x5e\x6f\x7c\x7f\x6e\x88\x66\x6d\x2f\x04\x51\x7b\ -\x54\xc0\xae\x5f\x40\x69\x41\x03\xbc\x53\x03\xd8\x18\xf7\x80\x4f\ -\x88\x23\xb6\x23\xc5\x2d\x14\x00\x68\xee\xd8\x71\xfe\xe7\x5e\xb4\ -\xb5\xe1\xc0\xe9\xdb\xbd\xb7\x72\x5a\xda\x3f\x76\xb8\xfd\x78\x30\ -\xf5\x9d\x1c\xe7\xb6\x51\x7a\x92\x81\x62\x52\x63\xda\x31\x89\xb9\ -\xbf\xfd\xf0\x2b\x40\xda\xc4\xc4\x3e\xb9\xb1\x92\xa1\x15\x1f\x8f\ -\xc1\x6c\x99\x4a\xda\x1a\xe9\x12\x53\xd5\x37\x74\x9e\xa5\xa3\xb1\ -\x22\x28\x91\x1c\x95\x8a\x11\x52\xe4\xe9\x4e\x03\x16\x07\x78\x84\ -\x97\x05\x78\xe7\x37\x40\xcb\xe9\x8c\x56\x94\x69\xa3\x4a\xee\x9e\ -\x73\x8a\x76\x82\xa1\x2f\x80\xa6\x77\xf0\xf5\xc4\xa7\x6f\xe9\x8a\ -\x6d\xbd\xae\xe1\x11\x29\x15\x72\xd0\xc9\x1d\x0e\x12\x05\x04\xdc\ -\x5e\x48\xfb\x09\xe8\xf2\x53\x70\xfc\xa9\xc8\x8f\xb2\x22\x65\xc8\ -\xa2\x6f\x5c\x7b\xbe\xbc\xab\xf1\xa3\x15\x85\x00\xc0\xbc\x32\x9a\ -\xfd\xfd\xef\x77\xdc\x81\x99\x87\x9a\x02\x36\xc2\xae\x8e\xfa\x90\ -\x65\x12\x11\xe6\x62\x30\x9b\x4f\x23\xbb\xf0\x14\x84\x3d\x23\x7c\ -\xbe\x10\x88\xb2\xb5\xb5\xe6\x2e\x6b\x5d\x9e\x79\xd3\xde\xda\x71\ -\x93\xd0\x00\xf0\x58\x53\xcb\xb5\x8d\x91\x6f\x4f\x1d\x88\x6d\x52\ -\xf6\xb1\x20\xd1\x54\x18\x91\x10\xd3\x38\x56\xdd\x83\x27\x6a\xda\ -\x50\x5d\x57\x8b\xd1\x87\x01\x94\x54\x14\x2b\x12\x2c\xc6\xd2\x43\ -\xe6\x8e\xe8\x5e\xcd\xf4\xc4\x1f\x17\x5c\x74\xdf\xe2\x6d\x53\x44\ -\xc5\xf6\x4c\xf5\xf5\x9b\xa3\x7e\x9e\x98\x73\x68\x44\x96\x7d\x28\ -\x50\xbf\x08\xe4\x34\xe1\xe5\xd6\x2a\xdc\x9b\x74\x81\x97\x15\x4c\ -\xce\x7b\xc9\x92\x33\x44\x68\x8d\x5a\xa5\xa5\x94\x13\x14\x9e\xfa\ -\x81\xa2\x8c\xf9\x15\x54\xc2\x63\x63\x58\x0d\x38\x5f\x1a\x9b\x0b\ -\x31\x68\x24\x82\x38\x7d\x1c\x95\x35\x79\x90\x28\x1a\x87\x8f\x94\ -\x40\x9d\x63\xc4\x1e\xab\x86\xd6\x92\x85\xcd\x9d\x38\x61\xb2\xb3\ -\x8a\xac\xe5\xb9\x8d\x54\x38\xb0\x5e\xe4\x78\x30\x02\x29\x1e\x05\ -\x51\x53\x90\x64\x05\xb1\x3d\x3d\x26\x96\x44\xc5\xbe\x16\x86\x27\ -\x18\xc7\x36\xc7\x43\xaf\x67\x90\x7b\xd0\x0c\xc5\xa8\x03\xa3\xd3\ -\x92\x86\xa3\x25\xe0\x79\xb1\x99\xe1\x9c\xc1\x48\x68\x66\x05\x11\ -\x2f\x0f\x0d\x14\x68\x55\x04\x1a\x35\x03\x5a\x21\xc4\xee\xe4\x94\ -\x8c\xd1\x43\x12\x94\x0a\x9b\xbc\x80\x24\xcb\x82\xe8\xb5\x60\x29\ -\x82\xd5\xb5\x20\x64\x31\x93\x62\xaa\xa4\xe8\xfd\x1d\x83\xe5\x33\ -\x29\x8f\xb7\xa6\x12\x9c\x64\xd0\xe8\x32\x3a\x2d\x1f\xdd\xd8\x4d\ -\xbc\x1d\x88\xa4\x35\x26\x5e\x42\x43\xa5\x05\x87\x74\x5a\x0c\xaf\ -\x85\x11\x57\x13\x45\xf0\xa4\xc9\xd2\xec\x3a\xb4\xa9\xf4\x10\x01\ -\x80\xfb\xeb\x23\x54\x55\x7e\x21\x9d\xda\xf5\xca\xf7\x06\x26\xa9\ -\xd7\x7e\xb9\x22\x9c\x4c\x5c\xfd\xd1\xa9\xb7\x75\xe8\x9f\xb4\x2a\ -\x6f\x9c\xad\x23\x65\x16\x13\xb8\xfd\x0c\xee\x8e\xaf\x63\x6c\x70\ -\x11\x8c\x2f\x3c\x4b\x85\x62\xc7\x19\xcf\xea\x2d\x7c\xf9\xd5\x7b\ -\x68\xef\x1f\x93\x18\x0a\xd0\xab\x21\xb5\x7b\x40\x14\xe5\xf2\x85\ -\x13\x67\x7e\x4d\x46\xf7\xd3\xe7\xc6\x1d\x1c\x5e\x6d\xb0\x60\x76\ -\x4b\xc4\x6e\x28\x01\x46\x10\x97\x52\xf1\x54\xa7\x7f\xed\xc3\x04\ -\x01\x00\x87\xeb\x2e\xb8\x40\x1c\xdb\xae\x05\xc4\xc2\x22\x3c\x3e\ -\x2b\x3e\xe8\xee\x02\x00\x3c\xf7\xca\xcd\x4a\xc5\x64\x38\x5b\x5d\ -\x5b\x58\xe0\xf2\x44\x64\xce\xbf\xfb\x17\xef\x0e\x0d\x2e\xff\x73\ -\x29\xfa\xcc\xf9\x7e\xfc\x0b\x0b\xb9\xbe\x45\x31\x2c\x8e\xcb\x00\ -\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x02\x4a\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xc7\x49\x44\ -\x41\x54\x38\x8d\xa5\x93\xcd\x6a\x1a\x61\x14\x86\x1f\x33\x0e\x05\ -\x4d\x47\xda\x88\x64\x53\x14\x83\x43\x76\xc6\x95\x4c\x5d\xb9\x33\ -\x05\x17\xdd\x64\x99\x45\x2e\x20\xbd\x82\x76\x51\x7a\x03\xbd\x82\ -\x76\x93\x95\x0c\x82\x8b\xe2\x76\x32\xe8\x6a\x04\x85\x04\xa2\xd0\ -\xa2\x14\x84\x80\xc5\x9f\x5a\xb5\xf0\xa5\xa7\x1b\x2d\x93\xa1\x29\ -\x14\x0f\x9c\xcd\x39\xe7\x79\x39\x3f\xdf\x17\x12\x11\xb6\xb1\x9d\ -\xad\xe8\x07\x04\x12\x40\x1a\x88\xfa\x62\x51\xe0\x60\x9d\xfb\xa7\ -\xc0\x7e\x3e\x9f\x3f\xd6\x75\xfd\xa3\x6d\xdb\xe6\x1a\x8c\xda\xb6\ -\x6d\xea\xba\xfe\x21\x9f\xcf\x1f\x03\xfb\xf7\x08\x11\xd9\x78\xc2\ -\xb2\xac\x53\xa0\x0b\x5c\x69\x9a\x76\x59\xad\x56\x8f\xaa\xd5\xea\ -\x91\xa6\x69\x97\xc0\x15\xd0\xb5\x2c\xeb\x54\x44\x12\x1b\x2e\xe4\ -\x5b\x62\x3a\x95\x4a\xbd\x1f\x0c\x06\x4f\x00\x01\x1e\x85\xc3\xe1\ -\x39\x80\x52\x6a\x17\xf8\x09\x84\x92\xc9\xe4\xb8\xdf\xef\xbf\x02\ -\xbe\x04\x47\xb8\xf5\x3c\xef\x22\x93\xc9\x5c\x03\x0b\x60\xac\x94\ -\xd2\x94\x52\x1a\x30\x06\x16\x99\x4c\xe6\xda\xf3\xbc\x0b\xe0\x76\ -\x03\x85\x02\x67\x34\x46\xa3\xd1\x8b\x42\xa1\xf0\xbc\xd7\xeb\x3d\ -\xf3\x27\x4c\xd3\xfc\xda\x68\x34\x9a\xf1\x78\xfc\x13\x30\x7b\x68\ -\x89\x77\xad\x56\xab\xb7\x5c\x2e\xf7\xd6\x5d\xfc\xf1\xd5\x6a\xf5\ -\xb4\xdd\x6e\x77\x81\x3b\x3f\xe0\xef\x20\x5a\xaf\xd7\x0f\xca\xe5\ -\xf2\x6b\xa5\x94\x02\xe6\x01\xf1\x5d\x5d\xd7\xb5\x5a\xad\xf6\xae\ -\x54\x2a\x7d\x06\x7e\x04\x05\xd2\xb1\x58\xec\xcd\x6c\x36\xfb\x05\ -\x7c\x07\xc8\x66\xb3\xdf\x00\x3a\x9d\xce\xde\xba\xe6\xb1\x61\x18\ -\x3b\xd3\xe9\xf4\xed\xdf\x96\x38\xaf\x54\x2a\xcd\x48\x24\x32\x04\ -\x16\xb9\x5c\x6e\xe8\x38\xce\x8d\xe3\x38\x37\xb9\x5c\x6e\x08\x2c\ -\x22\x91\xc8\xb0\x52\xa9\x34\xef\x75\xe7\x7b\x07\x88\xc8\xa1\xeb\ -\xba\x67\xc5\x62\xf1\x7c\x32\x99\x9c\x88\x88\x21\x22\xc6\x64\x32\ -\x39\x29\x16\x8b\xe7\xae\xeb\x9e\x89\xc8\xa1\x9f\x09\x0a\x20\x22\ -\xa6\x88\xbc\x5c\xc3\x9b\x98\xb1\x8e\x99\xc1\xfa\xe0\x19\xff\xdb\ -\xb6\xfe\x8d\xbf\x01\x7c\x52\x08\x38\x8e\xd7\x1d\xc8\x00\x00\x00\ -\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ -\x00\x00\x03\x16\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x93\x49\x44\ -\x41\x54\x38\x8d\x95\x91\xbd\x4f\x1b\x41\x10\xc5\x67\xe1\x96\xbb\ -\xf3\x25\xd8\x46\xe1\x82\x20\x91\x2c\x45\x38\x42\x51\x94\x02\x19\ -\x21\x04\x1d\xa2\xa3\x80\xa3\x30\x05\x25\x12\x15\x32\x14\x44\x48\ -\xfc\x05\x54\x96\x28\x29\x4c\x45\x0f\xae\xa0\xc0\x20\x0a\x7a\xa0\ -\x20\x46\x48\x24\x0e\x8e\xb1\x8d\xe3\x23\xb7\xc7\xde\xde\xee\x5e\ -\x8a\xc4\x16\x1f\x49\xc1\x2b\x67\xde\xfc\xf4\x66\x06\x65\xb3\xd9\ -\x81\x20\x08\x52\x08\xa1\x38\x3c\x43\x41\x10\xe4\x11\x42\x69\xc5\ -\xf7\xfd\x85\x91\x91\x91\x01\xc3\x30\xd4\xe7\x00\x08\x21\xd1\xc3\ -\xc3\xc3\x05\x45\x4a\x19\x07\x80\x6a\xbd\x5e\x77\x9f\x03\xc0\x18\ -\x87\xa4\x94\x71\x85\x52\x0a\x94\xd2\x27\xc3\xb9\x5c\x2e\xba\xb7\ -\xb7\xf7\x2a\x16\x8b\xb9\xc9\x64\xb2\x64\x18\x86\xb8\xdf\x17\x42\ -\xb8\x94\xd2\x76\x85\x73\x8e\x82\x20\x68\x36\x6a\xb5\x9a\x92\x4a\ -\xa5\x3e\x5e\x5c\x5c\x84\x55\x55\x85\x83\x83\x03\xd8\xd8\xd8\x78\ -\x37\x3f\x3f\xff\x65\x6a\x6a\xea\xfa\x3e\x84\x73\x8e\x14\xc6\x18\ -\xe2\x9c\x37\x8b\x2b\x2b\x2b\x1f\x6e\x6f\x6f\xdb\x97\x96\x96\x2a\ -\x63\x63\x63\x2e\x00\xc0\xc9\xc9\x49\x5b\x22\x91\x70\xe6\xe6\xe6\ -\x3e\x25\x93\xc9\x6f\xc3\xc3\xc3\x3f\x01\x00\x18\x63\xa8\x85\x73\ -\x8e\xa4\x94\x20\xa5\x84\xb3\xb3\x33\xa3\x5c\x2e\x47\xa7\xa7\xa7\ -\x6b\x96\x65\x5d\xa9\xaa\x5a\x50\x55\xf5\x6a\x68\x68\xe8\x47\x26\ -\x93\xe9\xa8\x56\xab\xd1\xf5\xf5\xf5\xf7\x9e\xe7\x21\x29\x25\x70\ -\xce\x51\x0b\x63\x0c\x49\x29\x61\x7b\x7b\xbb\x6b\x6b\x6b\xeb\xad\ -\x69\x9a\x80\x31\xf6\x8e\x8e\x8e\x24\x63\x8c\x33\xc6\xd8\xf1\xf1\ -\x31\xdf\xdd\xdd\x8d\x99\xa6\x09\x9a\xa6\x69\xe9\x74\x3a\x2e\xa5\ -\x6c\x26\x00\x29\x25\x10\x42\xc2\xf9\x7c\xbe\x4b\xd7\x75\xd8\xd9\ -\xd9\x31\x4d\xd3\x0c\x1a\xc9\x84\x10\x6d\xcb\xcb\xcb\x15\x5d\xd7\ -\x61\x76\x76\xf6\x7a\x7c\x7c\xdc\xfd\x9b\x00\x94\xc6\x0a\x33\x33\ -\x33\x25\x00\x78\x71\x7e\x7e\xfe\x72\x71\x71\xb1\x18\x8d\x46\x5d\ -\x29\x25\x00\x00\xf4\xf6\xf6\x3a\x99\x4c\x46\xd5\x75\x1d\xfa\xfa\ -\xfa\xca\xba\xae\x13\xc6\xd8\x9f\x23\x36\x00\xae\xeb\xda\x96\x65\ -\x95\x4e\x4f\x4f\xef\x22\x91\x48\x79\x6d\x6d\x2d\xde\xdf\xdf\x5f\ -\xc1\x18\xcb\x5c\x2e\xf7\xc6\x71\x9c\xc8\xc4\xc4\x44\x05\x63\x5c\ -\xa7\x94\x8a\xe6\x17\xee\x1f\x11\x63\x5c\x1e\x1c\x1c\xbc\xcb\x66\ -\xb3\x86\x6d\xdb\x1d\x9b\x9b\x9b\xaf\x01\x00\x4c\xd3\x04\xcb\xb2\ -\x2a\x89\x44\xa2\xe4\x38\x8e\x78\xf0\x46\xdf\xf7\x51\x23\xaa\xe7\ -\x79\xbe\xe7\x79\xb5\xd1\xd1\x51\x6d\x72\x72\xf2\xeb\xcd\xcd\x0d\ -\xb6\x6d\x5b\xe9\xe9\xe9\xf1\x11\x42\xbf\x6c\xdb\xae\x35\xbc\x00\ -\x00\xbe\xef\x3f\x04\x34\x44\x08\xa1\x84\x90\xef\x9a\xa6\x69\x9d\ -\x9d\x9d\xd8\xb6\xed\x3b\x21\x04\x87\x47\xf2\x7d\x1f\x29\x00\x70\ -\x59\x28\x14\xc2\xdd\xdd\xdd\xec\xb1\x81\x10\x42\x01\x80\x3e\xae\ -\x03\x00\x14\x8b\xc5\x36\x00\xb8\x54\x42\xa1\xd0\xea\xfe\xfe\xfe\ -\x67\x21\x44\xec\x5f\xc6\xff\xa9\xb5\xb5\xf5\x32\x1c\x0e\xaf\xfe\ -\x06\x47\x78\x84\x8a\xac\x27\x36\x0e\x00\x00\x00\x00\x49\x45\x4e\ -\x44\xae\x42\x60\x82\ -\x00\x00\x07\x84\ -\x47\ -\x49\x46\x38\x39\x61\x36\x00\x37\x00\xf3\x00\x00\xff\xff\xff\x00\ -\x00\x00\x78\x78\x78\x1c\x1c\x1c\x0e\x0e\x0e\xd8\xd8\xd8\x54\x54\ -\x54\xdc\xdc\xdc\xc4\xc4\xc4\x48\x48\x48\x8a\x8a\x8a\x00\x00\x00\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\xff\x0b\x4e\ -\x45\x54\x53\x43\x41\x50\x45\x32\x2e\x30\x03\x01\x00\x00\x00\x21\ -\xfe\x1a\x43\x72\x65\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x61\ -\x6a\x61\x78\x6c\x6f\x61\x64\x2e\x69\x6e\x66\x6f\x00\x21\xf9\x04\ -\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\x00\x36\x00\x37\x00\x00\x04\ -\xcc\x10\xc8\x49\xab\xbd\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\ -\x9e\x25\x92\x10\x44\x82\xa0\xa7\xc2\xce\x84\x02\x93\x08\x4d\xbf\ -\x77\xb8\xea\xac\x44\x2f\x04\xa4\x0d\x41\xc5\xd9\xf1\xf3\x03\x0a\ -\x97\x9d\x5c\x91\x77\x2c\x18\x58\x86\x02\x46\xa6\xb3\x2d\x0b\x03\ -\xda\x40\x7b\x51\x05\xa9\x16\xc1\x60\x20\x18\x5d\x75\x06\x93\x80\ -\xd6\x26\x16\x4d\xe1\xd9\x40\x94\xc4\x8b\x45\x6f\x34\x71\x25\x73\ -\x33\x75\x20\x07\x79\x2c\x03\x07\x27\x6a\x6c\x24\x07\x6f\x06\x8d\ -\x50\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x1c\x8f\x87\x96\xa1\x1a\ -\x85\x2c\xa2\x47\xa6\x04\xa8\x14\x8a\x04\x7b\x96\xae\xb0\x17\xb2\ -\x97\xb5\x18\xaa\xac\x3d\xb9\xa5\x6b\xba\x43\xa4\x9f\xc2\xc3\xc4\ -\xc5\xc6\xc7\xc8\x9b\xc1\x8e\xbe\x24\xbc\x72\x74\x23\xb7\x25\xd3\ -\x20\xd5\xd2\x7f\x22\xcf\x84\xd1\x23\xcb\x72\xcd\xc9\x9e\xdf\xc5\ -\xdb\xc5\xd7\xc3\xe8\xc2\xe6\xe5\xe1\xe2\xef\x3d\x11\x00\x21\xf9\ -\x04\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\x00\x36\x00\x37\x00\x00\ -\x04\xce\x10\xc8\x49\xab\xbd\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\ -\x69\x9e\x68\xaa\x16\x06\x41\x18\x85\x5a\x16\x83\xeb\x0e\xb1\x2c\ -\xb6\xb6\x6b\xe8\xa2\x5e\x0f\x18\x12\xda\x88\x20\x5e\xef\x87\xf4\ -\x1c\x6a\xb6\xc1\xe1\x82\x48\xb8\x12\x88\xa6\xe4\xc0\x33\x4c\x2d\ -\x0a\xa3\x62\x24\x18\x0c\x04\x26\x84\xd1\x95\x05\x09\x7a\x68\x92\ -\x75\x9d\x08\x41\x6f\xa5\xf5\x11\x74\x27\x0c\xf2\x7a\x04\x21\x6f\ -\x36\x71\x23\x73\x46\x75\x83\x66\x86\x23\x6a\x6b\x6d\x5a\x1a\x61\ -\x42\x63\x92\x1c\x55\x57\x91\x97\x9c\x9d\x9e\x9f\xa0\xa1\x6e\x8c\ -\x97\x65\x67\x1a\x84\x2e\x8d\x40\xa9\x04\xab\x14\x7d\x7f\x4d\xb1\ -\x19\xb4\xb3\x3d\xb2\x17\xad\xaf\x32\xbb\xa8\xa4\x92\xa6\xbc\xa2\ -\xc4\xc5\xc6\xc7\xc8\xc9\xca\x27\xc2\x29\xcd\x64\x70\xcc\xd1\x22\ -\xb6\x25\xd5\x7c\xb8\x27\xd7\x1f\xbe\x26\xdd\x22\xcf\xcc\xc0\xcb\ -\x9e\xe1\xc7\xdf\xc6\xdb\xc4\xea\xa2\xe8\xc6\xe6\xe4\xf1\x27\x11\ -\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\x00\x36\x00\ -\x37\x00\x00\x04\xce\x10\xc8\x49\xab\xbd\x38\xeb\xcd\xbb\xff\x60\ -\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\x02\x5b\x0a\x44\x4d\ -\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\xb3\xe1\x86\x1f\x17\ -\x0c\x99\x2b\x18\x6a\x86\x02\x49\x79\x24\x15\x76\xb6\x81\x34\x54\ -\xac\x55\x45\x4f\x1e\xc1\x00\xcc\x9a\xc4\xb6\x72\x4d\x48\x42\xd7\ -\x44\xdd\x9b\x29\xcc\x23\xc3\x5f\x5f\xd1\x01\xbb\x3e\x30\x3b\x07\ -\x61\x06\x7e\x7f\x85\x86\x87\x88\x89\x8a\x12\x08\x09\x35\x09\x08\ -\x8b\x15\x0a\x68\x0a\x19\x54\x43\x08\x6e\x04\x91\x16\x71\x79\x29\ -\x8e\x6e\x09\x17\x7c\x3d\x3f\x9b\x6f\x16\xa6\x6c\x2c\xa9\x04\x17\ -\x9f\x3f\xa2\x68\xa4\xb1\x78\x99\x9b\x9d\x92\x94\x62\x96\x92\x13\ -\x8d\x8f\xbb\xc0\xc5\xc6\xc7\xc8\xc9\x13\x98\x28\xcc\x70\x3c\xa0\ -\x44\xd0\x23\xac\x27\xd5\x6a\xa7\x26\xd7\x5c\xd3\x26\xb2\x23\xce\ -\xde\xb8\xca\x88\xe1\xc5\xdf\xc6\xdb\xc5\xea\xc0\xe8\xc6\xe6\xe4\ -\xf1\x26\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\x00\x00\ -\x00\x36\x00\x37\x00\x00\x04\xcd\x10\xc8\x49\xab\xbd\x38\xeb\xcd\ -\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\x02\x5b\ -\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\xb3\xe1\ -\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\x8a\x8a\x35\ -\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\xc9\xea\x09\ -\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\xf8\xbc\xaa\x60\xa8\ -\x19\x0a\x1a\x71\x3f\x05\x67\x80\x17\x6c\x5a\x29\x7d\x3c\x04\x06\ -\x18\x67\x43\x8c\x36\x8f\x41\x91\x92\x04\x18\x88\x43\x8b\x3c\x8e\ -\x99\x52\x48\x07\x67\x07\x7a\x13\x07\x8b\x06\xa4\xa5\xab\xac\xad\ -\xae\x27\x08\x09\x35\x09\x08\xac\x0a\x92\x0a\x23\x82\x23\x08\x97\ -\x04\xb5\x54\x46\x25\xb2\x97\x09\x21\x90\x24\xbe\x35\xc7\x95\xc9\ -\xca\x21\x9a\x24\xc4\x92\xc6\xd0\xa0\x25\xbd\x97\xc0\x79\xb7\x8c\ -\xb9\x48\xbb\x15\xb1\xb3\xdb\x3f\xd1\xab\xc8\xe8\xcd\xab\xe7\xec\ -\xd7\xaf\xf0\x2b\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\ -\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcb\x10\xc8\x49\xab\xbd\x38\ -\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\ -\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\ -\xb3\xe1\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\x8a\ -\x8a\x35\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\xc9\ -\xea\x09\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\xf8\x3c\x3e\ -\x8e\xe4\x5f\xd8\x5a\x2a\x80\x19\x67\x48\x85\x18\x87\x3f\x89\x16\ -\x83\x43\x8d\x18\x7e\x3f\x91\x7a\x94\x95\x96\x97\x98\x99\x4c\x05\ -\x06\x35\x06\x05\x6e\x52\x27\x05\x67\xa0\x21\x8f\x23\x9d\x3c\x04\ -\x06\x40\x5d\x26\xab\x36\xae\x61\xb0\xb1\x04\x57\x6a\x25\xaa\x3c\ -\xad\x57\xa2\x19\x08\x09\x35\x09\x08\x17\x07\x67\x07\x43\x0a\xb1\ -\x0a\xc6\xaa\x06\xc9\x3f\x08\xb6\x04\xc5\x79\xc2\xb6\x09\x7a\xd4\ -\x35\xdb\xdc\x7a\xd8\xb1\xda\x79\xd3\xb6\xd6\x79\xcb\xab\xcd\x95\ -\xc1\xc3\xe7\x22\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\x00\ -\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcc\x10\xc8\x49\xab\xbd\x38\ -\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\x0c\ -\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\x44\ -\xb3\xe1\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\x8a\ -\x8a\x35\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\xc9\ -\xea\x09\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\xf8\x3c\x3e\ -\x8e\xe4\x5f\xd8\x5a\x2a\x80\x19\x67\x48\x85\x18\x87\x3f\x89\x16\ -\x83\x43\x8d\x18\x7e\x3f\x91\x7a\x94\x95\x96\x97\x98\x00\x08\x09\ -\x35\x09\x08\x96\x0a\x3c\x35\x0a\x94\x08\xa2\x36\x9f\x33\x52\x22\ -\x9c\xa7\x04\x09\x33\x6a\x20\xae\x36\x5f\x41\x21\xb4\x35\xb6\x5d\ -\x21\xad\xa7\xb0\x6e\xb2\x1f\xa6\xae\xa9\x6e\xab\x22\xa1\xa2\xa4\ -\x17\x05\x06\x35\x06\x05\x48\x9b\x9d\xc6\x15\x05\x67\xd2\x94\xcf\ -\xa2\x06\x95\xb4\xdf\xae\x95\xdc\x3c\xde\x94\x07\x67\x07\x96\x07\ -\xdc\x06\xea\x99\x28\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\x2c\ -\x00\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcc\x10\xc8\x49\xab\xbd\ -\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\x30\ -\x0c\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\x0f\ -\x44\xb3\xe1\x86\x1f\x17\x0c\xc9\x34\x29\x8f\xce\x17\x94\xc8\x9b\ -\x8a\x8a\x35\x6b\x67\x67\x13\x96\xb8\x35\x2f\x08\xdc\x3b\x91\xc5\ -\xc9\xea\x09\x7b\x23\x3d\x53\xef\xa6\x7c\x4e\xaf\xdb\xef\x22\x44\ -\xa2\x96\x40\xe0\x2b\x0a\x3c\x35\x0a\x7f\x12\x08\x82\x36\x7e\x3f\ -\x71\x16\x7b\x88\x04\x09\x8b\x6a\x16\x8f\x36\x3f\x67\x17\x95\x35\ -\x97\x41\x17\x8e\x88\x91\x39\x6c\x5a\x87\x8f\x8a\xa2\x52\x19\x81\ -\x82\x84\x85\x86\x8e\x7d\xae\xb2\xb3\xb4\xb5\x4c\x05\x06\x35\x06\ -\x05\xb3\x05\x67\xbc\x51\x4b\x22\xb9\x82\x06\x4e\x93\x20\x95\x26\ -\x98\x21\xca\x5f\x9d\x21\xc4\x3c\xc6\x33\xc8\x1f\x07\x67\x07\x6b\ -\xa9\x23\x07\xc4\x06\xda\xb6\x1d\x8c\xb2\xa3\xb4\xcc\xb2\xe8\xae\ -\xe6\xb4\xe4\xe2\xef\x27\x11\x00\x21\xf9\x04\x09\x0a\x00\x00\x00\ -\x2c\x00\x00\x00\x00\x36\x00\x37\x00\x00\x04\xcc\x10\xc8\x49\xab\ -\xbd\x38\xeb\xcd\xbb\xff\x60\x28\x8e\x64\x69\x9e\x68\xaa\xae\xac\ -\x30\x0c\x02\x5b\x0a\x44\x4d\xc4\xb2\x38\xd8\xc4\x90\xeb\x3c\xdf\ -\x0f\x44\xb3\xe1\x7e\x88\x44\x2d\x81\xd0\xb8\x60\x43\x80\x82\x57\ -\x53\x44\x39\x08\xaa\xad\x39\x7b\x1d\x3f\x4a\x2d\x21\x31\xe3\x7d\ -\x3b\x62\x5b\x69\x67\x13\x7e\xd2\xb5\x75\x30\x14\xd6\x92\x49\xc5\ -\xda\x19\x9b\xe6\xe2\xbd\x23\x53\x54\x56\x57\x58\x61\x4c\x85\x89\ -\x8a\x8b\x8c\x8d\x57\x05\x06\x35\x06\x05\x8e\x16\x05\x6c\x35\x03\ -\x94\x43\x4f\x7b\x13\x91\x54\x06\x9c\x66\x18\x69\x43\x98\x3d\xa5\ -\x62\xa7\x73\x17\xa0\x3c\xa2\x3f\x79\x37\x18\x07\xa8\x03\x07\x51\ -\x9d\x1a\x07\xa0\x06\xb9\x95\xc1\xc2\xc3\xc4\xc5\xc6\xc7\x1d\xbb\ -\x28\xca\x22\xb3\x9e\x44\xa4\x40\x6d\x27\xb7\x23\xd5\x26\xd7\x21\ -\xce\x27\xdb\x23\xcc\x26\xdf\xc8\x89\xe1\xc2\xdd\xc4\xd9\xc3\xe8\ -\xe5\xd1\xc5\xe4\xe2\xef\x25\x11\x00\x3b\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\ -\x00\x00\x02\x73\ -\x89\ -\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ -\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ -\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ -\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\ -\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\ -\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\ -\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\xf0\x49\x44\ -\x41\x54\x38\x8d\xa5\x92\x4f\x6b\x1a\x61\x10\xc6\x7f\xae\x8a\x55\ -\x8a\xed\xcd\x20\x14\xb2\x87\x88\x87\x42\x4d\x3c\x49\x3d\xec\x25\ -\x64\x03\x7b\xc9\xc1\xdc\x3c\xf5\xb0\xb7\xc6\x9b\x5f\x20\x1f\x40\ -\xea\xb9\x9f\xc0\xe0\xa9\x37\x21\x14\x12\x59\x58\xd8\x84\x42\xa1\ -\xe0\x69\x89\x60\x4c\x2f\x49\xb5\xa8\xc4\x3f\xd3\x43\xde\xb5\x26\ -\x48\x28\x74\xe0\x85\x79\x67\x9e\x79\x98\x99\x67\x42\x22\xc2\xff\ -\x58\xe4\x99\x5c\x1a\x78\xa9\xfc\xdf\x40\x6f\x2d\x4a\x44\x56\xdf\ -\x2b\x11\xd1\x45\x24\x6d\x59\xd6\x01\x70\x03\xdc\x58\x96\x75\x20\ -\x22\x69\x11\xd9\x54\x98\x65\xcd\xa3\x62\xdb\xb6\x77\x43\xa1\x90\ -\x97\x4a\xa5\x8e\x63\xb1\xd8\x09\x70\x09\x5c\xc6\x62\xb1\x93\x54\ -\x2a\x75\x1c\x0e\x87\x1d\xdb\xb6\x77\x57\x49\x42\x2b\x3b\xd8\x8c\ -\x46\xa3\x9f\x67\xb3\x59\x52\xb5\x3e\x01\xc6\x2a\x17\x07\x5e\x00\ -\xa3\x48\x24\x72\x37\x9d\x4e\x3f\x00\x3e\x80\xb6\x32\xcd\x7d\xb9\ -\x5c\xfe\x02\x0c\x81\x6b\xe0\x56\x91\x4c\x94\x7f\x0d\xfc\x52\x98\ -\xfb\xa7\x4b\x4c\x97\x4a\xa5\x9d\x56\xab\xb5\xa5\x0a\x48\x26\x93\ -\x77\x95\x4a\xe5\x1b\x40\xad\x56\x7b\x37\x18\x0c\x5e\x03\x34\x9b\ -\xcd\xad\xe1\x70\xb8\xd3\x68\x34\x00\x7a\xc1\xfc\x19\xe0\x02\x68\ -\x01\x4d\xa0\x59\xad\x56\x8f\x44\x64\x5b\x44\xb6\xab\xd5\xea\x51\ -\x10\x57\x98\x0b\x11\xc9\x88\xc8\x5f\x19\x35\x4d\xfb\xb1\x58\x2c\ -\x42\xc1\xbf\xdd\x6e\x0f\x80\xfe\x8a\x3f\x51\xa9\x89\xa6\x69\x3f\ -\x97\x75\x81\xce\xae\xeb\x9e\x19\x86\xd1\x09\xe6\x76\x1c\x67\x5f\ -\xd7\xf5\x43\x5d\xd7\x0f\x1d\xc7\xd9\x0f\xe2\x86\x61\x74\x5c\xd7\ -\x3d\x53\xb7\xb1\x24\xe8\xe5\xf3\xf9\xd3\x6c\x36\x7b\x15\x00\xe7\ -\xf3\xf9\xc0\xf7\xfd\x3d\xdf\xf7\xf7\xe6\xf3\x79\xd0\xc1\x24\x9b\ -\xcd\x5e\xe5\xf3\xf9\x53\xd4\x61\x3d\x92\x31\x91\x48\x7c\x1c\x8f\ -\x03\xe5\xd6\x5b\x3c\x1e\x67\x34\x1a\x7d\x62\x8d\x8c\xb7\x9e\xe7\ -\xb9\xb9\x5c\xae\x5f\xaf\xd7\x3b\xa6\x69\x76\x79\xb8\x83\xb1\x69\ -\x9a\xdd\x7a\xbd\xde\xc9\xe5\x72\x7d\xcf\xf3\x5c\x1e\x64\xe5\x69\ -\x07\x00\x1b\xc0\x7b\xa0\xeb\x38\x4e\xba\x58\x2c\xbe\x05\x38\x3f\ -\x3f\xff\x5e\x28\x14\x7a\xc0\x1b\xa0\x1d\x2c\x77\x1d\xc1\xaa\x65\ -\x00\x43\xf9\x5f\x81\xce\x3a\xd0\x73\x04\xff\x64\x7f\x00\x19\x1e\ -\x09\x5d\x0e\xd9\xff\x6d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ -\x60\x82\ " qt_resource_name = b"\ @@ -1955,74 +1955,74 @@ \x00\x6f\xa6\x53\ \x00\x69\ \x00\x63\x00\x6f\x00\x6e\x00\x73\ -\x00\x14\ -\x0b\x6a\x55\xa7\ -\x00\x62\ -\x00\x6f\x00\x78\x00\x2d\x00\x62\x00\x6f\x00\x72\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x73\x00\x6d\x00\x61\x00\x6c\x00\x6c\x00\x2e\ -\x00\x70\x00\x6e\x00\x67\ \x00\x0b\ -\x00\xbd\xc0\x27\ -\x00\x73\ -\x00\x65\x00\x74\x00\x74\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x0e\ -\x05\x17\xcb\xe7\ -\x00\x62\ -\x00\x72\x00\x6f\x00\x6b\x00\x65\x00\x6e\x00\x50\x00\x61\x00\x67\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\x00\x11\ -\x0c\x49\x94\x07\ -\x00\x61\ -\x00\x64\x00\x42\x00\x6c\x00\x6f\x00\x63\x00\x6b\x00\x50\x00\x6c\x00\x75\x00\x73\x00\x36\x00\x34\x00\x2e\x00\x70\x00\x6e\x00\x67\ -\ +\x00\xb0\xe2\x96\ +\x00\x6c\ +\x00\x6f\x00\x61\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x67\x00\x69\x00\x66\ \x00\x0d\ -\x0c\x7a\x4d\x87\ +\x0c\x56\x4d\x87\ \x00\x65\ -\x00\x72\x00\x69\x00\x63\x00\