commit 737763ea1b0d9b761c244325c0d742cc4f5e5b02 Author: Markus Rosenstihl Date: Fri Jun 14 08:44:34 2013 +0200 initial commit diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..2c9154d --- /dev/null +++ b/.hgignore @@ -0,0 +1,2 @@ +syntax: glob +*.pyc diff --git a/ConductivityGroupBox.py b/ConductivityGroupBox.py new file mode 100644 index 0000000..0bdfb95 --- /dev/null +++ b/ConductivityGroupBox.py @@ -0,0 +1,196 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'ConductivityGroupBox.ui' +# +# Created: Fri Jun 7 16:23:12 2013 +# by: PyQt4 UI code generator 4.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_ConductivityGroupBox(object): + def setupUi(self, ConductivityGroupBox): + ConductivityGroupBox.setObjectName(_fromUtf8("ConductivityGroupBox")) + ConductivityGroupBox.resize(289, 168) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(ConductivityGroupBox.sizePolicy().hasHeightForWidth()) + ConductivityGroupBox.setSizePolicy(sizePolicy) + ConductivityGroupBox.setMinimumSize(QtCore.QSize(0, 150)) + self.gridLayout_2 = QtGui.QGridLayout(ConductivityGroupBox) + self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) + self.gridLayout = QtGui.QGridLayout() + self.gridLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize) + self.gridLayout.setSpacing(5) + self.gridLayout.setContentsMargins(0, 0, -1, -1) + self.gridLayout.setObjectName(_fromUtf8("gridLayout")) + self.checkBox_2 = QtGui.QCheckBox(ConductivityGroupBox) + self.checkBox_2.setText(_fromUtf8("")) + self.checkBox_2.setObjectName(_fromUtf8("checkBox_2")) + self.gridLayout.addWidget(self.checkBox_2, 2, 4, 1, 1) + self.checkBox_1 = QtGui.QCheckBox(ConductivityGroupBox) + self.checkBox_1.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_1.setText(_fromUtf8("")) + self.checkBox_1.setObjectName(_fromUtf8("checkBox_1")) + self.gridLayout.addWidget(self.checkBox_1, 1, 4, 1, 1) + self.lineEdit_3 = QtGui.QLineEdit(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_3.setSizePolicy(sizePolicy) + self.lineEdit_3.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3")) + self.gridLayout.addWidget(self.lineEdit_3, 3, 1, 1, 1) + self.label_3 = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setAlignment(QtCore.Qt.AlignCenter) + self.label_3.setObjectName(_fromUtf8("label_3")) + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + self.pushButton_2 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth()) + self.pushButton_2.setSizePolicy(sizePolicy) + self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) + self.gridLayout.addWidget(self.pushButton_2, 1, 3, 1, 1) + self.label_2 = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName(_fromUtf8("label_2")) + self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) + self.pushButton_5 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth()) + self.pushButton_5.setSizePolicy(sizePolicy) + self.pushButton_5.setObjectName(_fromUtf8("pushButton_5")) + self.gridLayout.addWidget(self.pushButton_5, 3, 2, 1, 1) + self.pushButton_6 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_6.sizePolicy().hasHeightForWidth()) + self.pushButton_6.setSizePolicy(sizePolicy) + self.pushButton_6.setObjectName(_fromUtf8("pushButton_6")) + self.gridLayout.addWidget(self.pushButton_6, 3, 3, 1, 1) + self.lineEdit_2 = QtGui.QLineEdit(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_2.setSizePolicy(sizePolicy) + self.lineEdit_2.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2")) + self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1) + self.lineEdit_1 = QtGui.QLineEdit(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_1.sizePolicy().hasHeightForWidth()) + self.lineEdit_1.setSizePolicy(sizePolicy) + self.lineEdit_1.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_1.setObjectName(_fromUtf8("lineEdit_1")) + self.gridLayout.addWidget(self.lineEdit_1, 1, 1, 1, 1) + self.checkBox_3 = QtGui.QCheckBox(ConductivityGroupBox) + self.checkBox_3.setText(_fromUtf8("")) + self.checkBox_3.setObjectName(_fromUtf8("checkBox_3")) + self.gridLayout.addWidget(self.checkBox_3, 3, 4, 1, 1) + self.label_1 = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_1.sizePolicy().hasHeightForWidth()) + self.label_1.setSizePolicy(sizePolicy) + self.label_1.setAlignment(QtCore.Qt.AlignCenter) + self.label_1.setObjectName(_fromUtf8("label_1")) + self.gridLayout.addWidget(self.label_1, 1, 0, 1, 1) + self.pushButton_3 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth()) + self.pushButton_3.setSizePolicy(sizePolicy) + self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) + self.gridLayout.addWidget(self.pushButton_3, 2, 2, 1, 1) + self.pushButton_4 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_4.sizePolicy().hasHeightForWidth()) + self.pushButton_4.setSizePolicy(sizePolicy) + self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) + self.gridLayout.addWidget(self.pushButton_4, 2, 3, 1, 1) + self.pushButton_1 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_1.sizePolicy().hasHeightForWidth()) + self.pushButton_1.setSizePolicy(sizePolicy) + self.pushButton_1.setAutoDefault(False) + self.pushButton_1.setDefault(False) + self.pushButton_1.setFlat(False) + self.pushButton_1.setObjectName(_fromUtf8("pushButton_1")) + self.gridLayout.addWidget(self.pushButton_1, 1, 2, 1, 1) + self.label = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName(_fromUtf8("label")) + self.gridLayout.addWidget(self.label, 0, 4, 1, 1) + self.removeButton = QtGui.QPushButton(ConductivityGroupBox) + self.removeButton.setObjectName(_fromUtf8("removeButton")) + self.gridLayout.addWidget(self.removeButton, 0, 1, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) + + self.retranslateUi(ConductivityGroupBox) + QtCore.QObject.connect(self.removeButton, QtCore.SIGNAL(_fromUtf8("clicked()")), ConductivityGroupBox.hide) + QtCore.QMetaObject.connectSlotsByName(ConductivityGroupBox) + + def retranslateUi(self, ConductivityGroupBox): + ConductivityGroupBox.setWindowTitle(_translate("ConductivityGroupBox", "GroupBox", None)) + ConductivityGroupBox.setTitle(_translate("ConductivityGroupBox", "GroupBox", None)) + self.lineEdit_3.setText(_translate("ConductivityGroupBox", "0.0", None)) + self.label_3.setText(_translate("ConductivityGroupBox", "α", None)) + self.pushButton_2.setText(_translate("ConductivityGroupBox", "+", None)) + self.label_2.setText(_translate("ConductivityGroupBox", "σ", None)) + self.pushButton_5.setText(_translate("ConductivityGroupBox", "-", None)) + self.pushButton_6.setText(_translate("ConductivityGroupBox", "+", None)) + self.lineEdit_2.setText(_translate("ConductivityGroupBox", "0.00e+00", None)) + self.lineEdit_1.setText(_translate("ConductivityGroupBox", "0.00e+00", None)) + self.label_1.setText(_translate("ConductivityGroupBox", "εstatic", None)) + self.pushButton_3.setText(_translate("ConductivityGroupBox", "-", None)) + self.pushButton_4.setText(_translate("ConductivityGroupBox", "+", None)) + self.pushButton_1.setText(_translate("ConductivityGroupBox", "-", None)) + self.label.setText(_translate("ConductivityGroupBox", "Fix", None)) + self.removeButton.setText(_translate("ConductivityGroupBox", "Remove", None)) + diff --git a/ConductivityGroupBox.ui b/ConductivityGroupBox.ui new file mode 100644 index 0000000..c6cf3b8 --- /dev/null +++ b/ConductivityGroupBox.ui @@ -0,0 +1,308 @@ + + + ConductivityGroupBox + + + + 0 + 0 + 289 + 168 + + + + + 0 + 0 + + + + + 0 + 150 + + + + GroupBox + + + GroupBox + + + + + + QLayout::SetFixedSize + + + 0 + + + 0 + + + 5 + + + + + + + + + + + + Qt::LeftToRight + + + + + + + + + + + 0 + 0 + + + + + 90 + 16777215 + + + + 0.0 + + + + + + + + 0 + 0 + + + + α + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + σ + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + - + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + + 0 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + + + + + + + + + 0 + 0 + + + + ε<sub>static</sub> + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + - + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + - + + + false + + + false + + + false + + + + + + + + 0 + 0 + + + + Fix + + + Qt::AlignCenter + + + + + + + Remove + + + + + + + + + + + removeButton + clicked() + ConductivityGroupBox + hide() + + + 95 + 48 + + + 144 + 80 + + + + + diff --git a/ConductivityWidget.py b/ConductivityWidget.py new file mode 100644 index 0000000..ac0546a --- /dev/null +++ b/ConductivityWidget.py @@ -0,0 +1,75 @@ +# -*- encoding: utf-8 -*- +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import ConductivityGroupBox + + +class ConductivityWidget(QGroupBox): + changedTable = pyqtSignal() + def __init__(self, parent=None): + QGroupBox.__init__(self) + super(ConductivityWidget, self).__init__(parent) + self.setTitle(u"Conductivity …") + self.ui = ConductivityGroupBox.Ui_ConductivityGroupBox() + self.ui.setupUi(self) + self.lineEdits = [self.ui.lineEdit_1, + self.ui.lineEdit_2, + self.ui.lineEdit_3] + self.fixedCheckBoxes = [self.ui.checkBox_1, + self.ui.checkBox_2, + self.ui.checkBox_3] + for le in self.lineEdits: + le.editingFinished.connect(self.changedTable.emit) + self.signalMapper = QSignalMapper(self) + for i, button in enumerate([self.ui.pushButton_1, + self.ui.pushButton_2, + self.ui.pushButton_3, + self.ui.pushButton_4, + self.ui.pushButton_5, + self.ui.pushButton_6, + ]): + self.signalMapper.setMapping(button,i) + button.clicked.connect(self.signalMapper.map) + self.signalMapper.mapped.connect(self.changeValues) + + def changeValues(self, num): + logstep = 1.29154967 # 10 log even steps per decade + linstep = 0.05 + # 0-3 down/up for d_eps and tau, respectively + # 4-7 down, up for a, b + if num == 0: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]/logstep)) + if num == 1: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]*logstep)) + if num == 2: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]/logstep)) + if num == 3: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]*logstep)) + if num == 4: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]-linstep)) + if num == 5: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]+linstep)) + self.changedTable.emit() + + def fixedParameter(self): + return [0 if cb.isChecked() else 1 for cb in self.fixedCheckBoxes] + + def setColor(self, color): + r,g,b = color + palette = self.palette() + palette.setColor(QPalette.Foreground, QColor(r,g,b)) + self.setPalette(palette) + + def getTable(self): + tmp = [i.text().toDouble()[0] # selects the number, ignores the status + for i in self.lineEdits ] + print "peakParams:",tmp + return tmp + + def update(self): + self.changedTable.emit() + + def updateTable(self, *args): + for i,arg in enumerate(args): + self.lineEdits[i].setText("%g"%(args[i])) + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1b15769 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +all: + pyrcc4 icons/images.qrc -o images_rc.py + pyuic4 QDSMain.ui -o QDSMain.py + pyuic4 PeakGroupBox.ui -o PeakGroupBox.py + pyuic4 ConductivityGroupBox.ui -o ConductivityGroupBox.py diff --git a/MatplotlibWidget.py b/MatplotlibWidget.py new file mode 100644 index 0000000..a50c698 --- /dev/null +++ b/MatplotlibWidget.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +# +# Copyright © 2009 Pierre Raybaut +# Licensed under the terms of the MIT License + +""" +MatplotlibWidget +================ + +Example of matplotlib widget for PyQt4 + +Copyright © 2009 Pierre Raybaut +This software is licensed under the terms of the MIT License + +Derived from 'embedding_in_pyqt4.py': +Copyright © 2005 Florent Rougon, 2006 Darren Dale +""" + +__version__ = "1.0.0" + +from PyQt4.QtGui import QSizePolicy +from PyQt4.QtCore import QSize + +from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as Canvas +from matplotlib.figure import Figure + +from matplotlib import rcParams +rcParams['font.size'] = 9 + + +class MatplotlibWidget(Canvas): + """ + MatplotlibWidget inherits PyQt4.QtGui.QWidget + and matplotlib.backend_bases.FigureCanvasBase + + Options: option_name (default_value) + ------- + parent (None): parent widget + title (''): figure title + xlabel (''): X-axis label + ylabel (''): Y-axis label + xlim (None): X-axis limits ([min, max]) + ylim (None): Y-axis limits ([min, max]) + xscale ('linear'): X-axis scale + yscale ('linear'): Y-axis scale + width (4): width in inches + height (3): height in inches + dpi (100): resolution in dpi + hold (False): if False, figure will be cleared each time plot is called + + Widget attributes: + ----------------- + figure: instance of matplotlib.figure.Figure + axes: figure axes + + Example: + ------- + self.widget = MatplotlibWidget(self, yscale='log', hold=True) + from numpy import linspace + x = linspace(-10, 10) + self.widget.axes.plot(x, x**2) + self.wdiget.axes.plot(x, x**3) + """ + def __init__(self, parent=None, title='', xlabel='', ylabel='', + xlim=None, ylim=None, xscale='linear', yscale='linear', + width=6, height=4, dpi=100, hold=False): + self.figure = Figure(figsize=(width, height), dpi=dpi) + self.axes = self.figure.add_subplot(111) + self.axes.set_title(title) + self.axes.set_xlabel(xlabel) + self.axes.set_ylabel(ylabel) + if xscale is not None: + self.axes.set_xscale(xscale) + if yscale is not None: + self.axes.set_yscale(yscale) + if xlim is not None: + self.axes.set_xlim(*xlim) + if ylim is not None: + self.axes.set_ylim(*ylim) + self.axes.hold(hold) + + Canvas.__init__(self, self.figure) + self.setParent(parent) + + Canvas.setSizePolicy(self, QSizePolicy.Expanding, QSizePolicy.Expanding) + Canvas.updateGeometry(self) + + def sizeHint(self): + w, h = self.get_width_height() + return QSize(w, h) + + def minimumSizeHint(self): + return QSize(10, 10) + + + +#=============================================================================== +# Example +#=============================================================================== +if __name__ == '__main__': + import sys + from PyQt4.QtGui import QMainWindow, QApplication + from numpy import linspace + + class ApplicationWindow(QMainWindow): + def __init__(self): + QMainWindow.__init__(self) + self.mplwidget = MatplotlibWidget(self, title='Example', + xlabel='Linear scale', + ylabel='Log scale', + hold=True, yscale='log') + self.mplwidget.setFocus() + self.setCentralWidget(self.mplwidget) + self.plot(self.mplwidget.axes) + + def plot(self, axes): + x = linspace(-10, 10) + axes.plot(x, x**2) + axes.plot(x, x**3) + + app = QApplication(sys.argv) + win = ApplicationWindow() + win.show() + sys.exit(app.exec_()) diff --git a/PeakGroupBox.py b/PeakGroupBox.py new file mode 100644 index 0000000..4884e79 --- /dev/null +++ b/PeakGroupBox.py @@ -0,0 +1,263 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'PeakGroupBox.ui' +# +# Created: Fri Jun 7 16:23:12 2013 +# by: PyQt4 UI code generator 4.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_PeakGroupBox(object): + def setupUi(self, PeakGroupBox): + PeakGroupBox.setObjectName(_fromUtf8("PeakGroupBox")) + PeakGroupBox.setEnabled(True) + PeakGroupBox.resize(385, 230) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(PeakGroupBox.sizePolicy().hasHeightForWidth()) + PeakGroupBox.setSizePolicy(sizePolicy) + PeakGroupBox.setMinimumSize(QtCore.QSize(275, 210)) + PeakGroupBox.setFlat(False) + PeakGroupBox.setCheckable(False) + self.gridLayout_2 = QtGui.QGridLayout(PeakGroupBox) + self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) + self.gridLayout = QtGui.QGridLayout() + self.gridLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) + self.gridLayout.setSpacing(5) + self.gridLayout.setContentsMargins(0, 0, -1, -1) + self.gridLayout.setObjectName(_fromUtf8("gridLayout")) + self.checkBox_2 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_2.setText(_fromUtf8("")) + self.checkBox_2.setObjectName(_fromUtf8("checkBox_2")) + self.gridLayout.addWidget(self.checkBox_2, 2, 4, 1, 1) + self.lineEdit_3 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_3.setSizePolicy(sizePolicy) + self.lineEdit_3.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_3.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3")) + self.gridLayout.addWidget(self.lineEdit_3, 3, 1, 1, 1) + self.checkBox_3 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_3.setObjectName(_fromUtf8("checkBox_3")) + self.gridLayout.addWidget(self.checkBox_3, 3, 4, 1, 1) + self.pushButton_7 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_7.sizePolicy().hasHeightForWidth()) + self.pushButton_7.setSizePolicy(sizePolicy) + self.pushButton_7.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_7.setObjectName(_fromUtf8("pushButton_7")) + self.gridLayout.addWidget(self.pushButton_7, 4, 2, 1, 1) + self.label_2 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName(_fromUtf8("label_2")) + self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) + self.lineEdit_4 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_4.sizePolicy().hasHeightForWidth()) + self.lineEdit_4.setSizePolicy(sizePolicy) + self.lineEdit_4.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_4.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_4.setObjectName(_fromUtf8("lineEdit_4")) + self.gridLayout.addWidget(self.lineEdit_4, 4, 1, 1, 1) + self.pushButton_1 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_1.sizePolicy().hasHeightForWidth()) + self.pushButton_1.setSizePolicy(sizePolicy) + self.pushButton_1.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_1.setAutoDefault(False) + self.pushButton_1.setDefault(False) + self.pushButton_1.setFlat(False) + self.pushButton_1.setObjectName(_fromUtf8("pushButton_1")) + self.gridLayout.addWidget(self.pushButton_1, 1, 2, 1, 1) + self.pushButton_6 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_6.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_6.sizePolicy().hasHeightForWidth()) + self.pushButton_6.setSizePolicy(sizePolicy) + self.pushButton_6.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_6.setObjectName(_fromUtf8("pushButton_6")) + self.gridLayout.addWidget(self.pushButton_6, 3, 3, 1, 1) + self.label = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName(_fromUtf8("label")) + self.gridLayout.addWidget(self.label, 0, 4, 1, 1) + self.pushButton_5 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth()) + self.pushButton_5.setSizePolicy(sizePolicy) + self.pushButton_5.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_5.setObjectName(_fromUtf8("pushButton_5")) + self.gridLayout.addWidget(self.pushButton_5, 3, 2, 1, 1) + self.removeButton = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.removeButton.sizePolicy().hasHeightForWidth()) + self.removeButton.setSizePolicy(sizePolicy) + self.removeButton.setMinimumSize(QtCore.QSize(124, 0)) + self.removeButton.setObjectName(_fromUtf8("removeButton")) + self.gridLayout.addWidget(self.removeButton, 0, 1, 1, 1) + self.pushButton_8 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_8.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_8.sizePolicy().hasHeightForWidth()) + self.pushButton_8.setSizePolicy(sizePolicy) + self.pushButton_8.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_8.setObjectName(_fromUtf8("pushButton_8")) + self.gridLayout.addWidget(self.pushButton_8, 4, 3, 1, 1) + self.label_3 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setAlignment(QtCore.Qt.AlignCenter) + self.label_3.setObjectName(_fromUtf8("label_3")) + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + self.pushButton_4 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_4.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_4.sizePolicy().hasHeightForWidth()) + self.pushButton_4.setSizePolicy(sizePolicy) + self.pushButton_4.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) + self.gridLayout.addWidget(self.pushButton_4, 2, 3, 1, 1) + self.label_1 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_1.sizePolicy().hasHeightForWidth()) + self.label_1.setSizePolicy(sizePolicy) + self.label_1.setAlignment(QtCore.Qt.AlignCenter) + self.label_1.setObjectName(_fromUtf8("label_1")) + self.gridLayout.addWidget(self.label_1, 1, 0, 1, 1) + self.lineEdit_2 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_2.setSizePolicy(sizePolicy) + self.lineEdit_2.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_2.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2")) + self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1) + self.checkBox_1 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_1.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_1.setText(_fromUtf8("")) + self.checkBox_1.setObjectName(_fromUtf8("checkBox_1")) + self.gridLayout.addWidget(self.checkBox_1, 1, 4, 1, 1) + self.lineEdit_1 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_1.sizePolicy().hasHeightForWidth()) + self.lineEdit_1.setSizePolicy(sizePolicy) + self.lineEdit_1.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_1.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_1.setObjectName(_fromUtf8("lineEdit_1")) + self.gridLayout.addWidget(self.lineEdit_1, 1, 1, 1, 1) + self.pushButton_3 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth()) + self.pushButton_3.setSizePolicy(sizePolicy) + self.pushButton_3.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) + self.gridLayout.addWidget(self.pushButton_3, 2, 2, 1, 1) + self.label_4 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setAlignment(QtCore.Qt.AlignCenter) + self.label_4.setObjectName(_fromUtf8("label_4")) + self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1) + self.checkBox_4 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_4.setObjectName(_fromUtf8("checkBox_4")) + self.gridLayout.addWidget(self.checkBox_4, 4, 4, 1, 1) + self.pushButton_2 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_2.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth()) + self.pushButton_2.setSizePolicy(sizePolicy) + self.pushButton_2.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) + self.gridLayout.addWidget(self.pushButton_2, 1, 3, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) + + self.retranslateUi(PeakGroupBox) + QtCore.QObject.connect(self.removeButton, QtCore.SIGNAL(_fromUtf8("clicked()")), PeakGroupBox.hide) + QtCore.QMetaObject.connectSlotsByName(PeakGroupBox) + + def retranslateUi(self, PeakGroupBox): + PeakGroupBox.setWindowTitle(_translate("PeakGroupBox", "GroupBox", None)) + PeakGroupBox.setTitle(_translate("PeakGroupBox", "GroupBox", None)) + self.lineEdit_3.setText(_translate("PeakGroupBox", "0.0", None)) + self.checkBox_3.setText(_translate("PeakGroupBox", "CD", None)) + self.pushButton_7.setText(_translate("PeakGroupBox", "-", None)) + self.label_2.setText(_translate("PeakGroupBox", "τ", None)) + self.lineEdit_4.setText(_translate("PeakGroupBox", "0.0", None)) + self.pushButton_1.setText(_translate("PeakGroupBox", "-", None)) + self.pushButton_6.setText(_translate("PeakGroupBox", "+", None)) + self.label.setText(_translate("PeakGroupBox", "Fix", None)) + self.pushButton_5.setText(_translate("PeakGroupBox", "-", None)) + self.removeButton.setText(_translate("PeakGroupBox", "Remove", None)) + self.pushButton_8.setText(_translate("PeakGroupBox", "+", None)) + self.label_3.setText(_translate("PeakGroupBox", "γ", None)) + self.pushButton_4.setText(_translate("PeakGroupBox", "+", None)) + self.label_1.setText(_translate("PeakGroupBox", "Δε", None)) + self.lineEdit_2.setText(_translate("PeakGroupBox", "0.00e+00", None)) + self.lineEdit_1.setText(_translate("PeakGroupBox", "0.00e+00", None)) + self.pushButton_3.setText(_translate("PeakGroupBox", "-", None)) + self.label_4.setText(_translate("PeakGroupBox", "β", None)) + self.checkBox_4.setText(_translate("PeakGroupBox", "CC", None)) + self.pushButton_2.setText(_translate("PeakGroupBox", "+", None)) + diff --git a/PeakGroupBox.ui b/PeakGroupBox.ui new file mode 100644 index 0000000..0050442 --- /dev/null +++ b/PeakGroupBox.ui @@ -0,0 +1,481 @@ + + + PeakGroupBox + + + true + + + + 0 + 0 + 385 + 230 + + + + + 0 + 0 + + + + + 275 + 210 + + + + GroupBox + + + GroupBox + + + false + + + false + + + + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 5 + + + + + + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.0 + + + + + + + CD + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + + + + + + 0 + 0 + + + + τ + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.0 + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + false + + + false + + + false + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + 0 + 0 + + + + Fix + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + + + + + + 0 + 0 + + + + + 124 + 0 + + + + Remove + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + 0 + 0 + + + + γ + + + Qt::AlignCenter + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + 0 + 0 + + + + Δε + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + Qt::LeftToRight + + + + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + + + + + + 0 + 0 + + + + β + + + Qt::AlignCenter + + + + + + + CC + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + + + + removeButton + clicked() + PeakGroupBox + hide() + + + 82 + 42 + + + 131 + 88 + + + + + diff --git a/PeakWidget.py b/PeakWidget.py new file mode 100644 index 0000000..038f455 --- /dev/null +++ b/PeakWidget.py @@ -0,0 +1,87 @@ +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import PeakGroupBox + + +class PeakWidget(QGroupBox): + changedTable = pyqtSignal() + def __init__(self, parent=None): + QGroupBox.__init__(self) + super(PeakWidget, self).__init__(parent) + self.ui = PeakGroupBox.Ui_PeakGroupBox() + self.ui.setupUi(self) + self.lineEdits = [self.ui.lineEdit_1, + self.ui.lineEdit_2, + self.ui.lineEdit_3, + self.ui.lineEdit_4] + self.fixedCheckBoxes = [self.ui.checkBox_1, + self.ui.checkBox_2, + self.ui.checkBox_3, + self.ui.checkBox_4] + for le in self.lineEdits: + le.editingFinished.connect(self.changedTable.emit) + self.signalMapper = QSignalMapper(self) + for i, button in enumerate([self.ui.pushButton_1, + self.ui.pushButton_2, + self.ui.pushButton_3, + self.ui.pushButton_4, + self.ui.pushButton_5, + self.ui.pushButton_6, + self.ui.pushButton_7, + self.ui.pushButton_8, + ]): + self.signalMapper.setMapping(button,i) + button.clicked.connect(self.signalMapper.map) + self.signalMapper.mapped.connect(self.changeValues) + + def changeValues(self, num): + logstep = 1.29154967 # 10 log even steps per decade + linstep = 0.05 + # 0-3 down/up for d_eps and tau, respectively + # 4-7 down, up for a, b + if num == 0: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]/logstep)) + if num == 1: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]*logstep)) + if num == 2: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]/logstep)) + if num == 3: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]*logstep)) + if num == 4: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]-linstep)) + if num == 5: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]+linstep)) + if num == 6: + self.ui.lineEdit_4.setText("%.2e"%(self.ui.lineEdit_4.text().toDouble()[0]-linstep)) + if num == 7: + self.ui.lineEdit_4.setText("%.2e"%(self.ui.lineEdit_4.text().toDouble()[0]+linstep)) + self.changedTable.emit() + + def fixedParameter(self): + return [0 if cb.isChecked() else 1 for cb in self.fixedCheckBoxes] + + + def setId(self,id): + self.id=id + self.setTitle("Peak %i"%id) + + def setColor(self, color): + r,g,b = color + palette = self.palette() + palette.setColor(QPalette.Foreground, QColor(r,g,b)) + self.setPalette(palette) + + def peakParameter(self): + tmp = [i.text().toDouble()[0] # selects the number, ignores the status + for i in self.lineEdits ] + print "peakParams:",tmp + return tmp + + def update(self): + self.changedTable.emit() + + def updateTable(self, *args): + print "updateTable", args + for i,arg in enumerate(args): + self.lineEdits[i].setText("%g"%(args[i])) + diff --git a/QDS.py b/QDS.py new file mode 100755 index 0000000..b740ad2 --- /dev/null +++ b/QDS.py @@ -0,0 +1,667 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +import os,sys +import re +import signal + + +from PyQt4.QtCore import * +from PyQt4.QtGui import * +from PyQt4.uic import * + +from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar +import matplotlib.pyplot as plt +import matplotlib.colors + +import numpy as N +import scipy.odr as O +import scipy.optimize as opt + +import MatplotlibWidget +import QDSMain +import PeakWidget +import ConductivityWidget +from data import Data +#import yaff + + + +def sigint_handler(*args): + """Handler for the SIGINT signal.""" + sys.stderr.write('\r') + if QMessageBox.question(None, '', "Are you sure you want to quit?", + QMessageBox.Yes | QMessageBox.No, + QMessageBox.No) == QMessageBox.Yes: + QApplication.quit() + + +def id_to_color(id): + colors = ['b', 'r','g','c','m','y','k'] + conv = matplotlib.colors.ColorConverter() + return conv.to_rgb(colors[id%len(colors)]) + + +def tau_peak(f,a,b): + tau = (N.sin( N.pi*a/2./(b+1) )/N.sin( N.pi*a*b/2./(b+1) ))**(1/a) + tau /= 2*N.pi*f + return tau + +def hn(p,nu): + delta_eps,tau,a,b = p + om = 2*N.pi*nu + Phi = N.arctan( (om*tau)**a*N.sin(N.pi*a/2.)/(1.+(om*tau)**a*N.cos(N.pi*a/2.)) ) + e_loss = delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.sin(b*Phi) + e_stor = delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.cos(b*Phi) + return 2*e_loss + +def multi_hn(p,nu): + conductivity = p[1] + cond_beta = p[2] + om = 2*N.pi*nu + e_loss = conductivity/om**cond_beta + e_loss += p[0] + #for key, igroup in groupby(p[3:], lambda x: x//4): + for i in xrange(len(p[3:])/4): + delta_eps, tau, a, b = p[3+i*4:3+(i+1)*4] + #delta_eps, tau, a, b = list(igroup) + #print delta_eps,tau,a,b + #a = 0.5 *(1 + N.tanh(a)) + #b = 0.5 *(1 + N.tanh(b)) + Phi = N.arctan( (om*tau)**a*N.sin(N.pi*a/2.)/(1.+(om*tau)**a*N.cos(N.pi*a/2.)) ) + e_loss += 2*delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.sin(b*Phi) + #e_stor = delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.cos(b*Phi) + return e_loss + +def mini_func(p,x, y): + res = y - multi_hn(p,x) + # apply weights + res /= 1/y + return N.sqrt(N.dot(res,res)) + +def conductivity(p, nu): + c = p[0]/(2*N.pi*nu)**p[1] + return c + +def hnfit(delta_eps, tau, points): + x = [point[0] for point in points] + y = [point[1] for point in points] + dat = O.Data(x,y) + mod = O.Model(hn) + odr = O.ODR(dat,mod, [delta_eps, tau, 1, 1], ifixb=(0,0,1,1), ifixx=(0,), maxit=1000) + odr.run() + odr.output.pprint() + return odr.output.beta + +def fit_odr(x,y,p0, fixed): + dat = O.Data(x,y, 1.0/y) + mod = O.Model(multi_hn) + odr = O.ODR(dat, mod, p0, ifixx=(0,), ifixb=fixed, maxit=2000) + odr.run() + return odr.output.beta + +def fit_lbfgsb(x,y,p0, fixed): + # TODO fixed parameters… + bounds = [(0,None), (0,1)] + for i in xrange(len(p0[3:])/4): + bounds.append((1e-4,1e12)) # delta_eps + bounds.append((1e-12,1e3)) # tau + bounds.append((0.1,1)) # a + bounds.append((0.1,1)) # b + + x,f_minvalue, info_dict = opt.fmin_l_bfgs_b(mini_func, p0, + fprime=None, + args=(x,y), + approx_grad=True, + bounds=bounds, + iprint=0, + maxfun=4000) + if info_dict['warnflag'] != 0: + print info_dict["task"] + return x + +def fit_anneal(x,y,p0,fixed): + bounds = [(0,1e14), (0,1)] + for i in xrange(len(p0[2:])/4): + bounds.append((1e-4,1e12)) # delta_eps + bounds.append((1e-12,1e3)) # tau + bounds.append((0.1,1)) # a + bounds.append((0.1,1)) # b + ret = opt.anneal(mini_func, p0, + args=(x,y), + maxeval=20000, + maxiter=30000, + lower=[b[0] for b in bounds], + upper=[b[1] for b in bounds], + dwell=100, + full_output=1) + #pmin, func_min, final_Temp, cooling_iters,accepted_tests, retval + #retval : int + #Flag indicating stopping condition:: + + # 0 : Points no longer changing + # 1 : Cooled to final temperature + # 2 : Maximum function evaluations + # 3 : Maximum cooling iterations reached + # 4 : Maximum accepted query locations reached + # 5 : Final point not the minimum amongst encountered points + + print "Stop reason", ret + return ret[0] + + + + +class Conductivity(QObject): + changedData = pyqtSignal() + + def __init__(self, mpl=None): + QObject.__init__(self) + super(Conductivity, self) + self.widget = ConductivityWidget.ConductivityWidget() + self.widget.changedTable.connect(self.updateData) + self.mpl_line = None + self.mpl_line_static = None + self.mpl = mpl + + + def getParameter(self): + p = self.widget.getTable() + return p + + def getFixed(self): + p = self.widget.fixedParameter() + return p + + def setParameter(self, eps_static=None, sigma=None, sigma_N=None): + self.widget.updateTable(eps_static, sigma, sigma_N) + self.updateData() + + def updateData(self): + # get current axis limits + x_min, x_max = self.mpl.canvas.axes.get_xlim() + y_min, y_max = self.mpl.canvas.axes.get_ylim() + + nu = N.logspace(N.log10(x_min), N.log10(x_max), 1024) + eps_static, sigma, sigma_N = self.getParameter() + y = conductivity([sigma, sigma_N],nu) + y_static = N.ones(len(nu))*eps_static + # clip data to axes limits + mask_static = (y_static < y_max) & (y_static > y_min) + # clip data to axes limits + mask = (y < y_max) & (y > y_min) + #mask = mask_static = N.ones(1024, dtype='bool') + if self.mpl_line == None: + self.mpl_line, = self.mpl.canvas.axes.loglog(nu[mask],y[mask],'k--',label="Cond.", animated=True) # peak + else: + self.mpl_line.set_xdata(nu[mask]) + self.mpl_line.set_ydata(y[mask]) + + if self.mpl_line_static == None: + self.mpl_line_static, = self.mpl.canvas.axes.loglog(nu[mask_static], + y_static[mask_static], + 'k:', + label=r"$\epsilon_S$", + animated=True) # peak + else: + self.mpl_line_static.set_xdata(nu[mask_static]) + self.mpl_line_static.set_ydata(y_static[mask_static]) + + self.changedData.emit() + + +class Peak(QObject): + changedData = pyqtSignal() + def __init__(self, id=None, mpl=None): + QObject.__init__(self) + super(Peak, self).__init__() + + self.color = id_to_color(id) + self.widget = PeakWidget.PeakWidget() + self.widget.setId(id) + self.widget.setColor(map(int, [255*i for i in self.color])) + self.widget.changedTable.connect(self.updatePeak) + self.mpl = mpl + self.mpl_line = None + + + def getParameter(self): + p = self.widget.peakParameter() + return p + + def getFixed(self): + p = self.widget.fixedParameter() + return p + + def setParameter(self, delta_eps=None, tau=None, a=None, b=None): + self.widget.updateTable(delta_eps, tau, a, b) + self.updatePeak() + + def updatePeak(self): + # get current axis limits + x_min, x_max = self.mpl.canvas.axes.get_xlim() + y_min, y_max = self.mpl.canvas.axes.get_ylim() + + nu = N.logspace(N.log10(x_min), N.log10(x_max), 2048) + y = hn(self.getParameter(),nu) + # clip data to axes limits + mask = (y < y_max) & (y > y_min) + y = y[mask] + nu = nu[mask] + if self.mpl_line == None: + self.mpl_line, = self.mpl.canvas.axes.loglog(nu,y,'--',label="Peak %i"%(self.widget.id), animated=True) # peak + self.mpl_line.set_color(self.color) + else: + self.mpl_line.set_xdata(nu) + self.mpl_line.set_ydata(y) + self.changedData.emit() + + + +class AppWindow(QMainWindow): + def __init__(self, parent=None): + super(AppWindow, self).__init__(parent) + self.ui = QDSMain.Ui_MainWindow() + self.ui.setupUi(self) + self.picked_artist = None + self.data = None + + + self.Conductivity = None + + self._lines = dict() + + self.peakId = 0 + self.peakBoxes = {} + + ## menubar + fileMenu = self.menuBar().addMenu("File") + openFile = QAction("&Open",self) + openFile.setShortcut(QKeySequence.Open) + openFile.triggered.connect(self.openFile) + fileMenu.addAction(openFile) + # fitting methods + fitMenu = self.menuBar().addMenu("Fit") + # lm + fit_lmAction = QAction("&Levenberg-Marquardt",self) + fitMenu.addAction(fit_lmAction) + # lbfgsb + fit_lbfgsbAction = QAction("&L-BFGS-B",self) + fitMenu.addAction(fit_lbfgsbAction) + # Simulated Annealing + fit_annealAction = QAction("&Simulated Annealing",self) + fitMenu.addAction(fit_annealAction) + + self.signalMapper = QSignalMapper(self) + for i, fit_action in enumerate([fit_lmAction, fit_lbfgsbAction, fit_annealAction + ]): + self.signalMapper.setMapping(fit_action,i) + fit_action.triggered.connect(self.signalMapper.map) + self.signalMapper.mapped.connect(self.fitData) + + # save fitted values + self.ui.actionSave_FitResult.triggered.connect(self.saveFit) + # he plot area, a matplotlib widget + self.mplWidget = PlotWidget(self.ui.mplWidget) + self.mplWidget.canvas.draw() + self.mplWidget.updateGeometry() + + # what to do with CIDs? + self.cid = [] + self.cid.append( self.mplWidget.canvas.mpl_connect("button_press_event", self.onclick) ) + self.cid.append( self.mplWidget.canvas.mpl_connect("pick_event", self.pick) ) + self.cid.append( self.mplWidget.canvas.mpl_connect("button_release_event", self.mpl_button_release) ) + self.mplWidget.toolbar.spanSelectedTrigger.connect(self.set_fit_xlimits) + + def resizeEvent(self,evt): + self.mplWidget.canvas.draw() + self.mplWidget._bg_cache = self.mplWidget.canvas.copy_from_bbox(self.mplWidget.canvas.axes.bbox) + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(False) + self.mplWidget.canvas.draw() + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(True) + + + def saveFit(self): + if not os.path.exists("fitresults.log"): + f = open("fitresults.log","w") + # write header + f.write('# T ') + if self.Conductivity != None: + f.write("e_s sig pow_sig ") + for i,pb in enumerate(self.peakBoxes): + f.write("e_inf_%i tau_%i alpha_%i beta_%i"%(i,i,i,i)) + f.write('\n') + f.flush() + else: + f = open("fitresults.log","a") + #f.write("%3.2f "%(self.data.meta["T"])) + pars = list(self.fitresult) + pars.insert(0,self.data.meta["T"] ) + print pars + N.savetxt(f,N.array([pars,]),fmt="%.5g", delimiter=" ") + f.close() + + def set_fit_xlimits(self,xmin,xmax): + self.data.fit_limits = (xmin, xmax, None,None) + + def mpl_button_release(self,event): + if self.picked_artist: + if not event.inaxes: # moved outside the plot, add back to original position + self.mplWidget.canvas.axes.add_artist(self.picked_artist) + else: # we move one of the three points determinig the peak + self.picked_artist.set_xdata(event.xdata) + self.picked_artist.set_ydata(event.ydata) + self.mplWidget.canvas.axes.add_artist(self.picked_artist) + for peak in self.peakBoxes.keys(): + peak.updatePeak() + self.picked_artist = None + self.mplWidget.canvas.draw_idle() + + def pick(self,event): + self.picked_artist = event.artist + event.artist.remove() + self.mplWidget.canvas.draw_idle() + + def addCond(self, pos): + if self.Conductivity != None: + return + self.statusBar().showMessage("Click on graph") + self.Conductivity = Conductivity(mpl=self.mplWidget) + self.Conductivity.changedData.connect(self.updatePlot) + self.Conductivity.setParameter(0, 1/(pos[0]/pos[1]/2/N.pi), 1.0) + self.ui.scrollAreaWidgetContents.layout().addWidget(self.Conductivity.widget) + self.Conductivity.widget.ui.removeButton.clicked.connect(self.delCond) + + def delCond(self): + self.cond_param = None + self.cond = None + self.Conductivity.mpl_line.remove() + self.Conductivity.mpl_line_static.remove() + del self.Conductivity + self.Conductivity = None + self.updatePlot() + + + def addPeak(self, pos): + self.peakId += 1 + self.statusBar().showMessage("Select Peak Position") + + peak = Peak(id=self.peakId, mpl=self.mplWidget) + # connect to delPeak + peak.widget.ui.removeButton.clicked.connect(self.delPeak) + + peak.setParameter(delta_eps=pos[1], tau=1/(2.*N.pi*pos[0]), a=1, b=1) + + peak.changedData.connect(self.updatePlot) + + self.peakBoxes[peak]=None + for pb in self.peakBoxes.keys(): + self.ui.scrollAreaWidgetContents.layout().addWidget(pb.widget) + self.updatePlot() + + def delPeak(self): + deletePeaks = [] + for i in xrange(self.ui.scrollAreaWidgetContents.layout().count()): + print i + + for i,peak in enumerate(self.peakBoxes.keys()): + if peak.widget.isHidden(): + peak.mpl_line.remove() + deletePeaks.append(peak) + for peak in deletePeaks: + self.peakBoxes.pop(peak) + self.updatePlot() + + def fitData(self, method): + if self.Conductivity != None: + start_parameter = list(self.Conductivity.getParameter()) + fixed_params = [ i for i in self.Conductivity.getFixed() ] + else: + start_parameter = [0,0,1] + fixed_params = [0,0,0] + + for pb in self.peakBoxes.keys(): + [ start_parameter.append(i) for i in pb.getParameter() ] + [ fixed_params.append(i) for i in pb.getFixed() ] + + + fit_methods = [fit_odr, fit_lbfgsb, fit_anneal] + print "StartParameter",start_parameter + print "FixedParameter",fixed_params + print "Limits (xmin, xmax, ymin, ymax)", self.data.fit_limits + _freq, _fit = self.data.get_data() + result = fit_methods[method](_freq, _fit.imag, start_parameter, fixed_params) + self.fitresult = result + for i,pb in enumerate(self.peakBoxes.keys()): + delta_eps, tau, a, b = result[3+i*4:3+(i+1)*4] + pb.setParameter(delta_eps, tau, a, b ) + e_static,sigma, sigma_N = result[:3] + if self.Conductivity != None: + self.Conductivity.setParameter(e_static,sigma,sigma_N) + print "*** FIT RESULTS ***" + print u"\u03c3" + print u"\u0394\u03b5" + self.updatePlot() + + def onclick(self, event): + """ + Handles the clicks on the matplotlib figure canvas + """ + if self.ui.actionAdd_Peak.isChecked(): + x,y = event.xdata,event.ydata + self.addPeak((x,y)) + self.ui.actionAdd_Peak.setChecked(False) + self.statusBar().clear() + if self.ui.actionAdd_Cond.isChecked(): + x,y = event.xdata,event.ydata + self.addCond((x,y)) + self.ui.actionAdd_Cond.setChecked(False) + self.statusBar().clear() + + def openFile(self): + path = unicode(QFileDialog.getOpenFileName(self, "Open file")) + # TODO anaylize file (LF,MF, HF) and act accordingly + data = N.loadtxt(path, skiprows=4) + numpat = re.compile('\d+\.\d+') + try: + for line in open(path).readlines(): + if re.search("Fixed", line) or re.search("Temp", line): + Temp = float(re.search(numpat, line).group()) + print "Temperature found in file:",Temp + break + else: + print "No Temperature found in file" + #Temp = QInputDialog.getDouble(self, "No temperature found in data set","Temperature/K:", value=Temp)[0] + except: + Temp = QInputDialog.getDouble(self, "No temperature found in data set","Temperature/K:", value=0.0)[0] + # mask the data to values > 0 (loglog plot) + mask = (data[:,1]>0) & (data[:,2]>0) #& (data[:,2]>1e-3) & (data[:,0] > 1e-2) + _freq = data[mask,0] + _die_stor = data[mask,1] + _die_loss = data[mask,2] + # clear the figure + self.mplWidget.canvas.axes.clear() + #if self.data != None: + # self.data.remove_curves() + self.data = Data(_freq, _die_stor, _die_loss) + self.data.meta["T"]=Temp + self.data.data_curve, = self.mplWidget.canvas.axes.loglog(self.data.frequency, + self.data.epsilon.imag, + 'b.', + markersize=4, + label="Data", + animated=True) + self.mplWidget.canvas.axes.set_xlim(_freq.min(), _freq.max()) + self.mplWidget.canvas.axes.set_xlabel("frequency/Hz", fontsize=16) + self.mplWidget.canvas.axes.set_ylabel(u'\u03B5"', fontsize=16) + self.mplWidget.canvas.axes.autoscale(True) + self.legend = self.mplWidget.canvas.axes.legend(title="T=%.2f"%Temp) + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(False) + self.mplWidget.canvas.axes.grid() + self.mplWidget.canvas.draw() + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(True) + self.legend.set_animated(True) + self.mplWidget.canvas.axes.autoscale(False) + self.mplWidget._bg_cache = self.mplWidget.canvas.copy_from_bbox(self.mplWidget.canvas.axes.bbox) + self.updatePlot() + + def updatePlot(self): + nu = self.data.frequency + fit = N.zeros(len(nu)) + for peak in self.peakBoxes.keys(): + params = peak.getParameter() + fit += hn(params,nu) + if self.Conductivity != None: + print "Cond. given" + params = self.Conductivity.getParameter()[1:] + fit += conductivity(params, nu) + fit += self.Conductivity.getParameter()[0] # eps static + # clip data to axes limits + y_min, y_max = self.mplWidget.canvas.axes.get_ylim() + mask = (fit < y_max) & (fit > y_min) + #mask = N.ones(len(fit), dtype="bool") + if self.data.fitted_curve == None: + self.data.fitted_curve, = self.mplWidget.canvas.axes.loglog(nu[mask],fit[mask], + 'k-', + alpha=0.5, + label="Sum", + animated=True) + else: + self.data.fitted_curve.set_xdata(nu[mask]) + self.data.fitted_curve.set_ydata(fit[mask]) + # update lines + self.mplWidget.canvas.restore_region(self.mplWidget._bg_cache) + self.legend = self.mplWidget.canvas.axes.legend(title = "T=%.2f"%(self.data.meta["T"]) ) + self.legend.set_animated(True) + for animated_artist in self.mplWidget.canvas.axes.findobj(match=lambda x: x.get_animated()): + #print "updatePlot: animated artist:",animated_artist + self.mplWidget.canvas.axes.draw_artist(animated_artist) + self.mplWidget.canvas.blit( self.mplWidget.canvas.axes.bbox ) + + +class PlotWidget(QWidget): + def __init__(self, parent=None): + QWidget.__init__(self) + super(PlotWidget, self).__init__(parent) + self.mplwidget = MatplotlibWidget.MatplotlibWidget(hold=True, + xlim=(1e-2,1e7), + xscale='log', + yscale='log') + self.canvas = self.mplwidget.figure.canvas # shortcut + self.canvas.axes.grid(True) + self.bbox_size = self.canvas.axes.bbox.size + print "PlotWidget",self.bbox_size + #self.toolbar = NavigationToolbar(self.mplwidget, parent) + self.toolbar = CustomToolbar(self.canvas, self.mplwidget, parent) + layout = QVBoxLayout(parent) + layout.addWidget(self.canvas) + layout.addWidget(self.mplwidget) + layout.addWidget(self.toolbar) + self._bg_cache = None + + + +class CustomToolbar(NavigationToolbar): + # our spanChanged signal + spanSelectedTrigger = pyqtSignal(float, float, name='spanChanged') + def __init__(self, plotCanvas, plotWidget, parent=None): + NavigationToolbar.__init__(self, plotCanvas, plotWidget, coordinates=True) + self.canvas = plotCanvas + # Span select Button + #self.span_button = QAction(QIcon("border-1d-right-icon.png" ), "Span", self) + self.span_button = QAction( QIcon(QPixmap(":/icons/fit_limits.png")), "Span", self) + self.span_button.setCheckable(True) + + self.cids = [] + self.cids.append(self.canvas.mpl_connect('button_press_event', self.press)) + self.cids.append(self.canvas.mpl_connect('motion_notify_event', self.onmove)) + self.cids.append(self.canvas.mpl_connect('button_release_event', self.release)) + self.cids.append(self.canvas.mpl_connect('draw_event', self.update_background)) + + + # act.setCheckable(True) + # add actions before the coordinates widget + self.insertAction(self.actions()[-1], self.span_button) + + self.buttons={} + self._pressed = False + self.background = None + self.span = None + self.istart = 0 + self.iend = 0 + self.xstart = 0 + self.xend = 0 + + def set_span(self,x1,x2): + #trans = blended_transform_factory(self.axes.transData, self.axes.transAxes) + cur = self.span.get_xy() + cur[0,0] = x1 + cur[1,0] = x1 + cur[2,0] = x2 + cur[3,0] = x2 + self.span.set_xy(cur) + + def ignore(self, event): + # 'return ``True`` if *event* should be ignored' + return event.inaxes!=self.canvas.axes or event.button !=1 + + def update_background(self, event): + #if self.canvas.axes is None: + # raise SyntaxError,"Need an axes reference!" + self.background = self.canvas.copy_from_bbox(self.canvas.axes.bbox) + + def press(self, event): + if self.span_button.isChecked(): + if self.background is None: + self.update_background() + else: + self.canvas.restore_region(self.background) + self.xstart = event.xdata + self.istart = event.x + if self.span is None: + self.span = self.canvas.axes.axvspan(event.xdata, event.xdata, alpha = 0.10, color = "k", animated=False) + else: + self.set_span(event.xdata, event.xdata) + self._pressed = True + + def onmove(self,event): + if self.span_button.isChecked() and self._pressed and not self.ignore(event): + self.set_span(self.xstart, event.xdata) + self.update() + + def update(self): + self.canvas.restore_region(self.background) + self.canvas.axes.draw_artist(self.span) + for line in self.canvas.axes.get_lines(): + self.canvas.axes.draw_artist(line) + self.canvas.blit(self.canvas.axes.bbox) + + def release(self,event): + self.span_button.setChecked(False) + self.xend = event.xdata + self.iend = event.x + if self.iend < self.istart: + self.iend,self.istart = self.istart,self.iend + print "released",self.xstart,self.xend + if self._pressed: + if self.ignore(event): + self.istart = 0 + self.spanSelectedTrigger.emit(self.xstart,self.xend) + self._pressed = False + + + +if __name__ == '__main__': + signal.signal(signal.SIGINT, sigint_handler) + app = QApplication(sys.argv) + timer = QTimer() + timer.start(1000) # Check every second for Strg-c on Cmd line + timer.timeout.connect(lambda: None) + main = AppWindow() + main.showMaximized() + main.raise_() + sys.exit(app.exec_()) diff --git a/QDSMain.py b/QDSMain.py new file mode 100644 index 0000000..728a67f --- /dev/null +++ b/QDSMain.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'QDSMain.ui' +# +# Created: Fri Jun 7 16:23:11 2013 +# by: PyQt4 UI code generator 4.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName(_fromUtf8("MainWindow")) + MainWindow.resize(1228, 700) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) + MainWindow.setSizePolicy(sizePolicy) + self.centralwidget = QtGui.QWidget(MainWindow) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth()) + self.centralwidget.setSizePolicy(sizePolicy) + self.centralwidget.setObjectName(_fromUtf8("centralwidget")) + self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget) + self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) + self.horizontalLayout = QtGui.QHBoxLayout() + self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) + self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) + self.mplWidget = QtGui.QWidget(self.centralwidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.mplWidget.sizePolicy().hasHeightForWidth()) + self.mplWidget.setSizePolicy(sizePolicy) + self.mplWidget.setMinimumSize(QtCore.QSize(600, 400)) + self.mplWidget.setObjectName(_fromUtf8("mplWidget")) + self.horizontalLayout.addWidget(self.mplWidget) + self.scrollArea = QtGui.QScrollArea(self.centralwidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth()) + self.scrollArea.setSizePolicy(sizePolicy) + self.scrollArea.setMinimumSize(QtCore.QSize(300, 0)) + self.scrollArea.setMaximumSize(QtCore.QSize(210, 16777215)) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName(_fromUtf8("scrollArea")) + self.scrollAreaWidgetContents = QtGui.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 298, 585)) + self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents")) + self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents) + self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout.addWidget(self.scrollArea) + self.verticalLayout.addLayout(self.horizontalLayout) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtGui.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1228, 22)) + self.menubar.setObjectName(_fromUtf8("menubar")) + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtGui.QStatusBar(MainWindow) + self.statusbar.setObjectName(_fromUtf8("statusbar")) + MainWindow.setStatusBar(self.statusbar) + self.toolBar = QtGui.QToolBar(MainWindow) + self.toolBar.setObjectName(_fromUtf8("toolBar")) + MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar) + self.actionAdd_Peak = QtGui.QAction(MainWindow) + self.actionAdd_Peak.setCheckable(True) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/add_peak.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionAdd_Peak.setIcon(icon) + self.actionAdd_Peak.setObjectName(_fromUtf8("actionAdd_Peak")) + self.actionAdd_Cond = QtGui.QAction(MainWindow) + self.actionAdd_Cond.setCheckable(True) + icon1 = QtGui.QIcon() + icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/add_cond.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionAdd_Cond.setIcon(icon1) + self.actionAdd_Cond.setObjectName(_fromUtf8("actionAdd_Cond")) + self.actionSave_FitResult = QtGui.QAction(MainWindow) + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/save_fit.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionSave_FitResult.setIcon(icon2) + self.actionSave_FitResult.setObjectName(_fromUtf8("actionSave_FitResult")) + self.toolBar.addAction(self.actionAdd_Peak) + self.toolBar.addAction(self.actionAdd_Cond) + self.toolBar.addAction(self.actionSave_FitResult) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None)) + self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None)) + self.actionAdd_Peak.setText(_translate("MainWindow", "Add Peak", None)) + self.actionAdd_Cond.setText(_translate("MainWindow", "Add Cond.", None)) + self.actionAdd_Cond.setToolTip(_translate("MainWindow", "Added Conductivity Term", None)) + self.actionSave_FitResult.setText(_translate("MainWindow", "Save Fit", None)) + self.actionSave_FitResult.setToolTip(_translate("MainWindow", "Save Fit Result", None)) + +import images_rc diff --git a/QDSMain.ui b/QDSMain.ui new file mode 100644 index 0000000..ce69b79 --- /dev/null +++ b/QDSMain.ui @@ -0,0 +1,160 @@ + + + MainWindow + + + + 0 + 0 + 1228 + 700 + + + + + 0 + 0 + + + + MainWindow + + + + + 0 + 0 + + + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + + 600 + 400 + + + + + + + + + 0 + 0 + + + + + 300 + 0 + + + + + 210 + 16777215 + + + + true + + + + + 0 + 0 + 298 + 585 + + + + + + + + + + + + + + 0 + 0 + 1228 + 22 + + + + + + + toolBar + + + TopToolBarArea + + + false + + + + + + + + true + + + + :/icons/add_peak.svg:/icons/add_peak.svg + + + Add Peak + + + + + true + + + + :/icons/add_cond.svg:/icons/add_cond.svg + + + Add Cond. + + + Added Conductivity Term + + + + + + :/icons/save_fit.svg:/icons/save_fit.svg + + + Save Fit + + + Save Fit Result + + + + + + + + diff --git a/data.py b/data.py new file mode 100644 index 0000000..5210900 --- /dev/null +++ b/data.py @@ -0,0 +1,28 @@ +import numpy as N +class Data: + def __init__(self, frequency, die_real, die_imag): + self.frequency = frequency + self.epsilon = die_real +1j *die_imag + self.data_curve = None # mpl object + self.fitted_curve = None # mpl object + self.length = len(frequency) + self.meta = dict() + self.fit_limits = (frequency.min(),frequency.max(),die_imag.min(),die_imag.max()) + + def __del__(self): + self.remove_curves() + + #def set_fit_limits(self, limits=(None,None,None,None)): + def get_data(self): + """ + + """ + mask = N.ones(len(self.frequency),dtype = 'bool') + mask = (self.frequency > self.fit_limits[0]) & (self.frequency < self.fit_limits[1]) + mask &= (self.epsilon.imag > self.fit_limits[2]) & (self.epsilon.imag < self.fit_limits[1]) + return self.frequency[mask], self.epsilon[mask] + + def remove_curves(self): + if self.data_curve is not None: self.data_curve.remove() + if self.fitted_curve is not None: self.fitted_curve.remove() + diff --git a/icons/add_cond.qrc b/icons/add_cond.qrc new file mode 100644 index 0000000..7646d2b --- /dev/null +++ b/icons/add_cond.qrc @@ -0,0 +1 @@ + diff --git a/icons/add_cond.svg b/icons/add_cond.svg new file mode 100644 index 0000000..645fbe7 --- /dev/null +++ b/icons/add_cond.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:11ZArbeitsfläche 1Ebene 1 diff --git a/icons/add_peak.qrc b/icons/add_peak.qrc new file mode 100644 index 0000000..7646d2b --- /dev/null +++ b/icons/add_peak.qrc @@ -0,0 +1 @@ + diff --git a/icons/add_peak.svg b/icons/add_peak.svg new file mode 100644 index 0000000..be241e2 --- /dev/null +++ b/icons/add_peak.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:11ZArbeitsfläche 1Ebene 1 diff --git a/icons/border-1d-left-icon.png b/icons/border-1d-left-icon.png new file mode 100644 index 0000000..26ab3be Binary files /dev/null and b/icons/border-1d-left-icon.png differ diff --git a/icons/border-1d-right-icon.png b/icons/border-1d-right-icon.png new file mode 100644 index 0000000..5c731ef Binary files /dev/null and b/icons/border-1d-right-icon.png differ diff --git a/icons/fit_limits.png b/icons/fit_limits.png new file mode 100644 index 0000000..e2b5934 Binary files /dev/null and b/icons/fit_limits.png differ diff --git a/icons/fit_limits.qrc b/icons/fit_limits.qrc new file mode 100644 index 0000000..7646d2b --- /dev/null +++ b/icons/fit_limits.qrc @@ -0,0 +1 @@ + diff --git a/icons/fit_limits.svg b/icons/fit_limits.svg new file mode 100644 index 0000000..b1b67c9 --- /dev/null +++ b/icons/fit_limits.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:15ZArbeitsfläche 1Ebene 1 diff --git a/icons/images.qrc b/icons/images.qrc new file mode 100644 index 0000000..f972c43 --- /dev/null +++ b/icons/images.qrc @@ -0,0 +1,8 @@ + + + add_cond.svg + add_peak.svg + save_fit.svg + fit_limits.png + + diff --git a/icons/qds_icons.graffle b/icons/qds_icons.graffle new file mode 100644 index 0000000..ed2ae80 --- /dev/null +++ b/icons/qds_icons.graffle @@ -0,0 +1,619 @@ + + + + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-03-01 13:57:03 +0100 + Creator + Markus Rosenstihl + DisplayScale + 1 cm = 1 cm + GraphDocumentVersion + 5 + GraphicsList + + + Class + Group + Graphics + + + Bounds + {{131.911, 426.89}, {93, 55}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Verdana + Size + 20 + + ID + 709 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs88 \cf0 FIT} + + Wrap + NO + + + Bounds + {{192.584, 382.677}, {42.5197, 42.5197}} + Class + ShapedGraphic + ID + 710 + Shape + Cross + Style + + fill + + Color + + b + 0 + g + 0.792157 + r + 0.992157 + + + + + + Bounds + {{113.386, 368.504}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 711 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 708 + + + Class + Group + Graphics + + + Class + LineGraphic + Head + + ID + 714 + Position + 0.48592239618301392 + + ID + 713 + Points + + {353.331, 255.921} + {438.37, 253.921} + + Style + + shadow + + Draws + YES + + stroke + + Color + + b + 0.662745 + g + 0.352941 + r + 0 + + HeadArrow + FilledArrow + HeadScale + 0.5 + TailArrow + FilledArrow + TailScale + 0.5 + Width + 10 + + + Tail + + ID + 715 + Position + 0.50944459438323975 + + + + Class + LineGraphic + ID + 714 + Points + + {438.37, 212.598} + {438.37, 297.638} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 3 + + + + + Class + LineGraphic + ID + 715 + Points + + {353.331, 212.598} + {353.331, 297.637} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 3 + + + + + Bounds + {{331.326, 191.117}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 716 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 712 + + + Class + Group + Graphics + + + Bounds + {{192.584, 212.156}, {42.5197, 42.5197}} + Class + ShapedGraphic + ID + 29 + Shape + Cross + Style + + fill + + Color + + b + 0 + g + 0.792157 + r + 0.992157 + + + + + + Class + LineGraphic + ID + 30 + Points + + {135.891, 226.329} + {220.93, 297.196} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 9 + + + + + Bounds + {{113.386, 197.983}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 31 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 28 + + + Class + Group + Graphics + + + Bounds + {{192.584, 56.6929}, {42.5197, 42.5197}} + Class + ShapedGraphic + ID + 25 + Shape + Cross + Style + + fill + + Color + + b + 0 + g + 0.792157 + r + 0.992157 + + + + + + Class + LineGraphic + ID + 26 + Points + + {135.891, 141.732} + {178.41, 85.0394} + {220.93, 141.732} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 9 + + + + + Bounds + {{113.386, 42.5197}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 27 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 24 + + + GridInfo + + GridSpacing + 14.17322826385498 + MajorGridSpacing + 10 + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Ebene 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + MasterSheet + Master 1 + MasterSheets + + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 cm = 1 cm + GraphicsList + + GridInfo + + GridSpacing + 14.17322826385498 + MajorGridSpacing + 10 + + HPages + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Orientation + 2 + OutlineStyle + Basic + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Master 1 + UniqueID + 1 + VPages + 1 + + + ModificationDate + 2013-03-18 08:56:23 +0100 + Modifier + Markus Rosenstihl + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + OutlineStyle + Basic + PageBreaks + YES + PrintInfo + + NSBottomMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSLeftMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSPaperSize + + size + {595, 842} + + NSRightMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSTopMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Arbeitsfläche 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + DrawerOpen + + DrawerTab + Outline + DrawerWidth + 209 + FitInWindow + + Frame + {{375, 89}, {888, 789}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{-151, 0}, {873, 684}} + Zoom + 1 + + + diff --git a/icons/qds_icons.svg b/icons/qds_icons.svg new file mode 100644 index 0000000..bcaaaf9 --- /dev/null +++ b/icons/qds_icons.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:07ZArbeitsfläche 1Ebene 1 diff --git a/icons/save_fit.png b/icons/save_fit.png new file mode 100644 index 0000000..e8000c1 Binary files /dev/null and b/icons/save_fit.png differ diff --git a/icons/save_fit.qrc b/icons/save_fit.qrc new file mode 100644 index 0000000..7646d2b --- /dev/null +++ b/icons/save_fit.qrc @@ -0,0 +1 @@ + diff --git a/icons/save_fit.svg b/icons/save_fit.svg new file mode 100644 index 0000000..5c0e2fb --- /dev/null +++ b/icons/save_fit.svg @@ -0,0 +1,6 @@ + + +2013-03-13 14:15ZArbeitsfläche 1Ebene 1FIT diff --git a/images_rc.py b/images_rc.py new file mode 100644 index 0000000..502f83e --- /dev/null +++ b/images_rc.py @@ -0,0 +1,1905 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created: Fr. Jun 7 16:23:11 2013 +# by: The Resource Compiler for PyQt (Qt v4.8.4) +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore + +qt_resource_data = "\ +\x00\x00\x08\xa3\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\ +\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\ +\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\ +\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\ +\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\ +\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\ +\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\ +\x22\x31\x2e\x31\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x31\ +\x30\x32\x20\x31\x39\x31\x20\x31\x35\x32\x20\x31\x35\x30\x22\x20\ +\x77\x69\x64\x74\x68\x3d\x22\x31\x35\x32\x70\x74\x22\x20\x68\x65\ +\x69\x67\x68\x74\x3d\x22\x31\x35\x30\x70\x74\x22\x3e\x3c\x6d\x65\ +\x74\x61\x64\x61\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\ +\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\ +\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\ +\x2f\x22\x3e\x3c\x64\x63\x3a\x64\x61\x74\x65\x3e\x32\x30\x31\x33\ +\x2d\x30\x33\x2d\x30\x31\x20\x31\x33\x3a\x31\x31\x5a\x3c\x2f\x64\ +\x63\x3a\x64\x61\x74\x65\x3e\x3c\x21\x2d\x2d\x20\x50\x72\x6f\x64\ +\x75\x63\x65\x64\x20\x62\x79\x20\x4f\x6d\x6e\x69\x47\x72\x61\x66\ +\x66\x6c\x65\x20\x50\x72\x6f\x66\x65\x73\x73\x69\x6f\x6e\x61\x6c\ +\x20\x34\x2e\x31\x2e\x32\x20\x2d\x2d\x3e\x3c\x2f\x6d\x65\x74\x61\ +\x64\x61\x74\x61\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x2f\x64\x65\x66\ +\x73\x3e\x3c\x67\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x6e\x6f\x6e\ +\x65\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\ +\x79\x3d\x22\x31\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\ +\x68\x61\x72\x72\x61\x79\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\ +\x6c\x6c\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\x6c\x6c\x2d\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x41\x72\x62\x65\x69\x74\x73\x66\x6c\xc3\xa4\x63\x68\x65\ +\x20\x31\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x67\x3e\x3c\x74\x69\ +\x74\x6c\x65\x3e\x45\x62\x65\x6e\x65\x20\x31\x3c\x2f\x74\x69\x74\ +\x6c\x65\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\ +\x38\x2e\x34\x31\x30\x33\x34\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x31\x39\ +\x37\x2e\x39\x38\x33\x32\x36\x20\x43\x20\x32\x33\x36\x2e\x32\x37\ +\x31\x34\x31\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x32\x34\ +\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x30\x35\x2e\x31\x34\x36\x37\ +\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x31\x33\x2e\x39\ +\x38\x33\x32\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\ +\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x43\x20\x32\x34\x33\ +\x2e\x34\x33\x34\x38\x34\x20\x33\x31\x38\x2e\x38\x32\x30\x38\x20\ +\x32\x33\x36\x2e\x32\x37\x31\x34\x31\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x33\x32\ +\x35\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\x32\x39\x2e\x33\x38\ +\x35\x38\x33\x20\x33\x32\x35\x2e\x39\x38\x34\x32\x35\x20\x43\x20\ +\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x33\ +\x31\x38\x2e\x38\x32\x30\x38\x20\x31\x31\x33\x2e\x33\x38\x35\x38\ +\x33\x34\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\ +\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x32\x31\x33\x2e\x39\x38\ +\x33\x32\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\ +\x20\x32\x30\x35\x2e\x31\x34\x36\x37\x20\x31\x32\x30\x2e\x35\x34\ +\x39\x32\x38\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x31\x32\ +\x39\x2e\x33\x38\x35\x38\x33\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x5a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x57\x68\x69\x74\x65\ +\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\ +\x38\x2e\x34\x31\x30\x33\x34\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x31\x39\ +\x37\x2e\x39\x38\x33\x32\x36\x20\x43\x20\x32\x33\x36\x2e\x32\x37\ +\x31\x34\x31\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x32\x34\ +\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x30\x35\x2e\x31\x34\x36\x37\ +\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x31\x33\x2e\x39\ +\x38\x33\x32\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\ +\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x43\x20\x32\x34\x33\ +\x2e\x34\x33\x34\x38\x34\x20\x33\x31\x38\x2e\x38\x32\x30\x38\x20\ +\x32\x33\x36\x2e\x32\x37\x31\x34\x31\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x33\x32\ +\x35\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\x32\x39\x2e\x33\x38\ +\x35\x38\x33\x20\x33\x32\x35\x2e\x39\x38\x34\x32\x35\x20\x43\x20\ +\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x33\ +\x31\x38\x2e\x38\x32\x30\x38\x20\x31\x31\x33\x2e\x33\x38\x35\x38\ +\x33\x34\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\ +\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x32\x31\x33\x2e\x39\x38\ +\x33\x32\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\ +\x20\x32\x30\x35\x2e\x31\x34\x36\x37\x20\x31\x32\x30\x2e\x35\x34\ +\x39\x32\x38\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x31\x32\ +\x39\x2e\x33\x38\x35\x38\x33\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\ +\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\ +\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\ +\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\ +\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\ +\x22\x31\x22\x2f\x3e\x3c\x6c\x69\x6e\x65\x20\x78\x31\x3d\x22\x31\ +\x33\x35\x2e\x38\x39\x30\x38\x35\x22\x20\x79\x31\x3d\x22\x32\x32\ +\x36\x2e\x33\x32\x39\x34\x32\x22\x20\x78\x32\x3d\x22\x32\x32\x30\ +\x2e\x39\x32\x39\x38\x34\x22\x20\x79\x32\x3d\x22\x32\x39\x37\x2e\ +\x31\x39\x35\x35\x36\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\ +\x6c\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\ +\x65\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\ +\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\ +\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\ +\x68\x3d\x22\x39\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\ +\x4d\x20\x31\x39\x32\x2e\x35\x38\x33\x38\x33\x20\x32\x32\x36\x2e\ +\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\ +\x20\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x30\x36\ +\x2e\x37\x35\x39\x39\x20\x32\x31\x32\x2e\x31\x35\x36\x35\x20\x4c\ +\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x31\x32\x2e\x31\ +\x35\x36\x35\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\ +\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x33\x35\x2e\ +\x31\x30\x33\x35\x35\x20\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\ +\x4c\x20\x32\x33\x35\x2e\x31\x30\x33\x35\x35\x20\x32\x34\x30\x2e\ +\x35\x30\x30\x31\x34\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\ +\x37\x20\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x32\x32\ +\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x35\x34\x2e\x36\x37\x36\x32\ +\x31\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\x32\x35\x34\ +\x2e\x36\x37\x36\x32\x31\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\ +\x39\x20\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x31\x39\ +\x32\x2e\x35\x38\x33\x38\x33\x20\x32\x34\x30\x2e\x35\x30\x30\x31\ +\x34\x20\x5a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x66\x64\x63\x61\ +\x30\x30\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\ +\x31\x39\x32\x2e\x35\x38\x33\x38\x33\x20\x32\x32\x36\x2e\x33\x33\ +\x32\x35\x37\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\x32\ +\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x30\x36\x2e\x37\ +\x35\x39\x39\x20\x32\x31\x32\x2e\x31\x35\x36\x35\x20\x4c\x20\x32\ +\x32\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x31\x32\x2e\x31\x35\x36\ +\x35\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x32\ +\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x33\x35\x2e\x31\x30\ +\x33\x35\x35\x20\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\ +\x32\x33\x35\x2e\x31\x30\x33\x35\x35\x20\x32\x34\x30\x2e\x35\x30\ +\x30\x31\x34\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\ +\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x32\x32\x30\x2e\ +\x39\x32\x37\x34\x37\x20\x32\x35\x34\x2e\x36\x37\x36\x32\x31\x20\ +\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\x32\x35\x34\x2e\x36\ +\x37\x36\x32\x31\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\ +\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x31\x39\x32\x2e\ +\x35\x38\x33\x38\x33\x20\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\ +\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\x63\x6b\ +\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\ +\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\ +\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\ +\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\ +\x3e\x0a\ +\x00\x00\x08\xfb\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\ +\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\ +\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\ +\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\ +\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\ +\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\ +\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\ +\x22\x31\x2e\x31\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x31\ +\x30\x32\x20\x33\x36\x20\x31\x35\x32\x20\x31\x35\x30\x22\x20\x77\ +\x69\x64\x74\x68\x3d\x22\x31\x35\x32\x70\x74\x22\x20\x68\x65\x69\ +\x67\x68\x74\x3d\x22\x31\x35\x30\x70\x74\x22\x3e\x3c\x6d\x65\x74\ +\x61\x64\x61\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\ +\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\ +\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\ +\x22\x3e\x3c\x64\x63\x3a\x64\x61\x74\x65\x3e\x32\x30\x31\x33\x2d\ +\x30\x33\x2d\x30\x31\x20\x31\x33\x3a\x31\x31\x5a\x3c\x2f\x64\x63\ +\x3a\x64\x61\x74\x65\x3e\x3c\x21\x2d\x2d\x20\x50\x72\x6f\x64\x75\ +\x63\x65\x64\x20\x62\x79\x20\x4f\x6d\x6e\x69\x47\x72\x61\x66\x66\ +\x6c\x65\x20\x50\x72\x6f\x66\x65\x73\x73\x69\x6f\x6e\x61\x6c\x20\ +\x34\x2e\x31\x2e\x32\x20\x2d\x2d\x3e\x3c\x2f\x6d\x65\x74\x61\x64\ +\x61\x74\x61\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x2f\x64\x65\x66\x73\ +\x3e\x3c\x67\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x6e\x6f\x6e\x65\ +\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\ +\x3d\x22\x31\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\ +\x61\x72\x72\x61\x79\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\x6c\ +\x6c\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\x6c\x6c\x2d\x6f\x70\ +\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x3e\x3c\x74\x69\x74\x6c\x65\ +\x3e\x41\x72\x62\x65\x69\x74\x73\x66\x6c\xc3\xa4\x63\x68\x65\x20\ +\x31\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x67\x3e\x3c\x74\x69\x74\ +\x6c\x65\x3e\x45\x62\x65\x6e\x65\x20\x31\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\x38\ +\x2e\x34\x31\x30\x34\x36\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\ +\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\x34\x32\x2e\ +\x35\x31\x39\x36\x37\x36\x20\x43\x20\x32\x33\x36\x2e\x32\x37\x31\ +\x36\x35\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x32\x34\x33\ +\x2e\x34\x33\x35\x30\x39\x20\x34\x39\x2e\x36\x38\x33\x31\x32\x20\ +\x32\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x35\x38\x2e\x35\x31\x39\ +\x36\x37\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x35\x30\x39\x20\ +\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\x43\x20\x32\x34\x33\ +\x2e\x34\x33\x35\x30\x39\x20\x31\x36\x33\x2e\x33\x35\x37\x35\x20\ +\x32\x33\x36\x2e\x32\x37\x31\x36\x35\x20\x31\x37\x30\x2e\x35\x32\ +\x30\x39\x34\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\x31\x37\ +\x30\x2e\x35\x32\x30\x39\x34\x20\x4c\x20\x31\x32\x39\x2e\x33\x38\ +\x35\x38\x33\x20\x31\x37\x30\x2e\x35\x32\x30\x39\x34\x20\x43\x20\ +\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x31\x37\x30\x2e\x35\x32\ +\x30\x39\x34\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x31\ +\x36\x33\x2e\x33\x35\x37\x35\x20\x31\x31\x33\x2e\x33\x38\x35\x38\ +\x33\x34\x20\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\x4c\x20\ +\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x35\x38\x2e\x35\x31\ +\x39\x36\x37\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\ +\x34\x20\x34\x39\x2e\x36\x38\x33\x31\x32\x20\x31\x32\x30\x2e\x35\ +\x34\x39\x32\x38\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x31\ +\x32\x39\x2e\x33\x38\x35\x38\x33\x20\x34\x32\x2e\x35\x31\x39\x36\ +\x37\x36\x20\x5a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x57\x68\x69\x74\ +\x65\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\ +\x37\x38\x2e\x34\x31\x30\x34\x36\x20\x34\x32\x2e\x35\x31\x39\x36\ +\x37\x36\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\x34\ +\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x43\x20\x32\x33\x36\x2e\x32\ +\x37\x31\x36\x35\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x32\ +\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x34\x39\x2e\x36\x38\x33\x31\ +\x32\x20\x32\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x35\x38\x2e\x35\ +\x31\x39\x36\x37\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x35\x30\ +\x39\x20\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\x43\x20\x32\ +\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x31\x36\x33\x2e\x33\x35\x37\ +\x35\x20\x32\x33\x36\x2e\x32\x37\x31\x36\x35\x20\x31\x37\x30\x2e\ +\x35\x32\x30\x39\x34\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\ +\x31\x37\x30\x2e\x35\x32\x30\x39\x34\x20\x4c\x20\x31\x32\x39\x2e\ +\x33\x38\x35\x38\x33\x20\x31\x37\x30\x2e\x35\x32\x30\x39\x34\x20\ +\x43\x20\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x31\x37\x30\x2e\ +\x35\x32\x30\x39\x34\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\ +\x20\x31\x36\x33\x2e\x33\x35\x37\x35\x20\x31\x31\x33\x2e\x33\x38\ +\x35\x38\x33\x34\x20\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\ +\x4c\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x35\x38\x2e\ +\x35\x31\x39\x36\x37\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\ +\x38\x33\x34\x20\x34\x39\x2e\x36\x38\x33\x31\x32\x20\x31\x32\x30\ +\x2e\x35\x34\x39\x32\x38\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\ +\x20\x31\x32\x39\x2e\x33\x38\x35\x38\x33\x20\x34\x32\x2e\x35\x31\ +\x39\x36\x37\x36\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\ +\x42\x6c\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\ +\x6e\x65\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\ +\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\ +\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\ +\x74\x68\x3d\x22\x31\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\ +\x22\x4d\x20\x31\x33\x35\x2e\x38\x39\x30\x37\x35\x20\x31\x34\x31\ +\x2e\x37\x33\x32\x32\x37\x20\x43\x20\x31\x35\x30\x2e\x30\x36\x32\ +\x35\x36\x20\x31\x32\x32\x2e\x38\x33\x36\x35\x32\x20\x31\x36\x34\ +\x2e\x32\x33\x38\x36\x32\x20\x38\x35\x2e\x30\x33\x39\x33\x35\x20\ +\x31\x37\x38\x2e\x34\x31\x30\x34\x33\x20\x38\x35\x2e\x30\x33\x39\ +\x33\x35\x20\x43\x20\x31\x39\x32\x2e\x35\x38\x32\x32\x34\x20\x38\ +\x35\x2e\x30\x33\x39\x33\x35\x20\x32\x30\x36\x2e\x37\x35\x38\x33\ +\x20\x31\x32\x32\x2e\x38\x33\x36\x35\x32\x20\x32\x32\x30\x2e\x39\ +\x33\x30\x31\x20\x31\x34\x31\x2e\x37\x33\x32\x32\x37\x22\x20\x73\ +\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\x63\x6b\x22\x20\x73\x74\ +\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x22\x72\x6f\ +\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\ +\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\ +\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x39\x22\x2f\x3e\x3c\ +\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x39\x32\x2e\x35\x38\ +\x33\x35\x39\x20\x37\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\ +\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x37\x30\x2e\x38\x36\x38\ +\x39\x35\x38\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\ +\x35\x36\x2e\x36\x39\x32\x38\x39\x34\x20\x4c\x20\x32\x32\x30\x2e\ +\x39\x32\x37\x32\x33\x20\x35\x36\x2e\x36\x39\x32\x38\x39\x34\x20\ +\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x37\x30\x2e\x38\ +\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x33\x35\x2e\x31\x30\x33\x33\ +\x20\x37\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x33\x35\ +\x2e\x31\x30\x33\x33\x20\x38\x35\x2e\x30\x33\x36\x35\x33\x20\x4c\ +\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x38\x35\x2e\x30\x33\ +\x36\x35\x33\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\ +\x39\x39\x2e\x32\x31\x32\x35\x39\x33\x20\x4c\x20\x32\x30\x36\x2e\ +\x37\x35\x39\x36\x36\x20\x39\x39\x2e\x32\x31\x32\x35\x39\x33\x20\ +\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x38\x35\x2e\x30\ +\x33\x36\x35\x33\x20\x4c\x20\x31\x39\x32\x2e\x35\x38\x33\x35\x39\ +\x20\x38\x35\x2e\x30\x33\x36\x35\x33\x20\x5a\x22\x20\x66\x69\x6c\ +\x6c\x3d\x22\x23\x66\x64\x63\x61\x30\x30\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x39\x32\x2e\x35\x38\x33\x35\ +\x39\x20\x37\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x30\ +\x36\x2e\x37\x35\x39\x36\x36\x20\x37\x30\x2e\x38\x36\x38\x39\x35\ +\x38\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x35\x36\ +\x2e\x36\x39\x32\x38\x39\x34\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\ +\x37\x32\x33\x20\x35\x36\x2e\x36\x39\x32\x38\x39\x34\x20\x4c\x20\ +\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x37\x30\x2e\x38\x36\x38\ +\x39\x35\x38\x20\x4c\x20\x32\x33\x35\x2e\x31\x30\x33\x33\x20\x37\ +\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x33\x35\x2e\x31\ +\x30\x33\x33\x20\x38\x35\x2e\x30\x33\x36\x35\x33\x20\x4c\x20\x32\ +\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x38\x35\x2e\x30\x33\x36\x35\ +\x33\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x39\x39\ +\x2e\x32\x31\x32\x35\x39\x33\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\ +\x39\x36\x36\x20\x39\x39\x2e\x32\x31\x32\x35\x39\x33\x20\x4c\x20\ +\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x38\x35\x2e\x30\x33\x36\ +\x35\x33\x20\x4c\x20\x31\x39\x32\x2e\x35\x38\x33\x35\x39\x20\x38\ +\x35\x2e\x30\x33\x36\x35\x33\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\ +\x65\x3d\x22\x42\x6c\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\ +\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\ +\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\ +\x77\x69\x64\x74\x68\x3d\x22\x31\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x0a\x4b\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\ +\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\ +\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\ +\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\ +\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\ +\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\ +\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\ +\x22\x31\x2e\x31\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x38\ +\x34\x20\x33\x36\x32\x20\x31\x35\x32\x20\x31\x35\x30\x22\x20\x77\ +\x69\x64\x74\x68\x3d\x22\x31\x35\x32\x70\x74\x22\x20\x68\x65\x69\ +\x67\x68\x74\x3d\x22\x31\x35\x30\x70\x74\x22\x3e\x3c\x6d\x65\x74\ +\x61\x64\x61\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\ +\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\ +\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\ +\x22\x3e\x3c\x64\x63\x3a\x64\x61\x74\x65\x3e\x32\x30\x31\x33\x2d\ +\x30\x33\x2d\x31\x33\x20\x31\x34\x3a\x31\x35\x5a\x3c\x2f\x64\x63\ +\x3a\x64\x61\x74\x65\x3e\x3c\x21\x2d\x2d\x20\x50\x72\x6f\x64\x75\ +\x63\x65\x64\x20\x62\x79\x20\x4f\x6d\x6e\x69\x47\x72\x61\x66\x66\ +\x6c\x65\x20\x50\x72\x6f\x66\x65\x73\x73\x69\x6f\x6e\x61\x6c\x20\ +\x34\x2e\x31\x2e\x32\x20\x2d\x2d\x3e\x3c\x2f\x6d\x65\x74\x61\x64\ +\x61\x74\x61\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x66\x6f\x6e\x74\x2d\ +\x66\x61\x63\x65\x20\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3d\x22\ +\x34\x34\x70\x74\x22\x20\x75\x6e\x69\x74\x73\x2d\x70\x65\x72\x2d\ +\x65\x6d\x3d\x22\x31\x30\x30\x30\x22\x20\x75\x6e\x64\x65\x72\x6c\ +\x69\x6e\x65\x2d\x70\x6f\x73\x69\x74\x69\x6f\x6e\x3d\x22\x2d\x36\ +\x37\x2e\x38\x37\x31\x30\x39\x34\x22\x20\x75\x6e\x64\x65\x72\x6c\ +\x69\x6e\x65\x2d\x74\x68\x69\x63\x6b\x6e\x65\x73\x73\x3d\x22\x31\ +\x30\x33\x2e\x30\x32\x37\x33\x34\x34\x22\x20\x73\x6c\x6f\x70\x65\ +\x3d\x22\x30\x22\x20\x78\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x35\ +\x35\x36\x2e\x38\x31\x38\x31\x38\x22\x20\x63\x61\x70\x2d\x68\x65\ +\x69\x67\x68\x74\x3d\x22\x37\x33\x38\x2e\x36\x33\x36\x33\x35\x22\ +\x20\x61\x73\x63\x65\x6e\x74\x3d\x22\x31\x30\x30\x35\x2e\x33\x37\ +\x31\x30\x33\x22\x20\x64\x65\x73\x63\x65\x6e\x74\x3d\x22\x2d\x32\ +\x30\x39\x2e\x39\x36\x30\x39\x34\x22\x20\x66\x6f\x6e\x74\x2d\x77\ +\x65\x69\x67\x68\x74\x3d\x22\x62\x6f\x6c\x64\x22\x3e\x3c\x21\x2d\ +\x2d\x7b\x0a\x20\x20\x20\x20\x4e\x53\x46\x6f\x6e\x74\x4e\x61\x6d\ +\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x20\x3d\x20\x22\x56\x65\ +\x72\x64\x61\x6e\x61\x2d\x42\x6f\x6c\x64\x22\x3b\x0a\x20\x20\x20\ +\x20\x4e\x53\x46\x6f\x6e\x74\x53\x69\x7a\x65\x41\x74\x74\x72\x69\ +\x62\x75\x74\x65\x20\x3d\x20\x34\x34\x3b\x0a\x7d\x2d\x2d\x3e\x3c\ +\x66\x6f\x6e\x74\x2d\x66\x61\x63\x65\x2d\x73\x72\x63\x3e\x3c\x66\ +\x6f\x6e\x74\x2d\x66\x61\x63\x65\x2d\x6e\x61\x6d\x65\x20\x6e\x61\ +\x6d\x65\x3d\x22\x56\x65\x72\x64\x61\x6e\x61\x2d\x42\x6f\x6c\x64\ +\x22\x2f\x3e\x3c\x2f\x66\x6f\x6e\x74\x2d\x66\x61\x63\x65\x2d\x73\ +\x72\x63\x3e\x3c\x2f\x66\x6f\x6e\x74\x2d\x66\x61\x63\x65\x3e\x3c\ +\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x73\x74\x72\x6f\x6b\x65\x3d\ +\x22\x6e\x6f\x6e\x65\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\ +\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x20\x73\x74\x72\x6f\x6b\x65\ +\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3d\x22\x6e\x6f\x6e\x65\ +\x22\x20\x66\x69\x6c\x6c\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\ +\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x3e\x3c\ +\x74\x69\x74\x6c\x65\x3e\x41\x72\x62\x65\x69\x74\x73\x66\x6c\xc3\ +\xa4\x63\x68\x65\x20\x31\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x72\ +\x65\x63\x74\x20\x66\x69\x6c\x6c\x3d\x22\x57\x68\x69\x74\x65\x22\ +\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x37\x31\x22\x20\x68\x65\x69\ +\x67\x68\x74\x3d\x22\x38\x32\x32\x22\x2f\x3e\x3c\x67\x3e\x3c\x74\ +\x69\x74\x6c\x65\x3e\x45\x62\x65\x6e\x65\x20\x31\x3c\x2f\x74\x69\ +\x74\x6c\x65\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\ +\x35\x39\x2e\x38\x38\x35\x39\x39\x20\x33\x36\x38\x2e\x35\x30\x34\ +\x30\x33\x20\x4c\x20\x32\x30\x38\x2e\x39\x31\x30\x34\x39\x20\x33\ +\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x43\x20\x32\x31\x37\x2e\x37\ +\x34\x37\x30\x36\x20\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x32\ +\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x33\x37\x35\x2e\x36\x36\x37\ +\x34\x38\x20\x32\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x33\x38\x34\ +\x2e\x35\x30\x34\x30\x33\x20\x4c\x20\x32\x32\x34\x2e\x39\x31\x30\ +\x34\x39\x20\x34\x38\x30\x2e\x35\x30\x35\x20\x43\x20\x32\x32\x34\ +\x2e\x39\x31\x30\x34\x39\x20\x34\x38\x39\x2e\x33\x34\x31\x35\x35\ +\x20\x32\x31\x37\x2e\x37\x34\x37\x30\x36\x20\x34\x39\x36\x2e\x35\ +\x30\x35\x20\x32\x30\x38\x2e\x39\x31\x30\x34\x39\x20\x34\x39\x36\ +\x2e\x35\x30\x35\x20\x4c\x20\x31\x31\x30\x2e\x38\x36\x31\x35\x30\ +\x34\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x43\x20\x31\x30\x32\x2e\ +\x30\x32\x34\x39\x35\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x39\x34\ +\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x38\x39\x2e\x33\x34\x31\x35\ +\x35\x20\x39\x34\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x38\x30\x2e\ +\x35\x30\x35\x20\x4c\x20\x39\x34\x2e\x38\x36\x31\x34\x39\x36\x20\ +\x33\x38\x34\x2e\x35\x30\x34\x30\x33\x20\x43\x20\x39\x34\x2e\x38\ +\x36\x31\x34\x39\x36\x20\x33\x37\x35\x2e\x36\x36\x37\x34\x38\x20\ +\x31\x30\x32\x2e\x30\x32\x34\x39\x34\x20\x33\x36\x38\x2e\x35\x30\ +\x34\x30\x33\x20\x31\x31\x30\x2e\x38\x36\x31\x34\x39\x36\x20\x33\ +\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x5a\x22\x20\x66\x69\x6c\x6c\ +\x3d\x22\x57\x68\x69\x74\x65\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ +\x64\x3d\x22\x4d\x20\x31\x35\x39\x2e\x38\x38\x35\x39\x39\x20\x33\ +\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x4c\x20\x32\x30\x38\x2e\x39\ +\x31\x30\x34\x39\x20\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x43\ +\x20\x32\x31\x37\x2e\x37\x34\x37\x30\x36\x20\x33\x36\x38\x2e\x35\ +\x30\x34\x30\x33\x20\x32\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x33\ +\x37\x35\x2e\x36\x36\x37\x34\x38\x20\x32\x32\x34\x2e\x39\x31\x30\ +\x34\x39\x20\x33\x38\x34\x2e\x35\x30\x34\x30\x33\x20\x4c\x20\x32\ +\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x34\x38\x30\x2e\x35\x30\x35\ +\x20\x43\x20\x32\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x34\x38\x39\ +\x2e\x33\x34\x31\x35\x35\x20\x32\x31\x37\x2e\x37\x34\x37\x30\x36\ +\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x32\x30\x38\x2e\x39\x31\x30\ +\x34\x39\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x4c\x20\x31\x31\x30\ +\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x39\x36\x2e\x35\x30\x35\x20\ +\x43\x20\x31\x30\x32\x2e\x30\x32\x34\x39\x35\x20\x34\x39\x36\x2e\ +\x35\x30\x35\x20\x39\x34\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x38\ +\x39\x2e\x33\x34\x31\x35\x35\x20\x39\x34\x2e\x38\x36\x31\x35\x30\ +\x34\x20\x34\x38\x30\x2e\x35\x30\x35\x20\x4c\x20\x39\x34\x2e\x38\ +\x36\x31\x34\x39\x36\x20\x33\x38\x34\x2e\x35\x30\x34\x30\x33\x20\ +\x43\x20\x39\x34\x2e\x38\x36\x31\x34\x39\x36\x20\x33\x37\x35\x2e\ +\x36\x36\x37\x34\x38\x20\x31\x30\x32\x2e\x30\x32\x34\x39\x34\x20\ +\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x31\x31\x30\x2e\x38\x36\ +\x31\x34\x39\x36\x20\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x5a\ +\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\x63\x6b\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\ +\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\ +\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\ +\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x22\ +\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\x34\ +\x2e\x30\x35\x38\x39\x39\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\ +\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x33\x39\x36\x2e\ +\x38\x35\x33\x31\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\ +\x20\x33\x38\x32\x2e\x36\x37\x37\x20\x4c\x20\x32\x30\x32\x2e\x34\ +\x30\x32\x36\x33\x20\x33\x38\x32\x2e\x36\x37\x37\x20\x4c\x20\x32\ +\x30\x32\x2e\x34\x30\x32\x36\x33\x20\x33\x39\x36\x2e\x38\x35\x33\ +\x31\x20\x4c\x20\x32\x31\x36\x2e\x35\x37\x38\x37\x20\x33\x39\x36\ +\x2e\x38\x35\x33\x31\x20\x4c\x20\x32\x31\x36\x2e\x35\x37\x38\x37\ +\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x4c\x20\x32\x30\x32\ +\x2e\x34\x30\x32\x36\x33\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\ +\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\x36\x33\x20\x34\x32\x35\ +\x2e\x31\x39\x36\x37\x32\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\ +\x30\x36\x20\x34\x32\x35\x2e\x31\x39\x36\x37\x32\x20\x4c\x20\x31\ +\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x34\x31\x31\x2e\x30\x32\x30\ +\x36\x33\x20\x4c\x20\x31\x37\x34\x2e\x30\x35\x38\x39\x39\x20\x34\ +\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x5a\x22\x20\x66\x69\x6c\x6c\ +\x3d\x22\x23\x66\x64\x63\x61\x30\x30\x22\x2f\x3e\x3c\x70\x61\x74\ +\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\x34\x2e\x30\x35\x38\x39\x39\ +\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\x4c\x20\x31\x38\x38\x2e\ +\x32\x33\x35\x30\x36\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\x4c\ +\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x33\x38\x32\x2e\x36\ +\x37\x37\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\x36\x33\x20\x33\ +\x38\x32\x2e\x36\x37\x37\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\ +\x36\x33\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\x4c\x20\x32\x31\ +\x36\x2e\x35\x37\x38\x37\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\ +\x4c\x20\x32\x31\x36\x2e\x35\x37\x38\x37\x20\x34\x31\x31\x2e\x30\ +\x32\x30\x36\x33\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\x36\x33\ +\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x4c\x20\x32\x30\x32\ +\x2e\x34\x30\x32\x36\x33\x20\x34\x32\x35\x2e\x31\x39\x36\x37\x32\ +\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x34\x32\x35\ +\x2e\x31\x39\x36\x37\x32\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\ +\x30\x36\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x4c\x20\x31\ +\x37\x34\x2e\x30\x35\x38\x39\x39\x20\x34\x31\x31\x2e\x30\x32\x30\ +\x36\x33\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\ +\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\ +\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\ +\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\ +\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\ +\x3d\x22\x31\x22\x2f\x3e\x3c\x74\x65\x78\x74\x20\x74\x72\x61\x6e\ +\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ +\x28\x31\x31\x38\x2e\x33\x38\x36\x20\x34\x32\x37\x2e\x38\x39\x30\ +\x30\x31\x29\x22\x20\x66\x69\x6c\x6c\x3d\x22\x42\x6c\x61\x63\x6b\ +\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x66\x6f\x6e\x74\x2d\x73\x69\ +\x7a\x65\x3d\x22\x34\x34\x70\x74\x22\x20\x66\x6f\x6e\x74\x2d\x77\ +\x65\x69\x67\x68\x74\x3d\x22\x62\x6f\x6c\x64\x22\x20\x78\x3d\x22\ +\x2e\x31\x38\x35\x35\x34\x36\x38\x38\x22\x20\x79\x3d\x22\x34\x34\ +\x22\x20\x74\x65\x78\x74\x4c\x65\x6e\x67\x74\x68\x3d\x22\x38\x32\ +\x2e\x36\x32\x38\x39\x30\x36\x22\x3e\x46\x49\x54\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x57\x31\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x01\x3d\x00\x00\x01\x39\x08\x06\x00\x00\x00\xe2\x0a\xf7\x8b\ +\x00\x00\x0f\x4b\x69\x43\x43\x50\x49\x43\x43\x20\x50\x72\x6f\x66\ +\x69\x6c\x65\x00\x00\x78\x01\xad\x58\x75\x58\x54\xdd\xf6\xde\x53\ +\xe4\xd0\xdd\x43\x77\x4b\x4b\x87\x12\xd2\x0d\x52\x33\xa4\x94\x43\ +\x08\x2a\xa2\x84\x48\x49\x8a\x28\x48\x83\x28\xa9\x80\x22\x28\x52\ +\x22\xfa\x29\x88\xa0\x22\x8a\x88\x20\x18\x88\x08\x2a\x48\xcd\xdd\ +\x03\xfa\x7d\xbf\x78\xee\x73\xff\xb9\x7b\x9e\x73\xce\xbb\xdf\xbd\ +\x62\x9f\xbd\xce\x59\x6b\xf6\x01\x80\x89\xd7\x3b\x3c\x3c\x18\x09\ +\x00\x08\x09\x8d\x24\xda\xee\x33\xc0\x39\xbb\xb8\xe2\x28\x27\x01\ +\x02\xfe\x38\xe0\x81\xf6\xc6\x47\x84\xeb\x5b\x5b\x5b\x40\x91\x7f\ +\xd3\x7e\x3e\x87\x72\xb0\x8d\xca\x92\x6d\xa5\x46\xc9\xba\xb8\x07\ +\x5a\xcb\x04\xd8\xf7\x73\xd5\x91\x0a\x53\xff\x8d\xd2\x1f\x9a\x9e\ +\x08\x1d\x02\x80\x90\x81\x04\xab\xff\x2e\xd6\x23\x63\x9f\x5d\x6c\ +\x4f\xc6\x47\x22\xc3\x23\xa1\x4c\x00\x19\xe3\x03\xbc\x09\x10\x1f\ +\x87\x58\x86\x68\x6f\x6b\x08\x71\x2d\xc4\xf4\xfe\xbb\xb8\x9d\x8c\ +\x7d\x76\xf1\x20\x19\x47\xe3\xfd\xc9\xba\xe3\x00\x50\x30\x87\x12\ +\x02\x43\x01\xa0\x5c\x80\x58\x87\xe0\x1b\x81\x87\xc3\x64\xbf\x04\ +\x42\x04\x3e\x04\xe2\x6c\x00\x90\x3a\x21\x21\x61\xd0\x3e\xe3\x13\ +\xc8\x4b\xe0\xc3\x89\x50\x97\x71\x0d\x62\x11\xf2\xba\xc0\x2b\x6c\ +\x5e\xf0\x50\xe9\x87\x76\xa4\xfe\xe1\xc2\x72\x00\x68\x81\xf6\x38\ +\x97\xff\xe1\xc4\x8d\x00\x60\x5f\x81\x3c\xf5\x3f\xdc\x8a\xed\xce\ +\x5a\x21\xd8\x87\x23\xfc\x94\x95\xc8\xd6\x00\x02\x6b\x00\x00\xe6\ +\x0d\x89\xb4\x22\x06\x6d\xe6\x02\xb0\x95\x43\x22\x6d\x54\x90\x48\ +\x5b\x95\x00\xa0\x5e\x03\xd0\x1d\x8c\x8f\x22\x46\xef\xc8\x42\x69\ +\xc4\x63\x00\xfe\x53\x7f\xf7\x9e\x7f\x6b\xa0\x60\x70\xc8\x01\x96\ +\x04\xd9\x08\x1c\xa2\x03\x19\x8d\xb2\x46\x1b\x63\xbc\x29\xf2\x29\ +\x27\xa9\xf5\x69\x3a\xb0\x1a\x74\x3d\x0c\x4e\x8c\x1f\x98\xa3\x59\ +\xb6\xd9\x62\xd9\xe7\x38\xcd\xb8\x8a\xb8\x67\x79\xd9\xf8\x54\xf9\ +\x5d\x05\x62\x71\x85\x82\xed\x42\x2f\x85\x49\xa2\x42\x62\x26\xe2\ +\x41\x12\xd9\x92\x9d\x52\xef\x65\x18\x65\x0d\xe5\x88\xf2\xd5\x0a\ +\xaf\x94\x18\x94\x4d\xf7\x24\xab\xf4\xab\x01\x75\x63\x8d\x44\xcd\ +\xbb\x5a\x9f\xb5\x99\x74\x34\x75\x5d\xf5\x8e\xe9\x97\x19\xdc\x33\ +\x9c\x33\xa6\x31\x91\xdb\x67\xb3\xff\xb0\x69\xae\xd9\x0d\xf3\x71\ +\x8b\x0d\x4b\x5e\x2b\x4d\x6b\x17\x9b\x38\xdb\x62\xbb\x4e\xfb\x09\ +\x87\x75\x27\x3e\x67\x23\x97\x30\xd7\x0a\xb7\xb1\x83\x18\x8f\x3d\ +\x9e\x04\xaf\x1c\xef\x1e\x9f\x65\x82\x90\xaf\x83\x5f\x96\x7f\x7f\ +\xc0\x56\x90\xd6\xa1\xf8\xe0\xae\x50\x4c\x98\x55\xf8\xa5\xc3\x8b\ +\x11\x86\x91\xe7\xa2\x96\x8e\xe8\xc5\xf8\xc4\x06\x1f\x25\x1e\x8b\ +\x3d\x9e\x18\x77\xfa\x44\x7a\x7c\xda\xc9\x8c\x53\x29\x09\x71\x89\ +\x31\x49\x01\xc9\x0e\xa7\x0d\x52\x24\xcf\xd0\x9d\x59\x48\xbd\x9f\ +\x56\x9e\x1e\x95\x61\x96\xc9\x9d\x39\x7f\xb6\x25\xeb\x64\xb6\x63\ +\x8e\x6c\x2e\x3a\xf7\x55\xde\xf5\xfc\x33\xe7\x3c\x0a\x94\xce\x53\ +\x9e\x9f\x2c\x6c\xb9\x90\x7a\xd1\xbb\x48\xbd\x98\xa1\x78\xfe\x52\ +\x4f\x49\x71\x69\x4c\x99\x43\xf9\x9e\x0a\xd6\x8a\x1f\x95\xcf\xaa\ +\xda\xab\x33\x6a\x1c\x2f\x0b\x5f\x5e\xae\xed\xbe\x92\x79\xd5\xbd\ +\x4e\xba\x6e\xad\xfe\x7e\x43\x61\x63\x40\x93\x66\x33\x4d\xf3\xc4\ +\xb5\xfa\xeb\x71\x2d\x96\xad\xb8\xd6\xe5\xb6\x7b\x37\xf2\x6f\xe2\ +\xdb\x95\x6f\xa1\x6e\x3d\xe9\xc8\xee\x3c\x70\x9b\xea\x76\xff\x9d\ +\x84\x2e\xbd\x2e\xd2\xdd\xae\xee\xe3\x3d\xda\xbd\xa0\xb7\xb7\x2f\ +\xb9\xdf\xe2\x1e\xcb\xbd\x57\x03\xd5\xf7\x0f\x0f\x6a\x3f\xa0\x7d\ +\xf0\xea\x61\xc3\x5f\x27\x1f\xd9\x3d\x16\x7d\xfc\x7d\xa8\x6b\xf8\ +\xcc\x13\x9b\x11\xae\x91\x77\x4f\x1b\x47\x8f\x8c\xe9\x3e\xa3\x79\ +\xf6\xec\x79\xd9\x8b\xe0\x71\x8d\x97\x94\x2f\x9f\x4d\x54\xbd\x8a\ +\x7c\x6d\x34\xc9\x36\xf9\xf1\x4d\xc7\x54\xd6\x5b\xfc\xb4\xea\x3b\ +\xba\x77\x9f\x66\x7a\x67\xcf\xbd\xf7\x9d\x53\x9c\xdb\x98\x7f\xf0\ +\x21\xff\x23\xfe\x93\xea\x67\xba\xcf\x1f\x16\x46\xbe\x0c\x2c\x0e\ +\x7c\x1d\x5f\x22\x2d\x1b\xac\x5c\xf8\x41\xf3\xb3\x6a\xcd\x7d\xdd\ +\x64\xd3\x77\x3b\x97\x44\x82\xf1\xd7\x07\xb3\x88\xc3\x48\x0e\xe4\ +\x28\xea\x26\xba\x19\x73\x9f\x62\x95\x4a\x9b\xfa\x1c\x2d\x05\x36\ +\x8a\xee\x3b\x43\x1c\x13\x60\x4e\x80\xf1\x0f\x65\x1f\xe6\x94\xe2\ +\x8a\xe1\xbe\xc9\x33\xc7\x47\xc1\x2f\x21\xb0\x1f\x47\x10\x3c\x25\ +\x54\x2e\x7c\x4f\x64\x56\x8c\x42\x5c\x42\xc2\x44\x32\x4c\x2a\x4f\ +\xba\x5d\x66\x46\x8e\x5e\x5e\x4d\x81\xa0\x78\x56\xa9\x4b\x79\x49\ +\x45\x44\xd5\x4e\x2d\x4d\xfd\xb6\xc6\x67\x2d\xaa\xbd\x7c\xda\x2a\ +\x3a\xfb\x75\x9d\xf5\x42\xf5\x13\x0d\x0a\x0c\xaf\x1a\xdd\x31\x1e\ +\x36\x99\xde\xb7\x6c\x4a\x61\xc6\x69\x2e\x69\xa1\x79\xc0\xd4\xd2\ +\xc9\x2a\xc8\xfa\x88\x4d\x92\x6d\xae\x5d\xb9\xfd\x35\x87\x01\xc7\ +\x77\xce\x48\x17\x61\x57\x43\x37\x6f\xf7\x53\x07\x4b\x3d\xba\x3c\ +\xa7\xbc\x48\x3e\x82\x78\x33\x42\x98\xef\x79\xbf\x3e\xff\xef\x81\ +\x42\x41\x0e\x87\x32\x83\x07\x42\x51\x61\x86\xe1\x27\x0e\xf7\x13\ +\x37\x23\xd9\xa2\x78\xa3\x05\x8e\x08\xc7\x88\xc7\x4a\x1c\x95\x38\ +\x26\x7e\x5c\x2c\x4e\xe8\x04\x77\x3c\xcb\x49\xea\x93\x9b\xa7\x16\ +\x13\xde\x24\x3e\x4e\x6a\x4f\x2e\x3d\x9d\x96\x12\x72\xc6\x2e\x55\ +\x35\x8d\x23\x6d\x35\x7d\x34\xa3\x2e\x33\xf9\xac\x5b\x96\x72\x36\ +\x36\x7b\x2e\xa7\x3b\xf7\x62\x1e\x31\xdf\xfa\x9c\x6c\x01\xb6\x60\ +\xe1\xfc\xa3\xc2\xc6\x0b\x59\x17\xa3\x8a\xdc\x8a\x0d\x2f\x49\x97\ +\xb0\x97\x22\x4b\x17\xcb\x26\xca\x07\x2a\x2a\x2a\x43\xaa\xb4\xab\ +\x19\xab\x67\x6a\xda\x2e\x67\xd4\x7a\x5d\x51\xb9\x4a\x77\xf5\x7d\ +\x5d\x57\xfd\xc5\x06\x62\xa3\x79\x93\x68\x13\xa9\xf9\xe5\xb5\xe6\ +\xeb\x69\x2d\xf8\x56\xf5\x36\x6c\xdb\xdb\x1b\xad\x37\xcf\xb4\x7b\ +\xdc\x52\xee\xa0\xe8\x18\xef\xac\xbf\x1d\x7f\xc7\xae\x4b\xb4\x6b\ +\xf5\xee\xc3\xee\x4b\x3d\xa1\xbd\x7a\x7d\xac\x7d\xf3\xfd\xb7\xee\ +\x65\x0e\x78\xdf\x57\x19\xa4\x19\x9c\x7a\xd0\xf6\x30\xf3\x2f\xc2\ +\x23\xdd\xc7\x22\x43\x2c\xc3\xa8\xe1\xe5\x27\x93\x23\x83\x4f\x5b\ +\x47\x8b\xc7\x12\x9f\x05\x3d\xb7\x7d\xa1\x31\x2e\x00\xa3\xff\x75\ +\x62\xfc\x55\xef\xeb\xa6\xc9\xa2\x37\xe9\x53\x71\x6f\xc3\xa6\x7d\ +\xdf\xb9\xcd\xd8\xce\x9a\xbf\x37\x99\x33\x9a\xd7\xff\xa0\xfb\xd1\ +\xf0\x93\xd9\x67\xdb\x05\xf7\x2f\x41\x8b\x47\xbf\x66\x2d\xd5\x7e\ +\xeb\x5e\x9e\x58\x59\xfd\xc1\xfd\x73\xef\xaa\xe7\x5a\xe2\xaf\xba\ +\xf5\xa7\x1b\xab\x5b\xfc\xdb\xba\x24\xfd\x9d\xf8\xf3\x00\x0f\xd0\ +\x87\x50\x45\x34\x22\x75\x90\xb3\xa8\x8b\x68\x3c\x46\x87\x42\x8a\ +\x92\x97\x8a\x8b\x9a\x9b\x46\x88\x56\x04\x2b\x43\x27\x4d\x2f\xc2\ +\xc0\xcc\xb0\xc1\x38\xc1\xd4\x08\xb3\x81\x3a\xcb\x2f\xd6\x36\x36\ +\x22\xbb\x02\xfb\x57\x8e\x26\xce\x50\x2e\x39\xae\x25\xee\x16\x9e\ +\x68\x5e\x2d\x3e\x04\xdf\x23\xfe\x02\x01\x6f\x9c\x3c\x6e\x43\xf0\ +\x91\x50\xa9\x30\x51\xc4\x58\x94\x5f\x74\x45\xac\x47\x3c\x49\x42\ +\x47\x62\x5d\xb2\x55\x2a\x54\x5a\x5a\xfa\x83\x4c\x8d\xac\x9f\x9c\ +\x98\xdc\xbc\x7c\xad\x42\x90\xa2\xa2\xe2\x0f\xa5\x0e\xe5\x93\x7b\ +\x4c\x54\x68\x55\xc6\x54\x8b\xd4\xbc\xd5\x25\xd4\x97\x34\xda\x35\ +\xe3\xb5\x4c\xf6\x32\xee\x9d\xd0\xae\xd2\x09\xd5\x55\xd3\x43\xe8\ +\x3d\xd2\x3f\x6f\x80\x37\x54\x30\x02\x46\x43\xc6\x97\x4c\xc2\xf6\ +\x19\xed\x67\xdd\xff\xc1\xf4\x8e\x59\xbe\xf9\x21\x0b\xa3\x03\x3c\ +\x07\xbe\x5b\x3e\xb0\x3a\x67\xed\x6e\x23\x6c\xb3\x60\x7b\xc3\x2e\ +\xc1\xde\xc6\x81\xdf\x61\xc9\xb1\xd7\xa9\xc0\x39\xcc\xc5\xc4\x55\ +\xd0\x95\xe4\x36\xe5\xde\x7d\xb0\xdc\x23\xd1\x33\xd0\xcb\xc2\x5b\ +\xc5\x87\x07\x8f\xc0\x7f\x20\x3c\xf4\xad\xf5\x3b\xed\xef\x1d\xa0\ +\x17\x28\x10\x48\x0a\x7a\x7b\xa8\x27\xb8\x3c\xe4\x74\xe8\x21\x98\ +\x57\xd4\x0e\xf3\x13\x29\x88\x8b\x11\x2f\x22\x7b\xa3\xea\xa3\x0b\ +\x8f\x24\xc5\x1c\x8e\xf5\x3c\x6a\x7a\x4c\xf1\x38\xe2\x78\x7f\x5c\ +\xe2\x09\xe3\x78\x54\x7c\xf7\xc9\xf8\x53\xea\xa7\x96\x13\xea\x13\ +\xfd\x93\x84\x92\x26\x93\x0b\x4f\xdb\xa5\x30\xa4\x3c\x3e\x93\x91\ +\x6a\x96\x46\x9b\x36\x94\x9e\x9d\x61\x9b\xc9\x91\xf9\xfa\x6c\x79\ +\x96\x6b\x36\x4b\xf6\x5f\x39\x49\xb9\xfa\x79\x20\xaf\x27\x3f\xe9\ +\x9c\x69\x01\x73\xc1\xd4\xf9\xc6\xc2\xf8\x0b\x2e\x17\x95\x8b\x18\ +\x8b\x96\x8a\xc7\x2e\x75\x94\x54\x96\x66\x95\xc5\x95\x87\x55\x78\ +\x57\x5a\x56\x29\xc1\x27\xec\x53\xcd\xbd\xcb\xe5\xb5\x27\xae\x78\ +\x5e\xd5\xad\xc3\xd5\xa3\xea\x3f\x36\x0c\x35\xb6\x34\x95\x34\xa7\ +\x5c\x0b\xbf\xee\xd6\x62\xdc\xaa\xd0\xc6\x73\x83\xe2\xc6\xd2\xcd\ +\xd7\xed\xf7\x6e\x35\x76\x94\x74\x76\xdf\x9e\xed\x42\xdc\xe5\xea\ +\x56\xee\xb1\xeb\x8d\xed\xab\xed\x7f\x37\x20\x75\x3f\x7e\x70\xe1\ +\x61\xf8\x23\xca\xc7\x77\x87\xab\x46\x5a\x47\x57\x9f\xc7\xbe\x74\ +\x7d\x5d\xf2\x36\xef\xbd\xe5\xe7\xaa\x1f\x66\xe4\xf8\xef\xd6\x3e\ +\x72\x4d\xa0\x50\x05\xe0\x02\xac\x08\x8e\xb0\x3e\x3a\xa0\x01\xc8\ +\x69\x06\x40\x1c\xd6\x2f\x36\x2f\x00\xac\xe9\x00\xb0\xd7\x00\x48\ +\x1a\x6d\x80\x58\x9f\x06\x08\x31\x3f\xf0\xa7\x7e\xb0\x00\x19\x60\ +\x0c\x3c\x41\x0c\xc8\x01\x75\xe0\x1e\x98\x02\xbf\x10\xac\x08\x05\ +\x84\x05\x22\x08\x91\x82\xa8\x41\x0c\x20\xe6\x91\x34\x48\x39\xa4\ +\x3d\xf2\x38\xf2\x32\xcc\x32\x28\x94\x0a\x2a\x08\x55\x8d\x9a\x45\ +\x8b\xa0\xfd\xd1\xf5\xe8\x15\x8c\x16\x26\x19\x33\x4c\xc1\x4b\x11\ +\x44\xd1\x41\x89\xa5\x3c\x48\xd9\x4c\x85\xa1\x72\xa3\x6a\xa6\xa6\ +\xa2\xf6\xa6\xee\xa0\x61\xa5\x39\x4c\xf3\x98\x56\x8a\x36\x85\x76\ +\x0e\xbb\x0f\x5b\x43\x47\x4d\x17\x4c\xf7\x8c\xde\x88\xbe\x8d\x41\ +\x8c\xa1\x98\x91\x95\x31\x9d\x09\xcd\x14\xcf\xb4\xc5\x7c\x94\x79\ +\x9d\xe5\x18\x0b\x89\x35\x99\x8d\x86\x2d\x87\x9d\x87\xbd\x9a\x43\ +\x89\xa3\x97\xd3\x8e\xf3\x1d\x57\x34\x37\x2d\x77\x05\x8f\x26\xcf\ +\x28\x6f\x30\x1f\x9a\xaf\x98\x5f\x91\xff\xbe\x80\x97\xc0\x3a\xee\ +\xbc\xe0\x1e\xc1\x31\xa1\x48\x61\x56\xe1\x1b\x22\xae\x22\x5b\xa2\ +\x97\xc4\x0c\xc4\xe6\xc5\xd3\x25\xe4\x24\x86\x25\xa3\xa4\xb8\xa4\ +\x3a\xa5\x3d\x64\x80\x4c\x85\xac\x91\xec\x9c\x5c\xba\xbc\x8c\xfc\ +\x90\xc2\x51\x45\x23\x25\x3e\xa5\x5f\xca\x2f\xf6\xb4\xa8\x14\xaa\ +\x1e\x53\xf3\x57\xb7\xd1\x30\xd4\xd4\xd6\x52\xde\xab\xaa\xad\xab\ +\x63\xa6\xeb\x05\x2b\x5c\x85\xc1\x23\x23\xa4\xb1\x86\xc9\x89\x7d\ +\x83\xa6\xcc\x66\x36\xe6\xd9\x16\x63\x96\x5c\x56\x3e\xd6\x0d\x36\ +\xdb\x76\x56\xf6\xe5\x0e\xab\x4e\x66\xce\x95\x2e\x5b\x6e\x0e\xee\ +\x0d\x1e\x14\x9e\x9e\x5e\x37\x7d\x18\xf0\xc1\x84\x3e\x3f\x35\xff\ +\x9e\x40\x83\xa0\xc1\x60\xbb\x90\x89\xb0\xc0\xf0\x35\x62\x32\xcc\ +\x67\xd5\x47\xf6\xc6\x8c\x1c\x0d\x3a\x8e\x8a\x2b\x8b\xd7\x3a\x39\ +\x9d\x90\x9a\xa4\x94\xfc\x36\xe5\x5a\x6a\x56\x7a\x44\xa6\x6d\x96\ +\x72\x0e\x6b\xee\x46\xfe\x44\xc1\x9d\xc2\x92\x8b\x31\xc5\x4e\x25\ +\x0a\x65\x54\xe5\x53\x95\xad\xd5\xa7\x2f\x3b\x5e\x91\xac\xa3\xac\ +\x5f\x6e\x9c\x69\x1e\xbf\xfe\xb4\xb5\xff\x46\x6f\xfb\xdd\x8e\x5b\ +\xb7\xdb\xbb\xda\xba\xaf\xf7\x36\xf5\x37\x0c\x5c\x1d\xbc\xf2\xb0\ +\xfc\x51\xe5\x50\xf1\x93\x92\xa7\x97\xc6\xd2\x9e\xa7\x8c\xe7\x4e\ +\xd4\xbf\x7e\xfa\xe6\xeb\x34\xd7\x8c\xf2\x7b\x83\xf9\x7d\x1f\x15\ +\x3e\x91\x16\x3a\x17\xdd\xbe\x4e\x7f\x33\x5f\xae\x59\x59\xfa\x21\ +\xf9\xd3\x6c\xd5\x67\x2d\xf4\x57\xc0\xba\xd3\x86\xea\x26\xe3\xe6\ +\x9b\xad\xaa\xed\xf3\x3b\xf9\x03\x0b\x84\xc1\x5e\x60\x0f\x42\x41\ +\x0a\x28\x07\x9d\xe0\x39\xf8\x86\xc0\x22\x24\x11\x26\x08\x02\x22\ +\x01\x51\x81\xe8\x43\xbc\x47\x52\xc3\xf8\x3b\x20\xe3\x91\x75\xc8\ +\x97\x28\x6a\x94\x36\x2a\x12\xd5\x8c\x5a\x42\x2b\xa2\x23\xd1\x1d\ +\x18\x24\xc6\x1c\x73\x0e\xf3\x96\x42\x9e\xe2\x04\xc5\x30\xa5\x30\ +\x65\x14\xe5\x43\x2a\x21\xaa\x58\xaa\x11\x6a\x69\xea\x14\xea\x19\ +\x1a\x03\x9a\x72\x5a\x40\xeb\x4d\xdb\x8b\x15\xc7\xa6\x61\x97\xe8\ +\x9c\xe9\xfa\xe8\xd5\xe9\x9b\x19\x24\x18\xaa\x18\x85\x19\xcb\x99\ +\x04\x99\xaa\x98\x25\x98\x1b\x59\x54\x59\xba\x59\x2d\x58\x27\xd8\ +\x02\xd8\x7e\xb1\x67\x70\x08\x72\xdc\x82\xb1\xff\xcc\x95\xca\x2d\ +\xc1\xfd\x80\xe7\x10\x2f\x3d\xef\x35\x3e\x5b\xbe\x6f\xfc\xd9\x02\ +\x8a\x02\x63\xb8\x58\x41\x01\xc1\xfb\x42\xe1\xc2\xdc\xb0\x82\x11\ +\x61\x8e\x1a\x14\x8b\x16\x17\x11\x7f\x2a\x11\x27\x29\x25\x39\x21\ +\x95\x22\xad\x2c\xfd\x56\x26\x43\x56\x43\xf6\xbd\x5c\x81\xbc\xbe\ +\xfc\x92\x42\x83\xe2\x29\x25\x0f\x65\x9d\x3d\x02\x2a\x08\x95\x8f\ +\xaa\x23\x6a\x5d\xea\x75\x1a\x65\x9a\x85\x5a\xd9\x7b\x73\xb4\xf3\ +\x74\x8a\x74\xab\xf5\xda\xf4\x87\x0c\x66\x8d\x30\xc6\x22\x26\x16\ +\xfb\x8e\xec\xaf\x31\x9d\x31\xe7\xb7\xf0\x39\x50\x69\x39\x67\x2d\ +\x6d\x73\xd8\xf6\x8e\x3d\xc2\xc1\xcc\x31\xc7\x69\xc2\x45\xc8\x35\ +\xd4\xad\xd5\x7d\xd3\xc3\xc8\x33\xc3\x6b\xd4\x87\x0b\xef\x4b\xa8\ +\xf7\x63\xf6\xbf\x10\xc8\x1a\x94\x1d\xcc\x14\x92\x11\x46\x1f\x7e\ +\x96\x88\x8d\xc8\x88\xa2\x8e\xce\x8a\x61\x8d\x2d\x3a\x26\x7c\xbc\ +\xf5\x84\x5e\xfc\xe8\xa9\xf0\x44\xc6\xa4\xeb\xa7\x1d\x52\x56\x53\ +\xcb\xd2\xad\x32\x36\xcf\x36\x64\x7b\xe5\x72\xe7\x8d\x9c\xcb\x38\ +\x6f\x79\x01\x7b\xf1\x51\x71\x5e\x89\x63\x19\x6f\xf9\x6c\x65\x7d\ +\x75\xe4\x65\xcd\x2b\x98\xab\xbd\xf5\xf8\x46\x64\xd3\xe5\x6b\xb6\ +\x2d\xc8\xd6\xa6\x1b\x81\xed\xa2\xb7\xa6\x3b\x4b\xef\x10\xee\x8a\ +\x74\x7f\xe8\xbd\xda\x1f\x3a\x20\x7d\xff\xeb\x83\xda\xbf\xf0\x8f\ +\xf9\x86\x9e\x3e\x49\x7f\xaa\x37\xba\xfa\xac\xe6\x85\xd3\x4b\xec\ +\xc4\xad\xd7\x5e\x6f\x30\x53\x0d\xd3\x56\xef\xbe\xcc\xa6\xcd\xe1\ +\xe6\xaf\x7f\x34\xfb\x34\xb5\x10\xfe\x65\xe3\xeb\x99\x6f\xec\xcb\ +\xd5\xdf\x15\x7e\xb4\xaf\xee\x5b\x7b\xbe\x4e\xd8\xd8\xda\x3a\xbb\ +\x13\x7f\x3e\x60\x04\x82\xe0\xbb\xdf\x0e\xa6\x10\x54\x08\x25\x84\ +\x07\x22\x1d\x71\x1b\xb1\x88\x14\x41\x7a\x20\x4b\x90\xef\x50\x32\ +\xa8\x78\xd4\x6b\xb4\x0e\xba\x06\xc3\x8c\x39\x85\x59\x81\x6f\xf9\ +\x0c\xa5\x27\xe5\x1b\x2a\x2f\xaa\x69\x6a\x7f\xea\x45\x9a\x58\x5a\ +\x14\x6d\x16\x16\x87\x6d\xa2\x33\xa4\x9b\xa6\xcf\x65\x30\x66\xd8\ +\x66\x6c\x67\x8a\x64\x56\x66\xfe\xce\x72\x93\xf5\x04\x9b\x21\x3b\ +\x1d\xfb\x38\x47\x2d\xe7\x51\x2e\x0b\x6e\x51\x6e\x12\xcf\x2b\xde\ +\x0e\xbe\x52\xfe\x04\x81\x00\x9c\x8d\xa0\x8e\x90\xac\x30\x9f\x08\ +\x93\x28\x46\x74\x4d\xec\x9b\xf8\x47\x89\x29\xc9\x49\xa9\x17\xd2\ +\x63\x32\x23\xb2\xc3\x72\x4f\xe5\x47\x15\x66\x95\xd0\xca\xe2\x7b\ +\xf6\xab\x1c\x52\x4d\x57\x6b\x52\x1f\xd2\x58\xd6\xa2\xdf\x2b\xaf\ +\x7d\x40\x27\x50\x37\x59\xaf\x42\xbf\xd7\x60\xd2\x70\xdb\x98\xdb\ +\x44\x7b\x9f\xd7\xfe\x64\xd3\x76\xb3\x2f\x16\x92\x07\xbc\x2d\x2f\ +\x5a\x3d\xb3\x61\xb4\xb5\xb1\xcb\xb0\x7f\xe0\x48\xed\x64\xe4\x9c\ +\xec\x32\xe0\x46\xe5\x6e\x7a\x30\xc3\xe3\x89\x17\x9b\xb7\xab\x4f\ +\x19\x7e\xd1\xd7\xc0\x6f\x24\x80\x18\xc4\x70\xe8\x76\x88\x5f\x98\ +\x40\xf8\x4b\x62\x7e\xa4\x6d\x34\xeb\x91\x97\xb1\xc5\xc7\xdc\xe1\ +\x7f\x8e\x37\x27\xcb\x13\x08\x49\x22\xc9\x73\x29\xf7\x53\x9b\xd3\ +\x8b\x32\x8f\x65\x39\xe7\x28\xe4\x51\xe4\x0f\x15\x9c\x2b\x74\xbc\ +\x48\x59\xd4\x71\xc9\xbf\x94\xbe\xec\x7a\x85\x6d\xe5\xd7\xea\x33\ +\x97\xf9\x6b\x5b\xaf\xba\xd4\xb3\x35\xbc\x69\xaa\xbd\x16\xd9\xa2\ +\xdd\x06\x6e\x3c\x68\xcf\xea\xb0\xbe\xcd\x7c\x67\xfc\x6e\x7e\x8f\ +\x53\x1f\x67\xff\xc4\x40\xc9\xa0\xef\x43\x89\xbf\xbe\x3f\xee\x1c\ +\x4e\x1f\xf1\x18\x15\x1a\xcb\x7f\x4e\xfd\x22\xf5\x25\xcb\x44\xc9\ +\x6b\x91\xc9\xca\x29\x9e\xb7\xe9\xd3\xdf\x66\x2c\x66\x2f\xbd\x9f\ +\x99\xe7\xfc\xa0\xf7\xd1\xe7\xd3\xb1\xcf\x89\x0b\xc9\x5f\x88\x8b\ +\x07\xbf\xaa\x2d\x31\x2c\xbd\xf8\x56\xba\xec\xb4\x42\xbf\xd2\xf9\ +\xdd\xf9\xfb\xcf\x1f\xe9\x3f\x39\x7e\x56\xae\x4a\xac\x16\xaf\x31\ +\xac\x25\xae\x7d\xfb\x65\xfb\xab\x75\x9d\x7d\x3d\x66\xfd\xe1\x06\ +\xcb\x86\xfb\x46\xf5\xc6\xe2\xa6\xda\x66\xf4\x66\xcd\xe6\xb3\x2d\ +\xcc\xd6\x9e\x2d\xc2\x56\xde\x56\xdf\xd6\xca\xb6\xd0\xb6\xd5\xf6\ +\xd1\xed\xea\xed\x27\xdb\x1b\x24\x71\x92\x2d\x29\x8e\x54\x4b\x1a\ +\x23\xc7\x7f\x77\xbf\x44\xae\x1f\x80\xc6\x30\x2c\x38\x8c\x88\xb3\ +\x30\x84\x1b\x9c\xff\x6a\x0b\x09\x8e\x82\x7b\xa8\x9d\xc6\x0c\xcf\ +\xd8\x50\x1f\x4b\x2b\x78\x25\xe3\x0f\xe1\x91\xd6\xe4\xbd\x20\x3b\ +\x3c\xd6\x23\xa2\xed\x8c\xe1\x95\x11\x6e\x87\x18\xfd\x02\x4d\x4c\ +\x7f\x63\x1c\xc1\xdb\xc8\x1c\x62\x5e\xc8\x2b\x1c\x0d\x30\xb4\x84\ +\x18\x0b\xb1\x85\x1f\xd1\xc4\x16\x62\x68\x07\xe1\x1c\xe4\x6d\x66\ +\x0d\x31\x3d\xc4\x41\xbe\xa1\x0e\x76\xbf\xf9\x98\xf0\xe0\x9d\x3d\ +\x2e\x59\x26\x2d\x3c\xd2\x80\x2c\xcf\x09\x71\xb1\x6f\x84\xf1\x1f\ +\x99\xd6\xa3\x01\xf6\x4e\xbf\x75\x07\x88\x51\xb6\x0e\x10\x8b\x40\ +\x99\xb1\x43\x61\xe6\x64\x79\xb2\xaf\x35\x82\xaf\xd1\xef\xb9\x21\ +\xd1\xa1\xc1\x96\x16\x90\x87\x73\x46\xb2\x06\x46\x9a\x92\xe7\xcf\ +\x0a\xb1\x14\x30\x01\xde\x80\x08\xfc\x81\x2f\x90\x05\x16\xc0\x10\ +\xbe\x59\xbb\x67\x1c\xe4\x71\xb0\x1f\x06\x47\x7d\x41\x04\x94\x9b\ +\xdd\x91\xfb\x23\xe5\xb8\xd3\x0f\xfc\x3f\x5a\xb2\xc0\x6f\xc7\x5e\ +\xf4\x8e\xce\x21\x30\x07\x75\x42\x3c\x03\x13\x88\xd0\xd6\xae\xdd\ +\x07\x00\x0f\x39\x6f\x98\xbb\x7f\x33\x0a\x75\x0a\x1f\x15\x36\xff\ +\xf4\x76\x3c\x06\xef\x78\xfd\xa3\x61\x0e\x7b\xff\x9b\xf9\x33\x43\ +\xf2\xec\x76\x47\x02\x01\x01\xe2\x3f\x3c\xfe\x0f\x4f\xf6\x1c\x72\ +\xdd\x2f\xba\x30\x2c\x56\xd3\x31\x00\x2d\x86\x56\x42\xab\xa0\x0d\ +\xd0\xda\x30\x37\x68\x00\x1c\x9a\x1d\xcd\x0d\x64\xd1\x7b\xd0\xea\ +\x68\x7d\xb4\x2e\x5a\x0b\x8e\x69\x0c\x2d\xdc\x5c\xf8\x7b\x2e\xbb\ +\x6b\xe3\xf3\xf7\x3d\x9a\x43\x6f\xbe\x20\x6a\x67\x45\x42\xff\x66\ +\xff\x9f\x57\x10\x08\xbf\x61\xec\xec\xdd\xe1\x2a\x03\x0a\xf8\x6c\ +\x14\x9f\x22\xa3\x9e\x3b\xa4\x93\xe4\xeb\xff\x6c\x91\xbe\x31\x70\ +\x5f\x0f\x80\x61\x58\x78\x2c\x31\xd0\x3f\x20\x12\xa7\x0f\xbf\x5c\ +\xf8\xca\xe0\x4c\x43\xf1\x72\x32\x38\x25\x05\x45\x65\xf0\x2f\x98\ +\x83\x67\x63\x4f\xf4\x83\x04\x00\x00\x20\x00\x49\x44\x41\x54\x78\ +\x01\xed\xbd\x09\xb4\xed\x77\x55\xe7\xf9\x7b\x43\x92\x97\x01\x12\ +\x02\x21\x0c\x99\x43\x12\x44\x41\x10\x14\x45\x48\x87\xa9\x01\x51\ +\x8b\x52\x19\x04\x15\xad\x72\x55\x69\x57\xf5\xaa\xc1\xa1\x4a\xad\ +\xee\x45\x59\x96\xcb\x76\x59\x5a\xcb\xb6\x4b\xab\x74\x69\xaf\x76\ +\x58\x50\xa2\x86\x08\x8a\x80\x28\x93\x22\xa2\x0c\x61\x4a\x20\x10\ +\x82\x08\x09\x18\x86\x24\x84\x4c\xef\xf5\xfe\x9c\x73\x3e\xf7\xed\ +\xfb\x7b\xff\x73\xcf\xb9\xc3\x39\x77\xda\xfb\xad\x7d\xf6\xf8\x9b\ +\xbe\xe7\xbf\xf7\xfd\x9f\xe1\xde\xd7\x5a\x51\x21\x50\x08\x14\x02\ +\x85\x40\x21\x50\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\x40\ +\x21\x50\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\x40\x21\x50\ +\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\xc0\xf6\x23\x70\x60\ +\xfb\xb7\xb0\x90\x1d\xcc\x7b\xae\x79\xf3\x16\xb2\xc9\x9a\xb4\x10\ +\xd8\x46\x04\x8e\x6d\x60\xed\x8d\x8c\xd9\xc0\x32\x8b\x1d\x72\x70\ +\xb1\xd3\xd7\xec\x85\x40\x21\x50\x08\xec\x2c\x04\x76\xd3\x9d\xce\ +\xbc\x7b\x9d\x37\x8f\x67\x62\x3d\xb9\x3b\xeb\x99\xab\xdd\x14\x02\ +\x9b\x43\x60\x3d\x77\x6d\xeb\xc9\x65\x57\xeb\xcd\xdf\xdc\x49\xd6\ +\x39\x7a\x37\x15\x7d\xbf\xd7\xde\xce\x47\x5f\x2b\x46\xde\xac\x78\ +\x9e\xab\xf4\x42\x60\xbf\x20\x30\xd4\xac\x86\x7c\x3d\x1e\x7d\x4e\ +\x6f\xf7\xf9\xdb\x6a\xef\xc4\xe2\x9f\xb5\x27\xe3\x4a\x00\xcc\xfa\ +\x3c\x80\xae\x37\x7f\x9e\x39\x2b\xa7\x10\xd8\xcd\x08\xcc\xdb\xa8\ +\x86\xf2\xf4\x29\xa7\xe1\x30\x2b\x3e\x6d\xdc\x96\xfa\x77\x62\xf1\ +\xbb\x27\x65\x7f\xe0\xec\x47\xcf\x76\x9f\xdb\xdb\xeb\xc9\xed\xc7\ +\x96\x5d\x08\xec\x07\x04\xe6\x69\x4c\x39\x67\x9a\x0e\x56\x39\x36\ +\x64\x6f\x0b\x9e\x3b\xa9\x09\xb8\x17\xa5\x80\xf4\x36\x7e\x7c\xd9\ +\x9f\x75\xe3\xc8\xa2\x42\xa0\x10\xd8\x3a\x04\x68\x62\x7d\x23\x63\ +\x76\x7d\x4a\x57\xec\xed\xa3\x06\xb6\x53\xf6\xcd\x62\x3b\xf6\xe2\ +\x1e\x94\xee\x41\xbb\x97\xd3\xe2\xfa\x4f\x09\xe5\xe2\xe0\x07\x04\ +\xdf\x3f\xf8\xcc\x60\x7c\x45\x85\x40\x21\x30\x1f\x02\xf7\x44\xda\ +\x17\x82\xbf\x18\xfc\xf9\xe0\x1b\x83\xef\x08\x96\xfa\x66\x36\xcd\ +\xee\x9b\xdc\xb4\x3c\xe7\x5d\x8a\x3c\xbc\x94\x55\xd6\xb7\xc8\xb4\ +\x26\xe7\x2c\x39\x7e\x28\x9c\x4f\x08\x7e\xfa\x44\x3e\x32\xe4\x45\ +\xc1\xf5\x55\x9c\x00\xa1\xa8\x10\xd8\x22\x04\x68\x56\x9f\x08\xbe\ +\x2e\xf8\x6f\x83\xdf\x18\xfc\x97\xc1\x77\x07\x67\xea\x9b\x9a\xb5\ +\x6a\x4e\x1f\xd7\xbf\x54\xd9\x6f\x6a\xd1\x8b\xbb\x9e\x32\xaf\x87\ +\x2f\xfb\xd5\x7b\x49\xa3\x7b\x76\xf0\x4b\x82\x9f\x11\xcc\xdd\x5c\ +\x4f\x9f\x0b\xc7\x3f\x04\xf3\x93\x8a\x9f\x58\xfc\xe4\x2a\x2a\x04\ +\x0a\x81\xf9\x10\xe0\x66\x88\x57\x48\xd4\x16\xaf\x98\x1e\x14\xdc\ +\xd3\x9d\xe1\x78\x73\xf0\xef\x04\x5f\x13\x8c\x4d\xad\xd2\xd8\xa6\ +\xdd\xe1\x11\xeb\x1b\x9f\xb6\x32\x52\x16\x4b\x36\x94\xc5\xae\x72\ +\x7c\x76\xd7\x53\x12\x41\xcf\xb6\xd9\xfa\xb8\x6b\x43\x3f\x37\xf8\ +\x5f\x05\x7f\x57\xf0\x39\xc1\xd2\x67\x43\x79\x53\xf0\x5b\x82\x3f\ +\x14\xcc\x4f\xa3\xcf\x04\x4b\xce\xa3\x5d\xb2\x10\x28\x04\xe6\x43\ +\xc0\x46\x74\x56\xa4\x5f\x11\xcc\x2b\xa9\x27\x05\x5f\x15\xfc\xf0\ +\x60\x89\x9b\x8b\xff\x19\xfc\x0b\xc1\x37\x4c\x9c\x8c\x75\xbc\x92\ +\x50\xf6\x6b\x67\x89\xbe\x50\x5a\x56\x43\xc8\xeb\xf4\xba\xf6\x90\ +\xc4\x07\xb8\x3f\x12\xfc\xbd\xc1\xbe\x37\xf7\xa9\xd0\x01\xf9\x15\ +\xc1\xef\x0d\x86\x1c\x3f\xb6\xc6\x8f\x43\xbe\x1c\x2f\xbd\x10\x28\ +\x04\xd6\x46\x20\x37\x2c\x32\xb5\x2f\x0f\xfd\xdb\x83\x5f\x1c\x7c\ +\x71\x30\x74\x5f\x30\x75\xf9\x33\xc1\xdc\x7c\x50\x7f\xe4\x0f\xdd\ +\xf9\xf5\xcd\x2f\xd2\x46\xe4\xfc\x4a\xfd\x5b\x26\x97\xd5\x14\xf2\ +\x3a\xea\x48\x75\x0e\xa4\xee\x9d\x1d\xb7\xd8\x3f\x14\xfc\xef\x82\ +\x4f\x0d\x86\xde\x1a\xcc\x4f\x93\xd7\x07\x03\xa4\x63\x42\x1d\xa4\ +\x59\xf1\xc1\x41\x03\xce\xad\x9a\x67\x60\xea\x5d\xe9\x5a\xd8\x05\ +\xb9\x01\x34\xea\xb9\x59\x0d\xda\x56\x3f\x37\xb3\xe6\x23\xfe\x8d\ +\xc1\xbc\x0a\xfb\xa6\xc9\x56\xee\x0d\xf9\x4b\xc1\x3f\x15\xcc\x07\ +\x20\xe4\xc8\xa1\xae\x34\xce\xac\xbb\x4e\x2f\xc9\xd9\x52\x5a\xf4\ +\x05\xe3\xfc\x43\x52\x9f\x07\xb2\xd9\x61\x03\xe2\x7f\x0b\xe6\xa7\ +\x09\xf4\xa6\xe0\x9f\x0e\xfe\x8b\x60\xc7\x29\xc3\x35\x95\xe6\xc9\ +\x99\x3a\xb8\x02\x85\x40\x21\xb0\xaa\x41\xf5\x70\xf4\x0d\xea\xab\ +\x22\xe1\xc7\x83\xbf\x65\x92\xf8\x77\x21\xff\x75\xf0\x6b\x26\x36\ +\xc2\xe6\xa7\xcc\xbe\x94\xb6\xb2\xae\x6b\xe4\xd8\xa6\xf4\x45\x37\ +\x05\xe7\x1f\x92\xd9\x87\x2e\xff\x68\xe8\xff\x47\x30\x1f\x58\xf0\ +\x32\xf6\xc7\x82\x5f\x19\x0c\x99\x83\x4e\x93\x5c\x8b\xc8\x05\x30\ +\x64\x51\x21\x50\x08\x6c\x1c\x81\x69\x8d\x47\xbf\x2f\x5f\xb5\x9f\ +\x1e\x4b\xfd\x7c\xf0\xa5\x93\x25\x7f\x31\xe4\x4f\x04\x73\x07\x08\ +\x91\x37\xc4\xa3\xe0\xe4\xc1\xb9\x94\x39\xb6\x29\x7d\x51\x0d\xc1\ +\x79\x87\x24\x3e\xfd\x6c\x5e\x9b\x37\x4b\x7f\x2b\x18\xc0\x20\xde\ +\xaf\xfb\x37\xc1\xdc\x1e\x67\xca\x63\xf5\x0f\xf9\x8c\xcd\x23\x67\ +\x8d\x9f\x15\x9f\x67\x8d\xbd\x94\xb3\xe5\x17\xe2\x26\xc0\xa9\xe7\ +\x66\x35\x78\xeb\x7d\x6e\xd6\x9b\xef\x6a\x8c\x03\xfb\x3c\x5e\x1d\ +\xc9\xfb\xef\x2f\x0b\xfe\x17\xc1\xd0\x3b\x82\x5f\x14\xcc\x8d\x0c\ +\x44\x8e\x9c\x6d\x74\x28\xcf\x95\xed\x51\x70\x33\x0f\x8b\xba\x60\ +\x9c\x77\x48\xe2\xcb\xcc\xfe\x1f\x16\xfc\x87\xc1\x8f\x0a\xe6\xa7\ +\xc6\xcb\x82\x79\xef\x0e\xe2\x8e\x4f\x62\x1c\x60\x38\x2f\xfe\xac\ +\x63\x6f\x84\xb6\x62\x8e\x8d\xac\x5b\x63\x0a\x81\xed\x46\xc0\xe6\ +\xb2\x91\x7d\xe4\xb1\xd6\x25\x52\x3f\x1f\x6c\xbc\x34\xf8\xbf\x06\ +\x9f\x14\xfc\xf1\xe0\x6f\x0e\xfe\x48\x30\x64\x6e\x96\xe3\xc8\xf1\ +\x39\x9c\x4b\x69\x7c\xc3\x72\xab\x8b\xdd\xf9\x86\x24\x3e\xd9\x0d\ +\x63\xf3\x31\x38\xdf\xf3\x39\x3f\xf8\xb6\xe0\xef\x0f\x7e\x6d\xb0\ +\x73\x84\x3a\xd2\x39\x74\x1e\xdf\xbf\xbc\xcd\xf9\x8c\x29\x2a\x04\ +\x0a\x81\xad\x43\x60\xa8\xe9\xe8\xf3\xe5\x2d\xab\x59\xa7\x48\xe3\ +\x7c\xcd\x85\x57\x71\x0f\x0c\xbe\x25\xf8\x79\xc1\xef\x09\x26\xee\ +\x58\x73\x1d\x97\xed\x48\x5b\x99\x4b\x3f\xbe\x0d\xd1\x56\x37\x0a\ +\xe7\x1b\x92\xf8\xe0\xdc\xac\x2e\x08\xfb\xcf\x82\xb9\xd3\xbb\x31\ +\xf8\x05\xc1\xd7\x07\x93\xc7\xe1\x9c\x27\xd4\x15\x5d\x9f\x92\x18\ +\xd4\xdb\x63\x6f\x3d\x16\x02\x85\xc0\x56\x20\x30\xd4\x6c\xf4\x29\ +\x5d\x07\x1b\xa6\x26\x91\x34\xb6\x8b\x82\x79\xcb\xea\x2b\x82\xf9\ +\xc5\x01\xde\xc6\xa2\xd6\xcd\x0d\x75\x44\xe4\x66\x1f\x3a\xd4\xcb\ +\xb1\x77\x03\x8f\x5b\xd5\x28\x9c\x67\x48\xe2\xcb\x8d\x0e\x1b\x3e\ +\x27\x98\xaf\x9e\xf0\x09\x2d\x87\x7f\x56\xf0\xad\xc1\xc6\x39\x64\ +\x1e\x8b\xbe\x5e\x12\xa8\xf5\x8e\xab\xfc\x42\x60\xbf\x23\xb0\x91\ +\x7a\x13\x33\xeb\xce\x06\xc6\x5c\xf8\xce\x08\xfe\x83\xe0\xaf\x0d\ +\xbe\x29\xf8\x69\xc1\xbc\xc7\x67\x5e\xa8\xab\x9a\x1b\x63\x9c\x6b\ +\x9a\x64\xcc\xba\x68\x33\x07\xcb\x0b\x39\xcf\x90\xc4\x47\xd3\x43\ +\x1a\xe7\xf5\xfd\xeb\x82\x9f\x18\xfc\xb9\xe0\xa7\x06\xdf\x18\x4c\ +\x9c\xc3\xe5\x5c\xc7\x28\x23\x3c\x37\x09\xd4\xac\x01\xb3\xf2\x36\ +\xb2\xf6\xac\x35\x77\x73\x7c\x16\x5e\xcb\x3c\x5b\x3d\x37\xab\xd1\ +\x9e\xf5\xdc\xcc\x8b\xd7\xbc\x79\xab\x57\x1f\x5b\xee\x21\x4b\x74\ +\xe6\xe4\x03\xcb\x3f\x09\xe6\x66\x87\x5f\x2c\xb8\x2a\xf8\xcb\xc1\ +\xc4\xcd\x0f\x75\xa5\x11\xea\x9b\x26\xc9\x5d\x17\x6d\xe6\x60\x2c\ +\xe4\xf8\x5e\x1a\xeb\x3f\x84\xb0\xf9\xf1\x8d\xed\x7f\x19\xcc\x47\ +\xd8\xdf\x16\xfc\x96\x60\x0e\xc5\x3c\xfd\x5c\xda\x11\x5a\x45\x82\ +\x80\x33\xeb\xab\x92\x26\xc6\xac\xf8\xd0\x98\xf2\x15\x02\xfb\x19\ +\x81\x69\x75\x37\xe4\x1f\xf2\x81\x9d\x75\xe7\x9d\x1c\x79\xf8\xce\ +\x0b\x7e\x63\xf0\x83\x83\x7f\x35\x98\x6f\x69\x40\xc4\xf8\xf0\x03\ +\x42\x87\x19\x0b\xa1\x67\xd2\x9f\x7d\x73\xe9\xb9\x29\xcd\x35\xa0\ +\x4b\xf2\xb0\x43\x12\x5f\xf6\x6b\xf3\xc5\xc5\x9f\x9d\xcc\xf3\xc3\ +\x21\xaf\x9e\xe4\xd9\x10\x27\xa1\x55\x63\xf5\xcd\x92\x3d\x30\xe4\ +\xe3\x63\xed\xa1\x18\xf1\xa2\x42\xa0\x10\x58\x8d\xc0\xac\x7a\xb1\ +\xae\x1d\xd5\xdb\xfa\xb3\xcc\x39\x7c\x60\x79\x6d\x30\xef\xe1\xf3\ +\x57\x92\x3e\x10\xcc\xef\xcd\xf7\xeb\x3a\xa6\xf7\x47\xea\xc6\xeb\ +\xd9\x49\x99\x64\x3d\xe4\xb8\x69\xb2\x6f\xa6\xd8\xe4\xf2\x17\x1b\ +\xde\x15\xcc\x5f\x6d\xf8\xb5\xe0\x1f\x09\xb6\x29\xd1\xf4\x20\xe7\ +\x1c\x5b\xc7\x1f\x6d\x5a\x4a\x23\x43\x36\x73\xf4\x7e\xf3\xb3\x34\ +\x47\x99\x63\x59\x9f\xb6\xa7\x9c\xb3\x9f\xf4\x59\x78\x2d\x13\x8b\ +\x7a\x6e\x56\xa3\x3d\xeb\xb9\x11\x2f\xe5\xea\xd1\xd3\xad\xa1\xfc\ +\xde\xa7\xad\x74\x36\xf7\xd4\xcb\xff\x10\x09\x3f\x14\xcc\x07\x1b\ +\x8f\x0b\xe6\x3d\x7d\x88\x3c\xef\xf8\xbc\xa3\x53\xf6\x73\x68\x8f\ +\x06\xce\xf3\xd0\x37\xa7\x79\xc6\x90\xe3\xa1\x7a\xe9\xdd\x9a\x7e\ +\x73\x6d\x68\xdc\xe1\xf1\x2b\x66\xef\x0f\xfe\xae\x60\x36\xdc\x8f\ +\xc9\x63\x23\x3c\x95\xf2\x61\xb3\xce\x80\xde\x9e\x36\xc9\xbc\x79\ +\xd3\xc6\x97\xbf\x10\xd8\x2f\x08\xf4\xb5\x42\x9d\xea\xb3\x66\x7b\ +\x39\x0d\x1b\xf2\xe0\xb7\x05\x7f\x53\xf0\x45\xc1\xfc\x19\x2b\xde\ +\xeb\x83\x88\x39\xf7\xc8\x31\x79\x98\xe6\xcf\x39\x33\x75\x26\xd9\ +\x08\x39\xae\x97\x36\x51\xfd\xde\xe1\xb1\x06\x9f\xd8\xbc\x71\xb2\ +\xd8\x73\x42\xfe\xd5\x44\xb7\x21\x3a\x66\xe2\x3e\xe1\xd0\x82\x80\ +\x84\xc9\xd7\xc7\x18\xfd\xea\xc8\xa2\x42\xa0\x10\xd8\x3a\x04\xa8\ +\xb9\xcc\xd6\xa1\x2b\x58\xc3\xbd\x34\xae\xb4\x56\x91\x5f\x1f\xfc\ +\xc7\xc1\xdc\xc9\x5d\x15\xfc\xb7\xc1\x50\xce\x41\xf7\x4e\x4f\x89\ +\x0f\xea\xe5\xd8\xbb\xc6\xa3\x4d\x6a\x8d\x94\xc1\x50\x7f\xa8\xa1\ +\xbb\x35\x72\x72\x43\xfb\xef\x61\x5f\x1c\xfc\xdb\xc1\xbc\x79\x49\ +\x5c\x0e\x75\xa4\x23\xa7\x91\x20\x30\x06\xf2\xb0\x63\x6b\xb6\x6d\ +\x5e\xc9\x42\xa0\x10\x98\x0f\x01\x6b\xcd\xec\x5c\xaf\xd4\x5f\x8e\ +\xa3\x5b\x93\xfa\x95\x8e\x1f\x92\x7f\x17\xce\x8b\x83\x1f\x1d\xfc\ +\xb0\xe0\xdf\x0d\x96\xf2\x9c\xfa\x5c\x43\x7b\xdd\x72\x9e\x4d\xe5\ +\x49\xfb\x7c\x9b\x5a\x2f\xc9\x83\x6d\x86\x7c\x35\xe5\x0d\xc1\x77\ +\x07\x7f\x4d\xf0\x27\x83\x9d\xcb\xb1\xe1\x1a\xd1\xb4\x43\xd1\xe1\ +\x05\x1a\x69\xc7\x1f\x8f\x1a\x3f\xe2\xcf\xe3\xb3\x4e\x46\x6f\x8f\ +\x47\xd5\x63\x21\x50\x08\x58\x8f\x22\xb1\x96\x6d\x2c\x4b\x74\xea\ +\x0b\xd9\xd7\xb4\x79\xce\x9d\xeb\x10\xfd\xc2\xe0\x77\x06\x73\x13\ +\xf6\x0d\xc1\xef\x0b\x36\xc7\xba\xc7\x86\xad\x7b\x6d\xf3\x94\x91\ +\xb2\x36\xad\xf7\x4e\xcf\xcd\x23\x65\x56\x50\x57\xda\xec\x94\xbf\ +\x18\x39\x97\x06\xff\x66\xf0\x2b\x83\xf5\x9b\x1f\xae\x13\x28\x1f\ +\x62\x48\xef\x7d\xbd\xcd\x84\xd9\x37\x64\x9f\xb0\x68\x39\x0a\x81\ +\x42\x60\x84\x00\xb5\x23\xe3\xc8\xb5\x94\xf5\x51\xf2\x24\x6e\x3d\ +\x1b\xc7\x86\x94\x63\xeb\x78\xbf\xd0\xfe\x42\x28\x97\x05\x3f\x2a\ +\x98\xef\xf1\x5d\x13\xec\x1c\xca\x3c\x07\xba\xfe\x50\xd7\x47\x79\ +\xa2\x79\x46\x9a\x6f\xd3\x72\x8c\x36\x71\x18\x1b\x42\xbf\x28\xf8\ +\xbd\xc1\x6c\x92\xbb\xbc\x9b\x82\xcd\x0b\x75\x85\xfa\x43\xd8\xe1\ +\xc9\x25\x66\x3c\x4b\xfd\xfa\x56\x26\x9b\x28\xd9\x8f\xee\x5c\x7d\ +\x5e\xd9\x85\x40\x21\x70\x1c\x01\xea\x44\xca\x3a\x3e\x6d\x64\xd6\ +\x8d\x65\x9f\x7d\x80\x18\x64\x6c\x6c\xad\xae\xeb\xaf\x0c\xe7\x5b\ +\x82\x79\x35\xc8\x17\x97\xf9\x44\x37\xd7\xb7\x7a\x7f\xa7\xa7\x1d\ +\xe9\x23\xca\x35\xaf\x6f\x95\x3c\xbc\xca\x5a\xbf\xe1\x21\x90\xea\ +\xce\x82\xcd\xa1\x5f\x3c\x89\xfd\x59\x48\x1b\x5e\xa8\x53\xa9\xdf\ +\xb4\x87\xd5\x3f\xcd\xee\x27\x34\x3f\xfb\x7b\x80\x72\xac\xf4\x42\ +\xa0\x10\x18\xd7\x71\xae\x1d\xf4\x5c\xdb\xda\x48\x9b\x9a\xf9\xbc\ +\x72\x34\x0e\x96\xd4\xdb\x50\x6f\x20\x26\x11\x67\x0c\xdf\xe8\xe0\ +\xe6\xe8\x31\xc1\xfc\x41\x82\xdf\x08\xb6\x5e\xc9\xf1\x2b\x2c\xe6\ +\x87\x6b\x34\x37\x7b\x60\x3c\x3c\x17\xb1\xc9\xf5\x10\x0b\xc0\x2c\ +\x0c\x69\xa3\xe3\x33\x96\xe5\x7f\x0b\x3f\xb7\xac\x3f\x1d\xfc\xc1\ +\x60\xc7\x2a\xc3\x35\xa2\xbc\xe9\xac\x7b\x70\x7d\x48\x99\x81\x43\ +\xba\xb9\xa3\x89\xd3\xc3\x34\x7f\x4a\x29\xb5\x10\x28\x04\x3a\x04\ +\xac\xb1\xbe\x7e\xfa\x1a\x66\x18\x39\x43\x7e\x62\x6b\xf9\x89\x9d\ +\x1e\xfc\xb4\xe0\x33\x83\xf9\xc0\xd3\x7c\xa4\x7d\x40\x5f\xbf\x97\ +\x48\x99\x8f\x9c\x60\x56\xb6\x79\x48\x99\x31\x36\x37\x74\xfc\x36\ +\x51\xfc\xf0\x57\x05\xbf\x35\x98\x6f\x60\x73\xcb\xca\xad\xab\x73\ +\x85\x3a\x22\x37\x9f\x65\xd6\x3d\x2c\xc9\xf8\xed\xf8\xa3\xc1\x13\ +\x1f\x7e\xc7\xe8\xcf\x72\xad\x58\xce\x2b\xbd\x10\xd8\xef\x08\xf4\ +\xf5\xd9\xe3\x61\xfd\xe7\x3c\x75\x6a\x1e\xca\xd2\x98\xe3\x88\xeb\ +\x43\x97\xa8\xd1\x87\x04\x73\xc7\x87\x7e\x71\x30\xbf\x97\x6f\xfd\ +\x53\xf7\xd6\x31\x52\x3f\x12\x3b\xc7\xc2\x9c\x4e\x9b\x7d\x79\xdb\ +\xcf\xec\x61\x94\x4f\x9d\x24\xbc\x2d\xe4\x5d\xc1\xfa\xfb\x71\xda\ +\x6e\x1c\x5b\x5d\x69\x4e\x8e\xad\xa5\x9b\x3f\x34\xde\x58\xc9\x42\ +\xa0\x10\x58\x8d\x00\xf5\x32\xab\x4e\x89\x5b\x57\x59\x77\x26\x63\ +\xbd\x3d\x6b\xde\x4f\xc7\x00\x7e\x1d\x8d\xbf\xb1\xc9\x2f\x31\xbc\ +\x26\x38\x93\x6b\x21\xb3\x4e\x4e\xbf\x66\x1e\xb7\x4a\xdf\x68\xd3\ +\x73\xf3\x2e\xce\xa4\xfa\xf2\x02\x57\x4d\x8c\x37\x4d\xe2\x39\xc7\ +\x4d\x66\x89\x6e\x8e\x9d\xdc\x78\xb6\xf1\xe9\xef\x25\x4b\xea\x43\ +\x2f\x2a\x04\x0a\x81\xf5\x21\x30\xad\x7e\xac\x4d\x5f\x6d\x69\x73\ +\x67\x87\x7e\xef\x44\xfa\x8a\xaf\x9f\x47\x1b\x49\xbe\xe3\x43\x5d\ +\xd1\xb9\x41\xa2\xe9\x3d\x39\x98\xa6\x67\x8e\x77\x8f\xae\x1d\xa1\ +\x15\x22\x87\x78\x9e\x7f\x25\xd8\x2b\x4e\xd4\xfb\xe7\xb1\xdd\x0c\ +\xb9\x59\xd7\xc6\xc7\xb7\xad\xa1\x37\x8d\xc5\xd4\x47\x37\x4b\x42\ +\xbe\x5d\xd5\x9f\xe5\x5a\xf1\xa9\x0b\x54\xa0\x10\x28\x04\xb6\x04\ +\x01\x6a\x31\xd7\x63\xd6\x5d\x20\xfb\xbc\x59\x21\xa6\xdf\xbc\x21\ +\xf9\x17\x13\x27\x7f\x88\x00\xea\x7b\xcb\xd8\xbb\x89\xc7\x79\xee\ +\xf4\x58\xd4\x85\xd5\x95\x2e\x6d\xf3\x34\x0f\xff\xf9\xc1\xbc\x31\ +\xc9\xcb\xda\x8f\x04\xe7\x18\x87\x17\x00\x75\xe3\x82\x64\xbc\x6f\ +\x72\xe6\x1b\x8f\xa9\x46\x94\xed\xac\x1b\x2f\x59\x08\x14\x02\x9b\ +\x43\x20\xd7\xbd\x35\x86\xcf\xbb\x2f\xfb\x00\xb6\xf5\xec\x8a\xc6\ +\xb0\x89\x31\x1e\x36\x4f\x79\x5d\xf8\xa0\x47\x04\xeb\x1b\x39\x26\ +\x0f\xfa\x94\xc6\xf2\x7e\x7a\x9f\xf6\x48\xe6\x8d\xac\x0a\x0c\x18\ +\x2c\xd2\x2f\x34\x90\xb6\x92\xc3\x2d\x2a\x44\xc3\xb3\x91\x8d\x1c\ +\xe9\xc1\x8d\xe2\x22\x27\x37\x38\x7c\x7d\x3c\xdb\xc4\x8b\x0a\x81\ +\x42\x60\x7b\x11\xa0\x26\x65\x76\x92\x6b\x54\x1d\x99\x7b\x80\x7e\ +\xf2\x7b\xba\x31\x1c\xc4\xf9\x8b\x4c\x7c\xeb\x43\xea\xfb\x4f\x6f\ +\x9b\x37\x53\xae\xd5\xf4\x9c\x74\xa8\xd1\xe5\x58\x8e\x67\x3f\x9f\ +\xd6\x42\x76\x6e\x74\x0e\x23\x63\xe7\xb1\xd8\x19\x0c\x9b\xa0\xd2\ +\x78\x6e\x8c\xe4\x1b\x77\xde\x3c\x07\x63\x8a\x0a\x81\x42\x60\x6b\ +\x10\xc8\xf5\xd6\xd7\x61\x8e\x59\x8b\xb9\x36\xcd\x67\x27\xc6\xd5\ +\xf3\xee\xbe\x1c\x06\x7f\x42\x1e\xba\x38\xd8\x9e\x32\x72\x74\x76\ +\x8e\x65\xdd\xdc\x41\xb9\x56\xd3\x1b\x1c\x30\xb0\xe8\xb4\x3c\xfe\ +\x66\x1e\xc4\x27\x32\xd3\x88\xc3\x4b\xf3\xe8\xe6\x96\x2c\x04\x0a\ +\x81\xdd\x87\x00\x35\x4e\xf3\x83\x72\xe3\x1b\x7b\x8e\x3f\xf2\xdb\ +\x18\x10\x77\x7b\x12\x4d\x6d\x4b\x68\x9e\xf7\xf4\x58\xc8\x2e\xea\ +\xc2\x6c\x58\x1d\x69\xf3\x34\x8f\x31\x7c\xc1\x10\xfa\x7c\xf0\x50\ +\x43\xcb\x87\xf6\x27\x02\xf9\xbc\x1f\x90\xe7\xcf\x20\x11\x77\x2e\ +\x25\xbe\xa2\x42\xa0\x10\x58\x3e\x02\x7d\x0d\x5a\xab\xf6\x06\x77\ +\x64\x1e\x92\x18\x92\x9e\x91\xf3\xcc\xc1\xf7\xa5\x60\xe8\xd4\xb1\ +\x58\x79\x24\x96\xc7\xac\x04\x3a\x85\x1c\xe7\xeb\x42\xc7\x9b\xd5\ +\x09\x81\x35\x1c\x79\xe1\xbc\x81\x5e\xb7\xe9\xf1\xcb\xc4\x3d\xb1\ +\x21\x37\xa5\x24\x27\xfb\x01\x30\xc7\x88\x17\x15\x02\x85\xc0\xee\ +\x40\xc0\xda\xcd\x35\xcd\xce\xa7\xf9\xf3\xa9\xee\x9c\x18\xa7\x25\ +\x67\xee\x2f\xc9\xbd\x7e\x75\xd6\x9d\xde\xac\x85\x72\x9c\xc3\x64\ +\x9b\x4f\x6e\x21\xbb\xf6\xd8\x3a\xf1\xd1\xe6\x26\x18\xcc\xa1\x8e\ +\xcc\x3a\xa3\xb5\xd1\x8b\x0a\x81\x42\x60\xfb\x11\xb0\x26\xad\x7f\ +\x6d\x77\xa6\x8d\x84\xc9\xf3\xd5\xa1\x39\x8e\xc5\xe6\x1b\x1f\xd0\ +\x29\xc1\xd9\x3f\x72\x76\x0f\xc6\x9d\x97\xb0\xeb\x75\xa9\x63\xb3\ +\x5f\x78\x30\x69\x4e\xa7\x8b\x93\x9e\xf5\x69\xc3\x05\x20\xc7\xb3\ +\x6f\xcd\x8d\xe7\x41\xa5\x17\x02\x85\xc0\x8e\x44\x20\xd7\xf3\xb4\ +\x0d\x5a\xe7\xca\x69\x79\x5b\xe6\x9f\x75\xa7\xc7\x42\x34\x30\x9b\ +\x98\xba\xb6\x1b\xc9\x7e\x75\x63\x48\x0f\x34\x24\xf5\xf5\x77\x7c\ +\xfa\x7b\x99\xe7\x2d\xbd\x10\x28\x04\x76\x0e\x02\x7d\xad\xf6\x76\ +\xde\xa9\x31\x6e\xbc\xd0\xe9\x1b\xca\x9c\x37\x4d\x1f\xea\x41\xe4\ +\x3a\xef\xb4\x71\x27\xdc\x62\x4e\x4d\xdc\xc2\xc0\xcc\x4d\x6d\xe1\ +\x5a\x35\x55\x21\x50\x08\xec\x0c\x04\xa8\xfb\xa1\xda\xd7\xa7\x5c\ +\xf8\x6e\xe7\xb9\xd3\x63\x13\x76\xd5\xa1\xbb\xb8\xf5\x6e\x92\x39\ +\xf2\x5d\x5d\x7f\xd8\x59\xf6\x7a\xd7\xab\xfc\x42\xa0\x10\x58\x0e\ +\x02\xd6\xae\x32\xaf\x6a\x0f\x19\x8a\x91\x37\x2b\x9e\xe7\xda\x48\ +\xfe\xca\xf8\x79\x9b\xde\xca\x80\x2d\x50\xa6\x1d\xba\x9f\x7a\xde\ +\xbc\x7e\x5c\xd9\x85\x40\x21\xb0\xf3\x10\xa0\x9e\x61\x9b\xdb\x46\ +\x77\x98\xc7\x6f\xa8\x47\x6c\xb4\xe9\xe5\x85\xd7\xb3\x79\x0f\xde\ +\xcb\xa1\x39\x36\x74\xa0\xa1\x89\xca\x57\x08\x14\x02\x3b\x02\x81\ +\x5c\xd3\xeb\xed\x21\xf3\xe6\x0f\xe5\xe5\x75\x37\xf5\x9e\x1e\x93\ +\xcb\x9b\x45\xd4\x26\xb8\xd9\x79\x6a\x7c\x21\x50\x08\xec\x0e\x04\ +\xb6\xb2\xe6\xd7\xd5\x87\x86\xee\xf4\xec\x94\x4e\xa4\xbd\x16\x94\ +\xe6\x4e\xcb\x59\xd5\x69\xa7\x25\xed\x00\x3f\xdf\x00\x7f\x41\xf0\ +\x05\xc1\x7f\x19\xfc\x86\xe0\xa2\x42\x60\x37\x21\xb0\x93\xae\x61\ +\xeb\x5e\x29\x8e\x43\x3d\xc5\x9c\xa1\x98\xe3\xb6\x44\x0e\x35\xbd\ +\x69\x13\xcf\x6a\x6c\xd3\xc6\x0d\xf9\x39\xa0\x87\x1c\x8a\x6f\x87\ +\x8f\xbf\xe8\xc0\xdf\xf2\xfa\x8a\xb4\x38\xff\xbf\xc7\xbf\x48\x76\ +\xa9\x85\xc0\x4e\x46\xa0\xae\xe1\x39\x9e\x9d\xad\xfc\x72\xf2\x1c\ +\xcb\x0d\xa6\xd8\x00\x7b\x39\x98\xbc\x40\xe7\x8f\xc5\xdc\xb9\xe1\ +\xb1\xd4\xff\x16\xcc\x7f\x54\x5e\x54\x08\xec\x06\x04\xea\x1a\x9e\ +\xe3\x59\xda\x09\x4d\x6f\x8e\x6d\x2e\x25\x65\x5a\x73\x9b\xe6\x5f\ +\xca\xa6\x6a\x91\x42\x60\x1d\x08\x4c\xbb\x56\xa7\xf9\xd7\x31\xf5\ +\xc2\x52\x97\xfe\x8a\xaf\x9a\xde\xf1\xe7\xf2\xc8\x71\x75\x95\xc6\ +\x7b\x24\x45\x85\xc0\x6e\x40\xa0\xae\xe1\x39\x9e\xa5\xed\x68\x7a\ +\x4b\xef\xec\x73\xe0\x50\x29\x85\x40\x21\xb0\x4f\x10\xd8\x8e\xa6\ +\xb7\x4f\xa0\xad\x63\x16\x02\x85\xc0\x4e\x44\xa0\x9a\xde\x4e\x7c\ +\x56\x6a\x4f\x85\x40\x21\xb0\x30\x04\xaa\xe9\x2d\x0c\xda\x9a\xb8\ +\x10\x28\x04\xe6\x44\x20\xbf\xe5\x95\xf5\x39\x87\xaf\x2f\xad\x9a\ +\xde\xfa\xf0\xaa\xec\x42\xa0\x10\xd8\x7a\x04\xd6\xf3\x85\xe4\x4d\ +\x7f\x5f\x78\x19\x4d\xcf\xce\x8d\x54\xdf\x7a\xd8\x6a\xc6\x42\xa0\ +\x10\xd8\xad\x08\xe4\xbe\x90\xf5\x85\x9c\x67\x3d\xbf\x91\xb1\xd1\ +\x0d\xd8\xc5\x95\x0b\x3f\xd4\x46\x37\x5a\xe3\x0a\x81\x42\x60\xd7\ +\x20\x60\x3f\x59\xf7\x86\xeb\x4e\x6f\xdd\x90\xd5\x80\x42\xa0\x10\ +\xd8\xcd\x08\x6c\xf4\x4e\xcf\xd7\xd5\x1b\xee\xb6\xbb\x19\xb4\xda\ +\x7b\x21\x50\x08\xec\x38\x04\x72\x2f\x5a\xf3\xd5\xe4\x32\xee\xf4\ +\x76\x1c\x3a\xb5\xa1\x42\xa0\x10\xd8\xbf\x08\xcc\xd3\xf4\xea\xae\ +\x6e\xff\x5e\x1f\x75\xf2\x42\x60\x37\x22\x90\xef\xfa\x4e\xd8\xff\ +\x3c\x4d\xef\x84\x41\xe5\x28\x04\x0a\x81\x42\x60\xb7\x22\x30\xed\ +\x3d\xbd\x8d\xde\xdd\x39\x6e\xb7\xe2\x51\xfb\x2e\x04\x0a\x81\xbd\ +\x81\x40\xbe\xdb\x5b\xf5\x1e\xdf\x56\xdc\xe9\xe5\xc9\xb3\x2e\x74\ +\xfa\x90\xea\xc6\x4a\x16\x02\x85\x40\x21\x90\xfb\x42\xd6\x45\x26\ +\xfb\xb2\x6e\x7c\x5d\x72\x2b\x9a\x5e\xee\xa2\x59\x77\x23\xfa\x90\ +\xea\xc6\x4a\x16\x02\x85\x40\x21\xb0\x56\x5f\xe8\x9b\xdc\x5a\xb9\ +\x73\x21\xb9\x15\x4d\x2f\x6f\x2a\xeb\x6e\x40\x1f\x52\xdd\x58\xc9\ +\x42\xa0\x10\x28\x04\x72\x5f\xc8\xba\xc8\x64\x5f\xd6\x8d\xaf\x4b\ +\x6e\x45\xd3\x5b\xd7\x82\x95\x5c\x08\x14\x02\x85\xc0\x76\x22\x50\ +\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\ +\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\ +\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\ +\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\ +\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\ +\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\ +\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\ +\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\ +\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\ +\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\ +\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\ +\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\ +\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\ +\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\ +\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\ +\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\ +\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\ +\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\ +\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\ +\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\ +\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\ +\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\ +\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\ +\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\ +\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\ +\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\ +\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\ +\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\ +\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\ +\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\ +\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\ +\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x70\x78\x3b\ +\x17\xaf\xb5\x77\x04\x02\x07\x26\xbb\x38\xb6\x23\x76\xb3\xfe\x4d\ +\xb8\x7f\x46\x66\x7d\x3d\x33\xf5\x67\xef\xed\xf5\xcc\x55\xb9\x3b\ +\x1c\x81\xba\xd3\xdb\xe1\x4f\x50\x6d\xaf\x10\x28\x04\xb6\x16\x81\ +\xba\xd3\xdb\x5a\x3c\xb7\x7b\x36\xef\x74\x94\x43\xfb\x59\x2b\x46\ +\xfe\xd0\x5d\x4e\xef\xeb\xed\xa1\x75\x16\xe5\x73\xff\xbd\x74\x3d\ +\xfd\xda\xf3\xca\x7c\xa6\xac\x33\x3e\xdb\x59\x9f\x77\xee\xca\xdb\ +\x41\x08\x54\xd3\xdb\x41\x4f\x46\x6d\x65\xd3\x08\xd8\xf0\x94\xf3\ +\x4e\x48\x23\x73\x4c\x35\xb5\x79\x51\xdb\xa5\x79\xd5\xf4\x76\xe7\ +\x13\x67\x81\x0e\xed\x9e\x98\x3c\x2d\x3e\xe4\xb7\xd8\xf3\xdc\xf8\ +\x6c\x08\xc6\x19\x6b\x4e\xf6\x0d\xcd\xb9\x95\x3e\xd7\x74\xce\x6c\ +\xa3\xcb\xc6\x91\x43\xbe\x1c\xcf\x3a\x67\x39\x3a\x19\xa3\xdf\xf3\ +\x21\xd5\x8d\xf5\x72\x56\xbc\xcf\x2f\x7b\x9b\x10\xa8\xf7\xf4\xb6\ +\x09\xf8\x2d\x5a\xd6\xa2\x56\xf2\x7c\xc2\xda\x59\x1a\x9b\x25\x1d\ +\xc3\x16\xd1\x9d\x4f\x89\x6f\x3b\xc8\x7d\x29\xd9\x43\xde\x9f\xfe\ +\xf1\xf9\x9e\xff\xdb\xff\xb4\x3d\xf5\x3f\x5d\x14\x39\xd8\x87\x66\ +\xf0\x50\xce\x78\x9e\xe3\x6b\x60\xbb\x46\x96\xe1\x2e\xda\x4d\x08\ +\xf0\x44\x16\xed\x7c\x04\x72\x91\xf5\x7a\x2e\x58\x0b\x55\x39\xab\ +\xd8\x57\xc7\xcf\xf9\xca\x93\xdb\xb7\xfe\xf7\x27\x07\x1c\x8e\x47\ +\xba\x1e\x28\x65\x7d\xc8\xc6\xb7\xd5\x34\x6d\xcd\xec\x47\xcf\x7b\ +\x3e\xd4\x0e\x9d\xf4\xa3\xed\xdc\xaf\xf8\x60\x7b\xe1\x2b\xfe\xb4\ +\x7d\xdb\xff\xfb\x03\xed\x6b\x7f\xf0\xdc\xc8\xe1\x95\x4d\x66\xcf\ +\x9f\x7d\xe8\xfa\x95\xcc\x8d\x9e\x63\x19\x1b\xf7\x32\x24\x63\x58\ +\xd1\x4e\x42\x80\x27\xb1\x68\xf7\x20\x40\x51\x41\x59\xe6\x42\x33\ +\xa6\x2f\xdb\xe8\x90\x63\xc7\x16\x8f\x57\xfe\x87\xf3\xda\xb9\x8f\ +\xfc\x9e\x76\xe8\x94\x97\x46\xf4\x8b\xe1\x79\x5c\xb0\x2f\xd7\x90\ +\xbe\xec\x43\x87\x9d\xc3\x9c\x70\x2d\x95\x58\x9f\xa6\x03\x79\x56\ +\x9b\x90\xf2\x9e\x88\xc4\xbf\x43\x5f\xdf\x4e\x39\xe3\xeb\xdb\xa5\ +\x4f\xfb\xbf\xda\xc5\x4f\x79\x73\xbb\xeb\xb6\xdf\x6b\xef\x7d\xd5\ +\xab\xdb\xc7\xfe\xe8\xf6\x18\xeb\xfe\x3d\x17\x63\xd5\x99\x1b\x9d\ +\xb3\xeb\x43\xba\x6e\xc6\x24\xdc\xa3\x3c\xa4\x44\x6e\xd1\x0e\x44\ +\xa0\x9a\xde\x0e\x7c\x52\x62\x4b\x36\x15\x77\x67\xa1\xe9\xcf\xb6\ +\x45\x9f\x25\xe3\xb2\xed\x38\xfd\xad\xdd\xef\xe1\x07\xdb\x95\x3f\ +\xf6\xcc\x76\xda\x03\xbf\xaf\x1d\x3e\xfc\x8c\x48\x1f\xcf\x79\xec\ +\xd8\x97\x23\x89\xbb\x1a\x0b\x9e\x31\xc4\xd6\x2a\xe2\xb5\x62\x8c\ +\xdf\x0c\xb9\xf7\x2c\x3d\x1b\xf3\xa2\xb3\x3f\x79\x6c\x1f\x3b\x46\ +\xd3\x3b\x4e\x07\x0e\xc4\xdd\xdf\xc9\x4f\x8d\xf3\x3e\xb5\x3d\xf1\ +\x9f\xfc\x97\xf6\x84\x17\xbf\xa1\xdd\xf1\x99\xab\xdb\x5f\xfe\xda\ +\xeb\xda\xe7\xde\xcf\x99\x21\x1a\x19\xc4\x79\x32\xf7\x8d\x8f\x9c\ +\xfb\x26\x39\xe8\xf9\xfc\xea\xae\xee\x9c\xe4\x41\xc6\xc7\x56\x3d\ +\x2e\x1d\x81\x6a\x7a\x4b\x87\x7c\xcd\x05\x2d\x14\xa5\xc9\xda\xe3\ +\xc6\x74\xbc\xa1\xd1\x9c\x20\xe2\x72\x9f\xa3\x3d\x4a\x6c\x5f\xf3\ +\xfd\x0f\x6b\x17\x7e\xe3\x77\xb5\x53\x4e\x7f\x49\xf4\xb9\x87\x8d\ +\x9d\xab\x1e\x4f\x0e\x8b\x31\x16\x27\x52\xf6\xee\xc6\x26\xe0\x40\ +\xf7\xe7\x18\xfd\x5b\x29\x5d\xc3\xf3\xe4\xf3\xe2\xcb\x1c\xb1\x68\ +\x7a\xd3\xe8\x40\x3b\xa5\x1d\x3e\xf2\xdc\x76\xe6\xf9\xcf\x6d\xcf\ +\x7a\xd9\xed\xed\xde\x2f\xbf\xb6\xdd\xf6\xc9\x3f\x68\x6f\xfe\xd9\ +\x37\xb7\x3b\x6f\xb5\x99\x71\x16\xcf\xa9\xcc\x38\x38\x3b\xf9\x10\ +\xb5\xe4\x18\x6c\xb1\xc8\x58\xe2\x67\xdf\xc6\x94\xf8\x8b\x96\x84\ +\x40\x35\xbd\x25\x01\x3d\x63\x19\x0b\x3a\x4b\x75\x86\x52\x38\xda\ +\x48\x9b\x1d\x92\x18\x64\x0e\x71\x58\x3b\xd4\xd3\x0e\xb4\x67\xff\ +\xc7\xa7\xb7\xfb\x3d\xec\xbb\xe3\x6e\xe7\xe9\x8d\xbb\x9e\xe9\x44\ +\xd3\x23\x4e\x41\x32\x0f\x12\xa6\xf0\x21\x74\xe6\xce\x3e\xfc\x99\ +\x88\xad\x97\x58\x6b\x88\xf4\x7b\x4e\x6c\xd8\xb3\xa3\x13\xd3\x9e\ +\x9c\x7b\x8d\xa6\x17\xc9\x2b\x74\xe0\xc0\x19\xed\xa4\x53\xbf\xa3\ +\x9d\xfd\x88\xef\x68\xff\xe8\x57\x6e\x6d\x77\xdf\xf1\x9a\xf6\xb9\ +\x8f\xbd\xaa\xfd\xd9\x4f\xbe\x23\x72\x38\xb3\x0d\x4f\x49\x93\xf3\ +\xfc\x9c\xd3\xfd\x89\x8f\x36\x31\x31\xea\x7d\xd8\x79\x6c\x98\x23\ +\xc2\x57\xb4\x60\x04\xaa\xe9\x2d\x18\xe0\x35\xa6\xb7\x10\x94\xa4\ +\xa2\xcb\xd8\x93\x02\x46\x1d\xf9\xb1\x21\xa4\x31\xf2\xb5\xb3\x3c\ +\xd0\x1e\xfd\xfc\x73\xdb\x25\xcf\x7c\x51\x3b\x72\xe6\x77\xb6\x83\ +\x87\x1e\xce\xc0\x39\x88\xa6\xc7\x75\xe1\x1d\x8c\xc5\xcb\x50\xf7\ +\xea\xdd\x10\xbe\xad\x2a\x54\xe7\x66\x4e\x48\x3b\x9f\x13\x9f\x0d\ +\xdb\xb3\xe2\x53\xb7\xf1\x1d\x6a\xc7\x8e\xde\xcb\x24\xeb\xa2\x03\ +\x07\xcf\x6e\xa7\xdc\xef\xbb\xdb\x43\x1e\xf3\xdd\xf1\x01\xc8\xdf\ +\xb7\xbb\x6f\xfb\xc3\x76\xcb\x07\x5f\xd5\xde\xf6\x5f\xae\x8d\x79\ +\x6c\x7a\xac\xc7\x99\xc5\x40\x1b\x09\x29\x89\xa3\x1b\x67\xcc\x90\ +\x1e\xee\x13\x68\xab\x30\x3d\x61\xe2\x72\x8c\x2f\xee\xc2\x61\xfb\ +\x10\xb0\x40\x2c\x8e\x21\x1b\x1f\x45\x0d\x51\xd4\x39\x87\xe6\x64\ +\x7c\xd2\x1c\x4e\x3d\xd4\x9e\xfe\x13\x57\xb6\xb3\x2f\x8a\xbb\xba\ +\x53\x9e\x31\xe3\xae\x8e\x39\x3b\x3a\x70\x52\x38\x5c\x87\xc2\xb5\ +\xd8\xc9\xa3\x18\x2d\x5e\x6c\xd6\x86\x2d\x52\xef\x76\x88\xad\x97\ +\x3c\x17\xe3\x9c\x37\xeb\xfa\x90\x93\xb3\x8e\xf2\xd8\xab\xcd\x0e\ +\xff\xd8\x3e\x1a\x77\x7a\x68\x1b\xa5\x83\x87\x1e\xd6\x8e\x9c\xf5\ +\xcf\xdb\x05\xdf\xf0\xcf\xdb\x79\x2f\xbf\xa1\xdd\xf5\xc5\x57\xb5\ +\xbf\x7f\xd7\xd5\xed\x1d\xbf\x7c\x43\x4c\x29\x06\xc8\xbe\xf9\xe5\ +\x15\x89\x83\x09\x7b\x46\xcf\xe3\xd0\x7b\x1a\xf2\xf5\x39\x65\x6f\ +\x12\x81\xba\xd3\xdb\x24\x80\x73\x0c\xe7\x82\x87\x94\x63\xeb\x78\ +\x61\xe3\xcf\x4c\xdc\xa2\x46\x42\xd9\x26\x57\x9b\xe7\x0f\xfd\x60\ +\xbb\xe2\x5b\x1f\xdc\x2e\x7f\xf6\x0b\xdb\xa9\x0f\x7c\x51\x3b\x74\ +\xe8\xbc\xf0\x6d\x94\xb8\xd3\x3b\x25\xd8\x86\x87\x54\xb7\x01\xb2\ +\x26\xba\x4d\x2e\xfb\x2d\xee\x08\xcf\xa4\x1e\x13\x07\xe8\xf7\xac\ +\xf8\x6d\xf0\xe8\xf8\x69\xce\x48\x9b\x9e\x8d\x6f\xd2\xf4\xee\x73\ +\x6f\x91\xb2\x49\x3a\x78\xf8\xd2\x76\xea\xd9\xff\xb6\x5d\xfa\xf4\ +\x7f\xdb\x2e\x7a\xca\xb5\xed\xce\xcf\x5d\xd3\x3e\xfa\xe7\xd7\xb4\ +\xf7\xff\xee\xdf\xc7\xcc\x9e\xdd\xe6\xa7\x14\x07\xf7\x91\x6d\x75\ +\x24\xa4\x0d\xae\x50\xf6\x67\x7b\x14\xac\x87\xcd\x21\x50\x4d\x6f\ +\x73\xf8\xad\x67\xb4\x85\xec\x18\xec\x69\xec\xc5\x8f\xcc\x39\x3e\ +\x5f\x14\x36\xfe\xc3\xed\xe9\x2f\xbb\xb2\x3d\xe0\xd2\x17\xb7\xc3\ +\xa7\x3e\x33\x3c\xc6\x23\xb4\x41\x1a\xcf\xe1\xba\x14\xb0\xe4\x3e\ +\x28\x48\x0a\x19\x1b\xc2\xce\x31\x7c\x8c\xb7\x70\xb1\xa7\x91\x73\ +\x0c\xc5\x8d\xb9\x17\xd7\xe0\xec\x90\x4d\x8e\x38\x3c\x6e\x76\xca\ +\x8d\xbc\xbc\x65\xd6\x59\x74\xe8\xe4\x47\xb7\x33\xce\x7d\x74\x7b\ +\xf4\x0b\x7f\xbc\x3d\xea\x1f\xbf\x23\x3e\xf8\x78\x55\xfb\xc0\xd5\ +\xaf\x6e\x1f\x7d\xc3\x67\x63\x28\x67\xf6\xec\xfe\xa0\x60\xdf\x3d\ +\x66\xe2\x87\x5f\x9c\xcc\xd3\x8e\xd0\x0a\x0d\xf9\x56\x82\xa5\xac\ +\x0f\x81\xcd\x17\xc9\xfa\xd6\xdb\x0f\xd9\x16\xeb\x90\xc4\xb7\x16\ +\xe7\x02\xb7\x90\xc9\x3f\xde\xe4\x18\x7f\xc9\x33\xcf\x69\x8f\x7a\ +\xde\xf3\xdb\xe9\x0f\x8c\xf7\xea\x0e\x9f\xbf\xe5\xa0\x9e\xfe\xe0\ +\xfb\xb7\x3b\x6e\xe1\x6b\x1c\x16\x6e\x96\x14\x20\x9f\x8c\x22\xd9\ +\x9b\x05\x89\xcc\x7a\x98\x53\x89\x71\xd3\xc8\x18\x32\xeb\x5e\xab\ +\x48\xfc\x48\x30\x82\xd1\xe5\x71\xf3\x3b\x76\xaf\x77\x58\x11\x5a\ +\x00\xf1\x1d\xc0\xc3\x27\x3f\xb1\xdd\xef\x21\x4f\x6c\x5f\xf7\x03\ +\x3f\xd9\x1e\xff\xbd\x6f\x09\xcc\x5e\xd5\xde\xfd\xdb\x7f\xd2\xfe\ +\xfe\x6f\xee\x88\x15\xc1\x0c\x3c\x7a\x29\x4e\x59\xba\x57\x64\xc6\ +\x50\x5d\x1c\xb4\x7b\x19\xc3\x8a\xe6\x45\x80\x0b\xa5\x68\x6b\x11\ +\xf0\x02\xcd\x12\x5d\x3b\x37\x36\x7c\xd9\x66\x27\x16\x71\x8e\xf1\ +\x3c\x1d\x68\x4f\x7d\xd9\x93\xdb\xd9\x17\xbf\xa4\x9d\x7c\xda\x33\ +\xc3\xe4\xe5\xdd\x62\xe8\x94\xfb\x9f\x16\x05\xcc\x07\x01\xec\x81\ +\xa2\xcd\x44\xc1\xc1\x16\x2a\xb1\x69\xc5\x4a\x6c\x88\xc4\xa2\x8f\ +\xe1\x67\x6e\xcf\x4e\xdc\x86\x2f\x4e\xd8\x19\x23\xec\xdc\xf0\xd0\ +\x0f\xb5\xa3\xf7\xf5\xfb\x0e\xf7\x82\x88\xbb\xe3\xc3\x47\x9e\xda\ +\xce\xbc\xe0\xa9\xed\xca\x7f\xf7\xe5\xf8\x0a\xcc\x9f\xb6\xdb\x3e\ +\x7d\x75\x7b\xfb\x2f\xbd\xb1\x7d\xe1\x26\x7e\x78\x78\x26\x71\xcb\ +\xd2\x4d\x99\x23\x06\xf8\xd5\x39\x2f\x44\x0e\x2c\x65\x5d\x5f\xc9\ +\x19\x08\x54\xd3\x9b\x01\xd0\x1a\x61\x2e\x48\x48\x39\xb6\xc6\x05\ +\x99\xfd\x5e\xb0\xe4\xc9\xf8\x60\xec\x5e\xc7\x37\x6e\x72\xc4\x1e\ +\xf1\x9c\x07\xb6\x2b\x9e\xf3\xc2\x76\xc6\x39\x2f\x6a\x07\x4f\xba\ +\x30\x62\x8b\xa7\x93\x4e\x3d\x3d\x16\xb9\x3b\x98\xc6\x47\xf3\x80\ +\x69\x6c\x4a\x1a\x8d\x36\x85\x67\xd3\xb3\x08\x95\x11\x5a\x45\x9c\ +\x6d\x16\x99\x83\x84\xc5\xc9\xe6\x07\x36\xf8\x68\xfa\x62\x97\x1b\ +\x1f\xf1\xc3\xed\xe8\x3d\xd3\xf6\x10\xe1\x05\xd2\x81\x83\x47\xda\ +\x49\xa7\x3d\xb7\x9d\x7d\xc9\x73\xdb\xb3\x7f\xee\xb6\x76\xef\x1d\ +\xaf\x6d\x5f\xf8\xc4\xd5\xed\x6d\xbf\xf0\xd6\x78\x2f\x10\x9c\x86\ +\x70\xe3\x1c\xee\xd7\x38\x9b\x14\x57\x74\xe2\x39\x07\x9f\xe3\xf4\ +\xe3\x2b\x9a\x81\x40\x35\xbd\x19\x00\x6d\x20\x9c\x8b\xd6\xe1\xf8\ +\x28\x4c\xc8\x42\xe6\x82\xed\x75\x0b\xfb\x50\xbb\xea\xff\xfc\x86\ +\xf6\xc0\x4b\x5e\xd2\x4e\x3a\xfd\x59\xf1\x09\x2c\x1f\x2e\x2c\x8f\ +\x0e\x9f\x7a\x24\x16\x63\x7f\xee\x39\xaf\x6d\xa1\x79\x4e\x0a\x53\ +\xb2\x30\x89\x4d\x2b\x44\xc7\x39\xa6\x97\xc6\x95\xfe\x00\xc0\x0e\ +\x3e\xe5\x70\x3b\xfd\xac\x93\xdb\x91\xb8\x1b\x3d\xf9\x8c\xf8\x92\ +\x71\xec\xf5\xf0\x91\x53\xe2\xfb\x87\xd1\x6c\x8e\x1c\x89\xaf\xe6\ +\x1c\x69\x07\x0e\x1f\x09\xfb\xcc\x7e\xe2\xa5\xdb\x07\x0f\xde\xaf\ +\x9d\x7c\xbf\xe7\xb7\x73\x1e\xf5\xfc\xf8\x9d\xe6\xcf\xb4\xbb\x6f\ +\xff\xa3\xf6\x0f\x1f\xfd\xfd\xf6\xe6\x9f\x7a\x67\xec\x05\xdc\x38\ +\x53\xc6\x09\x1f\xf8\x42\xd9\xcf\x0f\x9b\xc9\xf9\x47\x7e\x74\x28\ +\xe7\x8c\x3d\xf5\x38\x13\x81\x6a\x7a\x33\x21\x1a\x25\x78\x91\x29\ +\x71\x7a\x11\xea\xb3\x89\x71\x21\xe2\xf3\xe2\xa5\x71\xa8\xe3\xd7\ +\xc6\x97\xf9\x40\xbb\xe8\xaa\xb3\xdb\xa3\xbf\xe3\xf9\xed\xd4\x07\ +\x7d\x67\x3b\x74\xf8\xe2\x88\x6f\x0f\xdd\xff\xbc\x0b\xda\xc1\x83\ +\xa7\xb7\x93\x4f\x3f\x10\x77\x2d\xf0\xc1\x91\x3c\x7c\x84\x5f\xe5\ +\x3a\x1c\x5f\x85\xe1\x17\xfa\x91\x07\xdb\xe1\x93\x4e\x0a\xdf\xa1\ +\x68\x34\x87\xe3\x37\x3c\x4e\x8a\x71\x71\x07\x16\x8c\x3e\x62\x5e\ +\x86\x47\xd3\x3e\x38\x91\x07\x42\xc2\xe4\xb4\x76\xf2\x58\x0f\x39\ +\x7a\xb9\x3e\x89\x8d\x9a\xbc\x79\xc4\xb8\xab\x63\x0c\xbe\xd1\x5d\ +\xf0\xf6\xe0\xb2\x99\x55\x0f\x1e\x3c\x27\x1a\xf5\x4b\xdb\xc3\x1f\ +\xfb\xd2\xf6\x82\x57\xfc\x5d\xbb\xfb\x8b\xf1\x1d\xc0\x0f\x5c\xdd\ +\xfe\xe2\x17\x3e\x18\xd3\x7a\x47\xc7\x9d\x35\xd7\x8f\x3f\x48\x68\ +\x76\xd8\xd4\x29\x52\xdb\x6b\x2e\x5c\x23\x3f\x31\x38\xfb\x89\x15\ +\x0d\x20\x50\x4d\x6f\x00\x94\x39\x5c\x5c\x5c\x5e\x60\x59\x67\xa8\ +\x77\x47\x36\x3a\xa4\x39\x48\x6c\x1b\x1f\xf6\xa1\x76\xe5\x8f\x7f\ +\x7d\x3b\xe7\x8a\x17\x47\x63\x79\xce\xd2\xef\xea\x62\x03\x27\xd0\ +\x63\x5f\xfc\xff\x9c\xe0\x2b\xc7\xd6\x21\xc0\x57\x8a\x4e\x7d\xc0\ +\x0f\xc6\xaf\x03\xfe\x60\x3b\xff\xeb\x3e\xdc\xbe\xf4\xb9\xf8\x0e\ +\xe0\x3b\x5f\xd5\xfe\xe6\xd7\x6f\x88\x45\x6c\x5e\x36\x32\x25\xeb\ +\x7b\x1d\xa1\xeb\xc7\x57\xb4\x0e\x04\xaa\xe9\xcd\x06\xcb\x46\xe5\ +\xc5\xa5\x1c\x6a\x66\xcc\x46\x43\xcb\x63\xcc\x03\x6b\xfc\xe3\xd8\ +\xc3\x9f\x74\x76\x7b\xec\x0b\xbf\xa3\x9d\xf1\xe0\xf8\x04\xf6\xa4\ +\x4b\xc2\x5f\xb4\x1f\x11\x38\x78\xd2\x65\x71\x0d\xfc\x70\xbb\xfc\ +\x9b\x7e\xb8\x5d\xfa\x8c\xf7\xb4\x3b\xff\xe1\x9a\x76\xfd\xeb\xaf\ +\x69\xd7\x5d\x73\x4b\xc0\xe1\xa7\xe4\x36\x38\xee\xf4\xbc\x2b\xc4\ +\xe7\x9d\x9f\xbe\x69\x08\x7a\x3d\x12\x67\x1c\xa4\x1c\x5b\xfb\xe8\ +\xb1\x9a\xde\x7c\x4f\xb6\xcd\x0a\x09\x69\xa3\xdb\xd4\x94\xc6\xbc\ +\xe3\xb3\x09\x8e\xef\xee\xae\xfc\xb1\xc7\xb7\x73\x2e\x8f\xf7\xea\ +\xce\x78\x6e\xdc\xd5\xf1\x25\xe0\xa2\x42\x60\x8c\xc0\xa1\x93\xbf\ +\xba\x9d\xf1\xd0\xaf\x6e\x5f\xf3\xdd\x3f\xd1\x1e\xfd\x82\xb7\xb7\ +\x2f\xdd\x7a\x75\x7b\xdf\xab\x5e\xd3\x6e\xfa\xd3\xcf\x4d\x20\xa2\ +\x51\x71\x7d\xd9\xec\xb8\xe6\x6c\x5e\xbe\x24\x9e\xa4\x96\x98\x86\ +\xc0\x7e\x6f\x7a\xb9\x89\x4d\xc3\x88\x1c\x1b\x9a\x52\x1f\x63\xf4\ +\x21\x61\x9b\x9c\x77\x76\x07\xdb\x79\xdf\x70\xff\xf6\x98\x17\x7c\ +\x7b\x3b\xfd\x21\xf1\x25\xe2\xf8\xc9\x5e\x54\x08\xac\x89\x40\xfc\ +\x99\xaf\x93\x8e\x3c\xa9\x9d\xf9\xb0\x27\xb5\x27\xfd\xc0\x4f\xb5\ +\x27\x7e\xdf\x9b\x47\x7f\x06\xeb\x9d\xbf\xf5\xda\x76\xcb\xdf\x7c\ +\x29\x86\x72\xfd\xd1\xec\x72\xf3\xa3\xe9\x79\x3d\x87\x3a\x95\xcc\ +\xb1\x59\x4e\x4d\xdc\xab\x81\xfd\xde\xf4\xe6\x79\x5e\xb9\x48\x32\ +\xd3\xd8\x20\x9b\x9d\xba\x4d\xce\xa6\x77\xa8\x3d\xe5\x47\x1f\x17\ +\x9f\xdc\xf1\xbd\xba\x6f\x8e\x37\xf5\xf9\x44\xb4\xa8\x10\x58\x1f\ +\x02\x7c\xa8\x73\xf8\xc8\x33\xe2\xcf\x60\x3d\xa3\x3d\xed\xdf\x7f\ +\xa9\xdd\x73\xe7\xeb\xda\xed\xb7\xfc\x7e\x7b\xe7\xff\x78\x63\xfb\ +\x87\xeb\xef\x4c\x93\x79\x5d\x26\xd7\x8a\x6a\xa3\x5b\x71\xec\x67\ +\x65\xbf\x36\x3d\x2f\x82\x5e\x0e\x5d\x0b\x5c\x4c\x7c\xd2\xd8\x37\ +\x3e\xfc\xb0\x4d\x6e\xdc\xf4\xce\x7d\xfc\x99\xed\x09\xdf\xf3\xbc\ +\x76\xda\x83\x5e\xd2\x0e\x9f\x72\x45\xc4\x8b\x0a\x81\xad\x41\xe0\ +\xc0\x81\xf8\x9a\xce\x69\xcf\x8b\x3f\x26\xf1\xbc\xf6\xbf\xfe\xe7\ +\xcf\x47\x03\x7c\x4d\xfb\xc2\x27\x7f\xaf\xbd\xfe\x3f\xbf\xb5\xb5\ +\xdb\xfd\x32\xf9\xb4\xb5\xbc\xd6\xbd\xc3\xeb\xed\x69\xe3\xf6\x9c\ +\x7f\xbf\x36\xbd\xf5\x3e\x91\x5c\x20\x34\xb8\xdc\xf8\x6c\x76\xc8\ +\x83\xed\xc9\x3f\xfc\xd8\xf6\xe0\xaf\x8c\xbb\xba\x33\xbe\x35\xde\ +\xab\x3b\x75\xbd\x0b\x54\x7e\x21\xb0\x3e\x04\x0e\x9c\x15\x9f\xf6\ +\xbf\xa4\x3d\xe8\xb2\x97\xb4\x17\xfd\xc6\xa7\xdb\x3d\x5f\xfe\x83\ +\xf6\x96\x9f\x39\xad\xdd\xf2\xfe\xa1\x69\xbc\x6e\x89\xd9\xf4\x86\ +\xf2\xf6\x85\x6f\xbf\x36\x3d\x7f\xca\xf5\x72\xe8\x49\x27\xc7\x3b\ +\xba\xd5\xf2\x61\x8f\x3f\xa3\x3d\xee\xa5\xdf\xd6\x4e\x8f\xbb\xba\ +\x43\x27\x3f\x6a\x68\x70\xf9\x0a\x81\x85\x23\x70\xe0\xc0\x43\xda\ +\xc9\xa7\xfe\x60\x7b\xfa\x7f\x6c\xf1\xeb\x6f\xad\x7d\xe8\x9a\xd6\ +\x3e\xf2\xba\x7e\x59\xaf\xf5\xde\xbf\xef\xec\xfd\xda\xf4\xfa\x27\ +\x9a\x0b\x62\xda\x45\x41\xa3\x93\xb9\xab\x3b\xd4\x9e\xfc\xef\x1f\ +\x13\x9f\xc0\x7e\x4f\xfc\x87\x33\x71\x57\x17\x5f\xe2\x2d\x2a\x04\ +\xb6\x1d\x81\x63\x47\xe3\x0f\x9e\xde\xd6\x3e\xf4\x87\x67\xc6\x1f\ +\x3c\x18\xda\x0d\xd7\xf7\xbe\xbf\xcb\x03\x98\xfd\xd6\xf4\xa6\x35\ +\xb6\xa1\x8b\x44\x1f\x63\x0e\xb5\x0b\xaf\xbc\x5f\x7b\xcc\x0b\xbf\ +\xbd\x9d\x76\xf6\x77\xc7\xf7\xea\x1e\x63\xb0\x64\x21\xb0\xad\x08\ +\x1c\x3b\x7a\x4b\xfc\x0f\x6f\x2f\x6f\x37\xbe\xed\x37\xdb\xbb\x7e\ +\xfd\x57\x62\x2f\x8f\x1f\xd8\x4f\xbe\xee\xd5\xf7\x6d\x03\xdc\x6f\ +\x4d\xaf\xbf\x1e\xbc\x00\x94\x7d\xbc\xb5\xf3\x9e\xf8\xd0\xf6\xf5\ +\xff\xf2\xe7\xe2\x13\xb4\x6f\x8f\xf7\xea\xce\x38\x31\xa1\x3c\x85\ +\xc0\x92\x11\x38\x16\x77\x6c\xf7\xdc\xf1\x97\xed\xf3\x37\xfd\x4e\ +\x7b\xeb\xcf\xbe\x3e\x9a\xde\x5d\xb1\x83\x79\x3f\xc8\x70\xb3\x5e\ +\xf3\xfb\xae\xf9\x55\xd3\x1b\x5f\x02\x5e\x00\x5e\x10\xad\x5d\xf0\ +\x8d\xad\x3d\xf2\x5b\x5a\x7b\xe0\x23\xfe\xd9\x71\x67\x69\x85\x62\ +\x20\x09\x5a\x00\x00\x20\x00\x49\x44\x41\x54\xc0\x36\x22\x70\xdf\ +\xbd\xb7\xb6\xdb\x3e\xf5\x87\xed\x23\xaf\x7f\x65\xfb\xf0\x1f\x7d\ +\x22\x76\xe2\x9f\xad\xf2\xed\x97\xb5\x36\x77\xe2\x35\xbe\x56\xf6\ +\x1e\x8e\xed\xf7\xa6\xc7\x53\x3b\x7c\x31\x7c\x32\xfe\x10\xc6\x81\ +\x08\x3d\xea\xdb\xae\x6b\x67\x9d\x7f\x49\x18\x7c\x6d\xa5\xa8\x10\ +\x58\x2e\x02\xdc\xd5\x7d\xf9\xf3\xef\x6e\x37\xbf\xf7\xd5\xed\xaf\ +\x7f\xfd\xcf\xda\xbd\xb7\xf3\x27\xbf\x68\x76\x5c\xb7\x7e\x83\x80\ +\xbb\xb5\xb5\x7e\x23\x23\x5f\xe3\xea\xfb\xee\x0e\x2f\x30\x1a\xd1\ +\x7e\x6b\x7a\x3e\xe1\x9e\x1f\x5b\xd6\x37\x96\xf7\xc5\x2b\x86\x8f\ +\xbf\x15\x7e\x65\x3b\xef\xca\x57\xb4\xc7\xfc\xe3\x6f\x6e\xa7\x9f\ +\xf3\xad\xf1\xdd\xbb\xaf\x8b\x21\xfc\x64\x2d\x2a\x04\x16\x87\xc0\ +\x7d\x77\x7f\xb1\xdd\x7a\xe3\x1b\xe3\x77\x70\x5f\xd7\x3e\xf1\xf6\ +\x1b\x63\x21\x9b\xda\xf8\xc3\xb4\xf1\xca\xe8\x90\x77\x7a\xfd\xf5\ +\x3d\x8e\xae\x7e\x24\x67\xdf\x36\x3c\xa0\xd8\x6f\x4d\xcf\xa7\xbf\ +\xbf\x38\x86\x1b\xdf\x38\xfb\x40\xfb\xbb\x37\xdf\x16\xfc\xbb\x61\ +\xfe\x41\xbb\xf4\x69\x0f\x6b\x97\x3d\xe7\xd9\xed\x8c\x87\x3c\x37\ +\xfe\xbf\xd4\xfa\x9a\x8a\x88\x96\xdc\x3c\x02\xdc\xd5\xdd\x71\xcb\ +\xf5\xf1\xe9\xeb\x1b\xdb\x7b\x5f\xfe\xd7\xf1\xbe\x1d\xbf\x71\xc1\ +\xaf\x9a\xd1\xdc\x68\x6c\xfc\x01\x02\xae\x55\x6c\x1a\x17\x3a\xfe\ +\xb5\xae\xdf\x08\x8f\xe2\x48\x88\xdc\x7d\x4d\xfb\xb1\xe9\xcd\xba\ +\x40\xfa\x0b\xc2\x9f\xa2\xc8\x43\xed\x86\x37\xde\x1a\xfc\xf2\xd0\ +\xaf\x8e\xff\x1d\xeb\xfc\x76\xc9\xd3\x9f\x15\xbf\x22\xf4\xb4\x68\ +\x80\x17\xf6\x03\xcb\x2e\x04\xe6\x42\xe0\xbe\xbb\xee\x88\xaf\x9b\ +\xfc\x75\x7c\xdd\xe4\x2d\xed\xd3\xef\xf9\x54\x8c\xe1\x83\x09\xef\ +\xec\x98\xc2\x46\xa5\xc4\x57\xb4\x41\x04\xf6\x63\xd3\xcb\x50\xd9\ +\x00\x67\x5d\x4c\xe3\x86\x77\xfc\x27\xee\xf8\x25\xc6\x0d\x7f\x7a\ +\x73\xbb\xe1\x4f\x5f\x11\x13\xbe\xb2\x5d\xf6\xac\xcb\xda\x45\x57\ +\xfe\x2f\xed\xac\x0b\x9f\x12\x9f\xf4\x3e\x28\x2f\x52\x7a\x21\x30\ +\x88\xc0\xed\x9f\xbe\xb1\xdd\xf4\x17\x7f\xdd\xde\xff\xfb\xef\x8a\ +\xff\x57\x83\xbb\x38\x9a\x1d\x94\xaf\xcb\x7c\x6d\xce\xf2\x8f\x47\ +\xaf\xef\xd1\xf9\xf7\xcd\x4b\xde\xfd\xdc\xf4\x7c\xb2\xb9\x44\x68\ +\x6a\xd3\xa8\xbf\xd0\xc8\xed\x7d\x07\xda\x87\xff\xe4\x13\xc1\xbf\ +\x13\xb1\xab\xdb\x15\xcf\xbd\xbc\x9d\xff\xa4\x27\xb5\x07\x5c\xf4\ +\x84\x78\x0f\xf0\x7e\xd3\x26\x2e\xff\x3e\x44\xe0\xde\xbb\xee\x6c\ +\x37\xbf\xef\xda\xb8\xab\x7b\x67\xbb\xe5\x7d\xfc\xcd\x3c\xee\xe8\ +\xf8\xba\x09\xd2\xc6\x83\x54\x0f\x75\xa4\x63\xe7\x1c\xfc\x50\x9f\ +\x3b\xf6\xd6\xe3\x54\x04\xf6\x6b\xd3\xb3\x69\x09\x4c\x6f\xeb\x47\ +\x12\xa3\xd1\xf5\xac\x7f\x7c\xd7\x37\x7e\x7f\x14\xbd\xb5\xeb\x5e\ +\x73\x43\xf0\xa7\xe2\x4b\xcc\x57\xc7\x7f\xc0\xfd\xa8\x76\xfe\x37\ +\x3c\x3e\x1a\xe0\x57\xc5\xaf\xaa\xd5\x5f\x5a\x19\x01\xb4\x0f\x1f\ +\x6e\xfb\xd4\x27\xe3\x43\xb1\xf7\xb6\x0f\x5e\xf3\x81\x76\xef\x9d\ +\x7e\xaf\x8e\xf7\xeb\x60\x9b\x19\x52\x9d\x66\x96\xe3\xf8\x25\x9a\ +\x24\x31\x1b\x9e\x0d\xd1\x78\x2f\x89\x4f\xa3\xb5\x62\xd3\xc6\xec\ +\x6a\xff\x7e\x6d\x7a\x9b\x7d\xd2\x68\x78\xd0\xd0\x05\x63\x03\x3d\ +\x16\xff\x23\xd7\xd1\xf8\x89\x7e\x7d\xf0\x0d\xf1\x92\xf7\xd5\xed\ +\x8a\x6f\x7a\x64\x3b\xef\xeb\x1e\xd3\xce\xba\xe8\xb2\xf8\xff\x6a\ +\xeb\x2b\x30\x63\x0c\x4f\x7c\xe4\x0d\xfd\x63\xf7\x1d\x1d\xf3\xd1\ +\xfb\xe2\xbf\x73\x3c\x51\xd7\x77\x5f\xfc\x57\x8f\x47\xef\x8b\xfc\ +\xf8\x7f\x6e\xf1\x1d\xbd\x37\x70\x0f\x3e\x70\xf0\x40\x7b\xe8\x57\ +\x5f\x74\xe2\xe4\x4b\xf4\xdc\x7b\xd7\x5d\xed\xd3\xef\xfd\x50\xfc\ +\x00\xbc\x76\xe0\xae\xae\x6f\x70\xda\x4a\xae\x2d\x9b\x1e\x3a\xfe\ +\x69\x0d\x92\xd8\xd0\xb5\x18\xee\x13\x68\xde\xbc\x13\x06\xee\x15\ +\x47\x35\xbd\xad\x7b\x26\xb9\x98\x32\xaf\x9e\xf9\xde\x2f\xdf\x17\ +\xef\xdd\x7c\x28\xf8\xc3\xed\x94\x33\x4f\x6b\x97\x3f\xe7\x91\xed\ +\xe1\x4f\x78\x54\x3b\xeb\x82\x0b\xa3\x40\xd7\x7a\x79\xbd\x7a\x9e\ +\x65\x58\x77\xc7\xa7\x86\xb7\x7f\xfa\xf3\xed\x18\x0d\x27\x9a\xc9\ +\x48\x46\x73\x39\x36\x6a\x30\x34\x99\xb1\xff\xe8\x7d\xf7\x8e\x7d\ +\x34\x9c\x7b\xf1\x65\x3e\xda\xee\xbd\x3b\xec\x68\xfc\xf8\xef\x43\ +\xde\x83\xc4\x17\xf2\xee\xa3\xc1\x13\x19\xf6\x3d\x77\x4d\xec\x90\ +\x8c\x39\x4e\xfe\x80\x51\xfa\xf6\xc2\xf8\xae\xfa\xf8\x1d\xb8\x3f\ +\x6c\xc6\x77\xe4\xa7\x9e\x7d\x4a\x7b\xde\xff\xb8\xe8\xf8\x34\x4b\ +\xd4\x6e\xfb\xfb\x9b\xdb\xc7\xdf\xf6\xbe\xf8\x61\x77\x5d\xbb\xe7\ +\x4b\x7c\xaf\x8e\xeb\x02\x69\xe3\xa2\x79\xf1\x1e\x1e\x8c\x8f\x3b\ +\x37\xd8\x1c\xa4\x0d\xcf\x5c\xf3\x9c\x03\xd9\xeb\xd3\x1a\x5a\xbe\ +\x2e\xa7\xe5\xc4\x74\xfb\x83\xf6\x73\xd3\xe3\xc9\xb7\x90\xb8\x78\ +\x66\x5d\x0c\xf9\xc2\x21\x5f\x42\xa7\xd0\x88\x3b\x8f\x3a\xf3\xab\ +\x1f\xcf\xbb\xeb\x0b\x77\xb5\x6b\x5f\xfe\xfe\xe0\xeb\xda\x69\x0f\ +\x3e\xbd\x5d\xfe\xac\x2b\xa2\x01\x5e\xde\xee\xf7\xf0\x87\xc6\x8e\ +\xdc\x53\x0c\xdd\x26\xba\xf5\x86\x9b\xdb\x9f\xfd\xe4\xdb\x62\x75\ +\xf6\x9c\x99\xb3\x40\x14\x22\xba\x36\x39\x90\x76\x2f\xc7\xd1\xcd\ +\x3d\xfa\x83\x81\xb9\xc5\x48\x7c\xf1\xd9\x0c\xc7\xab\xd0\x50\x97\ +\x49\xf7\xde\x75\x77\xdc\xd5\x7d\xa4\x5d\xff\x9a\xf7\xc5\x7b\x76\ +\xb7\xc6\xd2\x36\x34\xf6\x01\x3e\x59\xfa\xf2\x54\x9f\x4d\xcf\x3c\ +\xfd\xce\xe1\x73\xc0\x39\x8d\xa1\xe3\x57\xa2\xcf\x43\xe4\xef\x6b\ +\xda\xaf\x4d\x8f\x27\xde\xc2\x99\x75\x01\xe4\x8b\xca\x8b\x92\x31\ +\x5e\x64\x5c\x84\xcc\xc5\x05\xca\xdd\x87\x2f\x5b\x8d\x73\x41\xe3\ +\x47\x32\x97\x17\xdd\x58\xff\xd2\x2d\xb7\xb7\x77\xff\xe6\x7b\x82\ +\xdf\xdb\xee\x7f\xfe\x59\xd1\x00\x2f\x6b\x0f\xfd\x1a\xfe\xb3\x98\ +\xed\xfb\x04\xf8\xe0\x61\xce\xe3\x59\x91\x99\xc3\x5c\x69\x7a\xf8\ +\x57\x9f\x87\xe8\x6a\xdf\xd8\x73\xe2\xa3\xe3\x4e\x8c\xac\xf6\xf8\ +\x3c\xd9\xd4\xb0\xdd\x1f\x99\xe8\xc4\xc0\x18\x39\xe6\xfb\xb8\x59\ +\x5a\x02\xdd\xf6\xa9\x5b\xda\x8d\x6f\xf9\x60\xbb\xee\xd5\x1f\x8e\ +\xbb\x3a\xae\x01\x98\xb3\xd9\xb0\x90\x5c\x23\x3c\xff\xe0\x65\x83\ +\x43\x9a\xe3\x57\x54\xb0\xf5\x33\x26\xdf\xf9\x31\xa7\x77\x80\x8e\ +\x53\x92\x0b\x4f\xc3\x14\xbf\x1c\xea\x88\xa6\xe5\x1a\xdf\xb3\x72\ +\xbf\x36\x3d\x9e\xd0\xfc\xa4\x67\xbd\x7f\xb2\x89\x59\xdc\x59\xa2\ +\x5b\x7c\xfa\xcd\x65\x0e\x7d\x60\x9c\xfd\x14\x65\x3f\x16\xfb\x60\ +\xfb\xe2\x27\xbe\xd8\xde\xf9\x6b\xef\x0a\xfd\x7d\xed\x41\x97\x9f\ +\x19\xdf\x01\xbc\xac\x3d\xec\x71\x97\xb4\x53\xcf\x3e\x33\x7c\xcb\ +\xa3\x83\x87\xdc\x23\xfb\xea\xd9\xb3\x64\x89\x0e\x29\x19\x03\x69\ +\x8f\xad\xe3\x8f\xd3\xfc\xc7\x33\x8e\x6b\x60\x0c\x39\xc6\xc6\xc6\ +\x1a\x36\xbc\x51\xc2\x24\x67\x9c\x77\xdf\xdd\x34\x84\xc5\xd0\x7d\ +\x77\x73\x57\xf7\xd1\x78\xaf\xee\x43\xed\xe6\x6b\x6f\x8e\x45\x58\ +\x93\xa6\x23\x56\xda\x36\x23\xfc\x34\xb3\xec\xc7\xce\x63\xd0\xf1\ +\x99\xeb\x5c\x4a\xc6\xf6\x7a\xb8\x46\x73\xe2\x27\xbe\x16\xcd\x8a\ +\xaf\x35\x76\x4f\xc5\xf6\x63\xd3\xcb\x4f\xbe\xba\x72\xe8\xc9\xe5\ +\x82\xe2\x82\xb4\xf8\x2c\x34\x7e\xea\x82\x1f\x36\x39\x48\xf3\x28\ +\x4c\xf3\x98\x9b\xbb\x10\x72\x94\xe4\x31\x16\x1f\x17\x3a\x7e\xf2\ +\xb9\x4b\x64\xec\x3d\xed\xb3\xd7\x7f\x39\x98\x97\x49\xef\x68\x0f\ +\x7d\xec\x83\xdb\xc5\x4f\x7d\x44\x7b\xc8\x63\x2e\x69\xa7\xdc\x6f\ +\xf1\x7f\xbf\x6f\xf4\xff\x70\x8f\xbe\x33\xc6\x3e\x3d\x3f\x12\xe6\ +\x3c\xf8\x91\xd9\x0e\x73\xa5\xf0\x86\xf0\xc4\xc7\x19\xfb\xd8\x34\ +\x9b\x5c\x18\xca\x3a\xf8\x40\xf9\xce\x8e\x38\x76\xf6\x1d\x1c\x7d\ +\x10\x72\x60\xd4\xc0\xc9\xdf\x3c\xdd\xf6\xe9\xcf\xc6\x7b\x75\x1f\ +\x18\x7d\x38\x75\xcf\xed\xfe\xb2\xbf\x18\x70\x3d\x70\x16\xef\xce\ +\xc4\x4e\x3b\xdf\x95\xf1\x9c\xcb\x8c\xe7\x4e\x8f\x7c\x72\x91\xe6\ +\x3a\x56\x99\xfd\xe4\xd9\x24\xd1\xe1\x59\xc4\xfe\x7a\xbc\x67\x8d\ +\xd9\x73\xf1\xfd\xd8\xf4\xd6\xfb\x24\x72\x91\x70\x61\x66\xa6\xc8\ +\xb0\xb9\xd0\x8c\x7b\xd1\xd9\xc4\x8c\xe9\x27\x9f\x71\xd8\x48\x89\ +\x42\x85\x28\x66\x62\xe6\xe1\x63\xae\x83\xed\x53\xef\xbe\x25\xf8\ +\x33\xa1\xbf\xb3\x5d\xf0\xa4\x73\xdb\x85\x4f\xb9\xb4\x3d\xe4\xab\ +\x2e\x6c\x87\x4f\x5d\xcc\x57\x60\x56\xdf\xe9\xb1\x27\xf7\xc5\xde\ +\x38\x2f\x76\x96\xe8\xe2\x10\xea\x48\x47\x0e\x11\x79\x99\xa6\xd9\ +\x62\x64\x93\xc3\x86\x33\x3e\xe8\xc4\xcd\x09\x75\xb4\xf6\x78\x3f\ +\x7c\x00\xb3\xd9\xa6\xc7\x1d\xe3\xcd\xd7\xde\xd0\xae\xff\xe3\x0f\ +\x4d\x9e\x03\x9e\x13\xe6\xcf\x98\xb0\x0f\x6d\xe3\x48\xfc\xbd\x24\ +\x0f\x9f\x6c\x0e\xfe\xcc\x79\x4e\xfc\xae\x89\x24\xd6\xf3\xf8\xcc\ +\x11\x98\x42\xc4\x8b\x02\x81\xfd\xd6\xf4\xfa\x27\x5e\x9b\x0b\x48\ +\xbd\xbf\x30\xf0\x7b\x01\xf6\x85\x87\x1f\xf2\xae\x8d\x06\x46\x3e\ +\x45\x88\x24\x9f\x8b\x1b\x3f\x3f\xa5\xf1\x93\xdb\x33\x71\x72\x8f\ +\xdf\xe9\x1d\x2f\x66\xc6\xe0\x27\x7e\x77\x7c\x83\xff\xa3\xc1\x37\ +\xb5\x83\x87\x0e\xc5\xdd\xdf\x05\xf1\x27\xb0\x2e\x6d\xe7\x5c\x71\ +\x61\x7c\x07\xd0\xf7\x12\x23\x6d\x93\x74\x70\x74\x59\xf0\x5f\x0d\ +\x52\x6c\x9e\xdd\x82\xe4\x5c\x9c\x09\x69\x31\x8a\x03\x12\xbf\x1c\ +\xea\x88\xb0\x33\xcd\xb2\x73\xae\x0d\x0d\x09\x06\x4a\x31\xc3\x46\ +\x87\xd1\xc5\x36\xee\xf4\xa2\xe9\x1d\x7f\x8f\x35\xd4\x75\xd0\xed\ +\xb7\xc4\x5d\xdd\x5b\x3f\xd0\xae\x8b\xaf\x1c\x8d\xff\x5e\x9d\x67\ +\x15\x07\x30\xe0\xbc\x62\xc1\xdd\x1a\xe7\xd2\x3f\xed\xae\x8c\x38\ +\x73\x20\xfb\x5c\xc6\x18\x63\x6e\x6c\xe6\x64\x6e\xc8\x38\x39\x39\ +\xae\xdd\xe3\x3a\x1a\x14\x0f\xf8\xfb\x58\x6f\x9b\xbb\xe7\xe5\xe8\ +\xea\xde\xf3\xa7\x5c\xfb\x80\x3c\xf9\x14\xd3\x5a\xc4\x05\x46\x41\ +\x21\x61\x28\x4b\x2e\x3a\xe2\x10\x3a\x73\xea\xd3\x66\x0d\x0a\x73\ +\x88\xdc\x83\x45\x4d\x8e\x05\x6c\x0c\xfb\xb8\xce\x77\xd3\x6e\x78\ +\xc3\xc7\x83\x6f\x8a\xff\x20\xe6\xa4\x76\xc9\xd3\x2e\x88\x2f\x41\ +\x5f\x1a\x7f\xff\xef\xbc\x51\x43\x1c\x5a\x65\x5e\xdf\xc1\xc3\x9e\ +\x95\xbd\xf7\xcc\x1e\x2c\x46\x30\xc0\xce\x32\xcc\x15\x6c\x88\x41\ +\xca\xb1\x35\x7e\xec\x7d\xbd\x4d\x96\xcf\x4b\xc6\x8e\xbd\xad\xc6\ +\x62\x3c\x3f\xe3\xf1\x4b\x07\xdb\xd1\x68\x7a\xd3\x10\x37\x2b\xcb\ +\xa3\xf7\xc4\x5d\xdd\xfb\x6e\x88\xdf\xac\xf9\x40\xfb\xe4\x3b\xfd\ +\x6d\x09\xce\x06\xfb\x3c\x72\x76\x6c\x1b\x96\x92\x38\x7e\xb1\xb1\ +\x41\x99\xaf\x14\xcf\xdc\xf4\x9c\x03\x49\x5c\xdb\x39\xf3\x1e\xf2\ +\x5e\x38\x33\x36\x72\x08\xbf\x70\x17\xf5\x08\xec\xf7\xa6\x37\xcf\ +\x85\xd2\x5f\x64\x8c\xb1\x18\x2d\x3e\x24\x79\x59\x72\xe1\x92\x77\ +\x4a\x30\xa5\x87\x4d\xdc\x3b\x11\x7c\x32\x3e\x63\x48\xef\xf8\x88\ +\xeb\x67\x2e\xef\xe6\x98\xcb\xb1\x07\x46\x9f\x1a\x5e\xf7\xea\xeb\ +\x47\x9f\x20\x1e\x39\xeb\x94\xf6\x88\x67\x5e\x1c\x5f\x82\x7e\x44\ +\xfc\x1e\x70\x7c\x05\x66\x03\xdf\x01\x3c\x70\x88\xb5\xbc\xd3\x63\ +\x2d\xd8\x62\xe5\x9c\xb2\x05\x8e\x6d\xe1\x21\xb1\x33\x65\x9c\xcd\ +\xcb\xf1\xac\x9b\x2b\xc6\x4a\xce\x8b\x3e\x24\xc5\x02\x1c\xd1\xc7\ +\x78\x1e\x3b\xc6\xbe\x67\xd3\x1d\x9f\xfd\x6c\xbb\x29\xbe\x57\xf7\ +\xc1\x6b\xae\x6b\x77\x7d\x81\xf7\xcf\x3c\x83\xe7\xcc\x67\x67\x4e\ +\xfc\x36\x31\x65\xff\xbe\x9b\x0d\xab\xf7\x0f\xe1\x29\x8e\xe6\xba\ +\xae\x6b\x21\xd9\x53\x2f\x59\x23\xef\x35\xcc\x41\x22\x07\x86\x94\ +\x63\x6b\x1f\x3e\x72\x71\x14\xad\x7d\x21\x78\x51\x51\x70\x5c\x8c\ +\x48\x1a\x11\x17\xa0\xc5\x46\x8e\xfe\x2c\xd5\xbd\x38\x19\xe7\x05\ +\x0d\xf6\xe8\x8c\x75\x3c\xd2\x1c\xe4\xc9\xc1\xcc\xa1\x3f\xd4\x91\ +\x8d\x64\xce\x71\x71\x1f\x5f\xfb\x60\xfc\xc1\xc9\xa3\xed\x7d\xbf\ +\xfb\xc1\xe0\xeb\xda\xe9\x0f\x3e\xd2\x2e\x7b\xf6\xa5\xed\xe1\x8f\ +\x7f\x44\x7c\x07\xf0\xc1\x31\x92\xb9\x66\xd3\xc1\x93\x3c\x1f\x67\ +\x94\x59\xcf\x73\x58\xe8\x16\x21\xe7\x80\x8c\xa3\x7b\x2e\xf4\x4c\ +\xd3\xfc\xe4\x10\x83\xf2\x3e\xd1\x61\xd6\x42\x7a\x66\xd6\xc2\xb6\ +\xc9\x65\x5c\xc7\x78\xf1\x65\xea\x69\x74\xf4\xde\x7b\xda\x67\x3e\ +\x74\x7d\xfb\xf0\x6b\xaf\x8d\xbf\x57\x17\xff\x85\xd8\x2a\x72\x2e\ +\xc6\xa3\xb3\xb6\x67\xf3\xec\x4a\x62\xe4\x68\x23\x59\x1f\xc9\x18\ +\xe3\x36\x34\x7d\x48\xd8\xb1\x8c\x41\x37\xee\x1c\xfa\x95\xe6\x20\ +\xf1\x65\x7f\x98\x45\xb3\x10\xd8\x6f\x4d\x8f\x0b\x04\xa2\x58\x32\ +\xe9\xcf\x3e\x75\x62\x5c\x88\x90\x17\x18\xe3\xb9\xeb\xe2\xc2\x83\ +\x6d\x12\x4a\xe2\xdc\xe1\x41\x5c\xfc\x16\x66\x2e\x52\x1b\xa6\x31\ +\xc6\x5a\xd0\xca\x7c\xc7\x97\xe7\x24\xee\x38\xfc\x8c\x95\xf1\x8f\ +\xf5\x3b\x6e\xb9\xb3\xbd\xfb\xff\xfb\x9b\x11\x9f\x75\xd1\x19\xf1\ +\x5b\x20\x97\xb7\x87\x3c\xf6\x8a\x76\xfa\x03\xcf\x89\x9c\xe9\x34\ +\xfe\x20\xe3\x8e\x48\xa0\x60\x61\x0b\x3a\x17\x69\x2e\x3e\x0b\x90\ +\x5c\x48\x3c\xf1\xaf\x45\xe6\xe5\x1c\x7d\x9c\x0b\xc6\x46\x72\x66\ +\xcf\x9a\x6d\x71\xc8\x98\x8c\xf1\x3b\x76\x8c\x7d\xaf\xa6\x3b\x3f\ +\x77\x73\xfb\xc4\x5f\xbd\xbb\x7d\xe0\xf7\xaf\x6d\x77\xde\x6a\xdc\ +\x35\x91\xb0\xe7\xe1\xbc\x99\xf1\x33\x06\x5f\x8f\x09\x4d\x8d\xb1\ +\xbe\xb7\x67\xdc\x7c\xb1\xcb\xf3\xa1\x33\xc6\x5c\xf0\xc3\xd6\xaf\ +\xed\x7e\xb0\xd1\xb5\x95\x8c\x91\x43\x1d\x24\xe2\x90\x72\x6c\xed\ +\xc3\x47\x2e\x8e\xfd\x4c\x5e\x00\x14\xd1\x34\x22\x87\x8b\x0b\x32\ +\x9f\xa6\x92\x2f\x38\x6c\x08\x9f\x85\x49\x11\xa0\x33\xc6\x8b\x98\ +\x3c\x6c\xe7\x24\x5f\x36\xe6\x18\x6d\xe4\xb8\x88\x43\x09\x32\x9e\ +\xe7\x24\x47\x66\x6e\x75\xf3\x5b\xfb\xfc\x8d\x9f\x6b\xef\xf8\xe5\ +\xb7\x87\xe3\xed\xed\xdc\x47\x9f\xdd\x2e\x7d\xe6\x23\xdb\xb9\x5f\ +\xf5\x15\xed\xc8\xfd\x1f\x40\xd2\x2a\x3a\x38\x7a\x49\x4c\x81\x51\ +\x8c\x30\x3a\xeb\xc1\xec\x17\x9f\xe7\xc2\xee\x8b\x93\x98\x84\x9e\ +\x6d\xfd\xc8\x21\xbf\x3e\xce\x09\x71\x16\x88\x75\x20\xb1\xc0\x26\ +\xe6\xfc\xd8\xc4\xb4\x23\x36\x79\x79\xcb\x5d\xdd\x3f\xdc\x70\x6d\ +\xfc\xdf\x12\x7f\xdd\x6e\xfc\xf3\x4f\x4e\xc6\x31\xbf\x6b\x38\x26\ +\x5c\x2b\xe3\x99\xcf\x33\x23\x6d\x38\x36\xa8\x2c\x19\xef\x9d\x9c\ +\xd8\x20\x19\xa7\xed\xf8\x3c\x27\x3a\x63\x73\x0c\x5b\xbf\x52\x7c\ +\xdd\xa7\x58\x68\x2b\x63\x68\xd1\x2c\x04\xf6\x6b\xd3\xe3\x22\xc9\ +\xb4\xd6\x45\xc3\x05\xc6\x45\x67\x23\xc1\xa6\x58\xb8\x20\x91\xdc\ +\x69\x64\xdb\x5c\xfd\xde\xad\xd9\x04\xf1\xf7\xcc\xdc\xcc\xc1\xcb\ +\x59\x74\xe3\x3c\x3f\xf8\xb9\x6b\xcc\x6b\xe5\x3c\xf3\x6d\x06\xee\ +\x13\x09\x29\xc7\x16\x45\x76\xf3\xb5\x77\x04\xdf\x14\x8e\x3f\x69\ +\x17\x3e\x39\xbe\x03\x78\xd5\x57\xb7\x07\x3d\xf2\xd1\xed\xa4\x23\ +\xe3\x2f\x41\x1f\x88\x4f\x86\x5b\xf3\x4e\x8f\xa2\xe5\x4c\x32\x58\ +\xe1\x13\x17\x6c\x8b\x13\x09\x59\x94\x63\xeb\x78\x23\xd1\x46\xf6\ +\xcf\x41\x8e\xa9\x73\x66\x99\x3d\xa1\x7b\x3e\xb1\x41\xc2\x19\xb3\ +\xb1\x7d\xe7\xad\x37\xc6\x39\xdf\xda\xde\xf3\x3b\x7f\x1b\x7f\x91\ +\x98\xef\xd5\x39\x07\x12\x62\x3e\xc8\xbd\x20\x65\xce\xc2\x99\x91\ +\xb2\x67\x46\xe6\x26\x97\x6d\xc6\x30\x47\x6e\x76\xce\x45\x9e\xec\ +\x9c\xe4\x66\x1f\x36\x31\xa4\x73\xa1\x67\x26\x1f\x42\x66\x3f\xfa\ +\x10\x99\x33\x14\xdb\x77\x3e\x2e\x8e\xa2\xf1\x85\x33\x0b\x07\x2f\ +\x1c\x2f\x38\xf2\x29\x40\x8b\x12\x3f\x3a\x79\x16\x53\xa8\x23\xc2\ +\x06\x6b\xf2\xc9\x93\xb9\xb8\x2d\x56\x62\x8c\xc5\xa6\x51\x12\x23\ +\x0f\x3f\xc4\x1c\xf8\x5d\x03\x3f\x36\xf9\xce\x87\x8e\x5f\x26\x17\ +\xce\xc4\x1a\xd0\xb8\xb0\x3e\xfe\xd6\x8f\xc7\x57\x33\x3e\x16\x43\ +\x5e\x19\x7f\x05\xe6\x92\x76\xe1\x37\x3e\xae\xdd\xff\xe1\x97\x47\ +\x3c\x37\xbb\xac\xb3\x96\x05\xed\x1e\xfb\xe2\x24\x07\x72\x2d\xe5\ +\xd8\x7b\xdc\xaf\xbd\x96\xe4\x4c\x90\x73\x66\x1c\x39\x27\x73\x67\ +\x26\x17\x3a\xd6\x5e\xfb\x23\xbf\x1a\x92\xf1\xf9\xbd\x51\xf0\x60\ +\xdf\x62\xe3\xde\x9c\x23\x42\xa3\xb5\xc8\xe9\x99\x3d\xd8\xec\x6c\ +\x88\x60\x91\x31\x21\x0e\x19\x67\x0e\xe6\xc6\x26\x0f\x1b\x29\x13\ +\xcb\x39\xe6\x22\x21\xe3\xe8\x8c\x81\xf0\xc1\xbd\x4d\xac\x68\x06\ +\x02\xfb\xb5\xe9\x79\x41\xd9\x10\xb4\x87\xe0\x22\xc6\x45\x49\x2e\ +\x17\x19\x85\x96\xc7\x11\x37\x86\x04\x53\x64\xef\x77\x0e\x1b\x13\ +\x32\xb3\x63\x99\x9f\x02\x41\x5a\xe0\x8e\xf5\x22\xc7\xcf\x58\xfc\ +\xe4\xe5\x79\xb4\x91\x90\x72\x6c\x8d\xf7\x85\xce\x58\xcf\x16\xf2\ +\xe8\xdd\xf1\xe9\xef\xb5\xc1\x7f\xdb\x0e\x9d\x84\x9f\xe2\xcd\xcd\ +\x8e\x3d\xc1\xc4\xf0\x33\xde\x39\xf4\x13\x83\xdd\x27\xba\x34\x4d\ +\x37\x3e\x4d\x72\x36\xb0\x61\x0d\x24\x73\x67\xac\xb0\xd9\x07\x71\ +\x70\x41\xc7\xc7\xb9\x59\x13\xa9\x4d\x8c\xb1\x10\x52\xdd\xbd\x21\ +\x61\xe7\x24\x3f\x33\x7e\xcf\x6e\xb3\xf3\xec\xe0\xc5\x58\x6c\xf2\ +\xf4\xf7\xb6\x73\x23\x61\xc6\xb0\x86\xeb\xf6\x32\x42\xa3\x38\x92\ +\x98\x71\x6c\x48\xdf\xd8\xaa\xc7\x99\x08\x70\x91\xec\x67\xe2\x82\ +\x81\xbc\xf8\xc7\xd6\xea\x47\x2f\x32\x8b\x04\x1b\xbd\xf7\x53\x9c\ +\x90\x71\xf3\xf1\x53\x78\x16\x1c\x3a\x6c\xa3\x52\x27\x9f\xe7\x43\ +\x99\xfd\xde\xa9\x50\x40\xfa\x91\xbe\xcc\xcd\x3e\xd7\x43\xba\x87\ +\x50\x57\xce\xc8\xfe\x20\x0b\x0d\x69\x91\x22\xef\x1a\xfd\xf9\xa7\ +\x71\xd1\xb2\x1e\x6c\xa1\x5b\xc0\x16\xbc\x63\x9d\xcb\x22\x76\x8d\ +\x5e\xc6\x54\x2b\x64\x6c\xc5\x31\x45\xc9\xe7\xe0\x3c\xac\xc5\x79\ +\x91\xd8\xc4\xc1\xcd\x86\x87\xdf\x1c\xf6\x43\x1c\x29\xae\x48\x48\ +\xc9\x3e\xd0\x91\xe4\x41\x8c\x47\x77\x2e\xce\x8d\x4e\x4e\x7f\xa7\ +\x97\xfd\xc4\xc9\xcd\x52\xac\x98\xcf\x35\x1c\xa3\x4f\xdb\xb8\xfb\ +\x30\x8e\x5f\x0e\x75\x95\x8e\x0d\x11\x2f\x9a\x03\x81\x6a\x7a\xb3\ +\x41\xf2\x42\xa4\x30\x64\x46\xe1\x1f\xb2\xb9\x50\xf1\x8b\xad\x36\ +\xc5\x47\xb1\x42\x36\x29\x7d\xd8\x8c\xe1\xe2\x47\x52\x28\xc4\x60\ +\x6c\xe7\xa0\xa0\xb0\x7d\x9f\x90\x3c\xe7\x62\xbd\x3c\x9f\x73\x22\ +\x21\xc6\x41\x16\x87\x05\x65\xc1\x59\xd8\x7c\xfa\x48\x0c\x1b\x66\ +\x0d\x63\xe4\x1a\x43\x12\x63\x3e\xe7\x40\x42\xf8\x5c\x47\x39\x0a\ +\xa4\x87\x69\xfe\x94\x32\xda\x33\x6b\xb3\x77\xce\x06\xb1\x86\x67\ +\x56\xb2\x17\xfc\xe4\x90\x0f\x16\x9e\x1b\x89\xcf\x5c\xe6\x92\x43\ +\x1d\x91\xfb\x65\x1e\x18\xdb\x39\x99\x17\x66\x0e\xfc\x48\x6c\xcf\ +\x9e\xfd\x8c\xd1\x26\xc7\xf9\x9c\x8b\xf1\xfa\x5d\x53\x69\x6e\xa4\ +\xac\xec\x01\xdd\x31\xe8\x12\xb9\x99\xc8\x29\x9a\x13\x01\x0b\x73\ +\xce\xf4\x3d\x9b\xb6\xd6\x45\x43\x8c\x8b\xcc\xa6\xa1\xc4\xaf\x0e\ +\x30\xce\xd1\x37\x2a\x8a\x8d\x3c\x2f\x54\x74\x0b\x10\x29\xe3\xa7\ +\x60\x8c\x61\xf7\x73\x61\x13\x27\x8f\xb8\xc5\x9d\x1b\x9e\x39\xe4\ +\x41\xce\x31\xb6\x8e\x3f\xb2\x1f\xf6\x6c\x11\x2a\x69\x7a\xe8\x30\ +\xeb\x64\xc6\xc7\x18\x0a\x9e\xf1\xc4\x9c\x43\x19\xae\x95\xb3\xe2\ +\x9b\x46\x6b\xc5\x1c\xc3\x19\x65\xcf\xc1\x1e\x3c\xbb\x12\x1f\x71\ +\x18\x2c\xb0\x39\x3f\x6b\xe8\x23\x37\x63\x12\xe6\x0a\xf9\xdc\x88\ +\x09\x12\x66\x9e\xcc\xcc\xe7\xd9\xf1\x93\x23\x06\x48\xc7\x90\x47\ +\x7c\x48\x3a\x37\x92\x38\xa4\x9e\x6d\xfd\x48\xfd\xbd\x24\x56\xb4\ +\x4e\x04\xaa\xe9\xcd\x06\x8c\x0b\x8d\x8b\xd2\xe2\x73\x04\x3e\x48\ +\x3f\x17\x3d\xba\x17\x26\xc5\x06\x51\x68\xf8\xf3\x1c\xd8\x14\x05\ +\x39\xe8\xe6\x20\x61\xfd\x48\x6c\xc7\xfa\x7c\x21\x19\xe7\x1d\x1f\ +\x39\xf8\xcc\x77\x1e\x72\x32\x87\xb9\x42\xcc\xe9\xd9\x90\x16\x2d\ +\x45\xcd\xde\xb0\x33\xe3\x83\x19\x87\x9f\x31\xbd\x8d\xcf\x39\x43\ +\x1d\x11\xf6\x66\x88\xb3\x70\x06\xd6\x42\x7a\x46\x31\x41\xe2\x93\ +\xc9\x53\x0f\x75\xd5\x18\xe6\x82\x94\x63\xeb\xf8\x73\xc6\x5c\xb0\ +\x67\x60\xae\xcc\xf8\xb5\x33\x06\xf8\xb5\x91\x10\x79\xe6\x3b\x27\ +\x36\xdc\xdb\xf8\x20\xfc\x90\x76\x2f\xc7\xd1\x7a\xdc\x14\x02\x16\ +\xd1\xa6\x26\xd9\x27\x83\x87\x2e\x40\x1b\x0a\x10\xa0\x43\xe4\xa1\ +\x73\x01\x23\x2d\x30\x24\xec\x18\x24\x85\x61\x0e\x92\x62\xcd\xd2\ +\x31\x14\x12\x7e\x3f\xbd\xd5\x76\xbc\x45\x4e\x3e\xba\xe3\x9c\x3b\ +\x5c\xa3\xf1\x48\x89\x7d\xc2\x16\x20\x73\xa2\xe7\x3b\x19\x7c\xb2\ +\xc5\xce\x18\x73\x91\x79\x0e\x0b\x3d\xdc\x23\x3f\xb1\xcd\x10\xfb\ +\x87\xc4\x04\x5d\x5c\x3d\x27\xb6\xba\x38\x70\x5d\x83\x01\xfb\x41\ +\xfa\x43\x02\x1d\x72\xde\xb1\x35\xde\x2b\x3a\xfb\xf5\x3c\xcc\x0b\ +\x7b\x6e\xcf\xe6\x99\xc1\x29\xe7\x1a\x47\x42\x48\xc6\xe7\x39\xd5\ +\xb3\x24\x37\xe7\x61\x4b\xe4\x41\xca\xb1\x55\x8f\x9b\x42\xa0\x9a\ +\xde\xfa\xe0\xeb\x2f\x3e\x6c\x0a\x28\x17\x11\x17\x30\x44\x81\x11\ +\xc7\x26\x8e\x4e\x21\xe0\x77\x0c\x12\x5b\x9f\xb9\x4a\xfd\x14\xb3\ +\x73\x84\xba\x52\xe4\xce\x67\xd1\x3b\x97\xd2\xf9\x91\x43\xe4\xfe\ +\x90\xb9\x98\x2d\x58\x24\x7e\xa4\x6c\x2e\x7b\x24\x06\x11\xc3\x9f\ +\x19\xbf\x36\xfa\x46\x89\xb3\x40\xcc\x25\x06\x59\x12\x67\x2f\x60\ +\x80\x94\xf5\x93\xcb\x3e\xb1\xc5\xc1\x39\xc3\x35\x22\xc6\x40\xac\ +\x81\xae\x74\x2e\xce\xa7\x9f\xb9\xf4\x2b\xc9\xc7\xef\x38\x24\x63\ +\x20\xf4\xec\xd7\xce\x31\x7c\xda\x13\xb5\xc4\xa2\x10\xa8\xa6\x37\ +\x1f\xb2\x5e\x94\xd3\xb2\x89\x5b\x50\xe6\x38\x46\xbf\x36\x85\x62\ +\x01\x12\xcb\x36\x63\x89\x51\x30\xc4\xcc\xf3\x0e\x4f\xbf\x77\x2e\ +\x4a\xf2\x86\xd8\x39\x22\x3c\xb8\x3f\xf6\x24\x5b\xd8\x16\x2f\x36\ +\x3a\xd2\x18\x92\x7c\xef\x72\xb4\xf3\x1c\x11\x1e\x9d\x09\x09\x11\ +\x9b\x87\xfa\x3c\xf6\x2e\x3e\x48\xc9\x1f\x00\xe0\x86\x1f\xdb\xf5\ +\xc1\x00\x3f\xfb\x72\xac\xbe\x70\xad\xe0\x89\x0e\x91\xe3\x58\x6c\ +\xc6\x42\xc8\xcc\x9e\x9f\x5c\xcf\xac\x14\x2f\xe7\xc1\x0f\x69\x33\ +\x0f\xba\x73\xeb\x37\x67\x48\xe2\x2b\x5a\x10\x02\xd5\xf4\x16\x04\ +\x6c\x4c\xcb\xc5\x0d\x21\x2d\xae\x91\x23\x1e\x28\x00\x7c\xb2\x7e\ +\x0b\x94\x31\xe8\x10\x39\x34\x19\xa4\x4d\x8e\x42\xc3\x86\x90\xe4\ +\x66\xd6\xa7\x34\x0f\x29\xb9\xbf\x5c\x94\xf8\x2c\x62\x8a\xd7\xa6\ +\x47\x0e\x76\x9f\x4b\xbe\xb1\x50\x57\xe2\xe8\xce\x8f\x3e\x0f\x0d\ +\xe5\xeb\xcb\x67\x65\x2e\xce\x8a\x4f\xc6\x47\x2e\x7e\x9b\x20\x3a\ +\xfb\x47\x3a\x0f\x3a\xa4\xd4\xaf\xe4\x2c\x10\x72\x88\xc9\xb3\xd9\ +\x29\xc9\xc3\x2f\xe7\x39\xc2\xbd\xe2\x77\x0d\x7c\x45\xdb\x88\x40\ +\x35\xbd\xcd\x83\xef\xc5\xac\x74\xc6\x5c\xa8\xc4\x2c\x06\x0b\xd5\ +\x38\x05\xd8\xeb\x16\x65\x8e\x91\xe3\xf3\xe5\xdd\x0e\x32\xe7\x6a\ +\xe7\x71\xc6\x5d\x37\x86\x8c\xc8\xfd\xba\x2f\x8b\x98\x46\x61\x21\ +\xe3\x93\xf1\xe9\x57\x77\x0c\x73\xe5\x33\x12\xdf\x2a\xca\xd8\x30\ +\xa7\x67\xf3\xac\xac\x85\xaf\xf7\x8b\x97\xe7\x76\x1e\xe6\xc8\x3a\ +\xb6\xfb\xc7\xef\x39\x94\x9e\x15\x89\xcf\x33\x87\xba\x92\x8b\xee\ +\x0f\x8b\xde\xef\xdc\xf8\x25\x7c\x90\x72\x6c\xd5\xe3\x52\x10\xb0\ +\x88\x96\xb2\x58\x2d\xb2\x82\x80\x85\x40\x91\x51\x4c\x48\x75\x92\ +\x88\x63\x4b\x36\x2e\x0a\x0b\xbf\x71\x25\x71\xe7\xcc\x0d\x80\xf1\ +\x8e\x75\x0d\xf2\x20\xe7\x61\x7d\x88\x62\xb6\xc0\xc9\xc9\xb6\x7e\ +\x24\x31\xf6\x01\xb9\x66\x96\xe3\xc8\xd6\x3f\xb2\x86\x84\xee\x5e\ +\x3c\x1f\x31\x74\x9b\x92\xf8\x21\x69\x90\x99\x8c\xe9\x73\xee\x2c\ +\xf3\x99\xd5\x89\xbb\x36\x3e\x48\x5f\x96\xe3\xc8\xf1\x98\x76\xc9\ +\x1d\x80\x40\x35\xbd\xc5\x3d\x09\x14\x01\xa4\x1c\x5b\xab\x9b\x99\ +\xc5\x87\x54\x27\x8f\xe2\xd5\x46\x5a\xb4\xfa\xcd\xa7\xc0\x21\xfc\ +\x32\x31\xf3\x8c\x21\x9d\x0f\x3d\x93\xfb\xb3\x89\x78\xc7\x92\x0b\ +\xdd\x98\x3e\xd7\xcd\x7e\xe6\x74\x2e\x65\x5e\x67\xa3\xba\xfb\x56\ +\x32\x4f\xd6\xd9\x03\xb6\xe7\xcf\x67\x07\x37\x62\x3d\x87\x6b\xb4\ +\x57\xfc\xec\xd5\xfd\x32\x17\x84\xed\xd9\x8c\x0f\xd9\xe4\x3a\x46\ +\xe9\x5c\xbd\x24\xb7\x68\x07\x20\x50\x4d\x6f\x07\x3c\x09\x93\x2d\ +\x58\x24\xb9\x10\xd1\x21\x9a\x8c\x7e\x6c\x5f\xda\xe9\xc7\xc7\x78\ +\x0a\x8f\x3c\x1b\x40\xa8\x2b\x3e\xe7\xc2\x97\xc9\x75\xfb\x46\x86\ +\xdf\x39\x2d\x78\xa5\xe3\xcd\xd1\x5e\x86\x74\xbf\xae\xa5\xed\x5e\ +\xf1\x73\x56\x58\x3c\xb4\x7b\x0c\x1c\xcb\x18\xc7\xeb\x43\x66\x66\ +\x2e\x48\x0c\x72\xde\x38\x52\x8f\xbb\x02\x81\x6a\x7a\xcb\x7f\x9a\ +\x2c\x16\x56\xce\x3a\xb6\x45\xd9\x17\x29\x4d\x0c\x32\x6e\xb3\xf3\ +\x0e\x10\xbf\x8d\xce\xb1\xe6\x3b\x46\x89\x7f\x88\x2c\x66\x25\x39\ +\xe8\x32\xb6\x4d\xc0\x1c\x24\xe4\x39\x94\x63\xef\xd6\x3c\x3a\xa7\ +\xfb\x77\x0f\xcc\x9e\xcf\x2a\x26\xec\x49\xbf\xb8\x29\xa7\xed\xc8\ +\x35\x3c\x0f\x79\xf8\x3c\xa7\x71\xfc\xfa\x72\x2e\x7e\x73\x94\xf8\ +\x8a\x76\x20\x02\xd5\xf4\x76\xe0\x93\x32\xd9\x52\x2e\x9e\xac\x13\ +\xa6\xa8\xf1\x59\xe8\x36\x04\x63\xd9\xb6\xe0\xb3\x8f\xbc\x9e\x98\ +\x8b\x39\xcd\xb3\xb8\xf1\xc9\xfd\x98\x9d\x60\xb3\x37\x88\x7d\xab\ +\x63\xab\xf7\x7e\x62\x3d\xd9\xc0\xf2\x39\xd5\x9d\x27\x4b\xf5\x7e\ +\x9e\xb2\x77\x01\x02\xd5\xf4\x76\xd6\x93\x64\x31\x29\xdd\x9d\x45\ +\x69\x43\x42\xc2\xb9\xa1\xd1\xb4\x20\x63\x59\x8e\x23\xe3\x47\xfc\ +\x43\xe4\x9a\xc8\xcc\xe4\x66\x5b\x3d\xcf\x81\x6f\xd1\x24\x06\x9e\ +\x59\x3b\x9f\x13\x9d\xbd\xe8\x13\x93\x79\xf7\xd6\x9f\x4d\x5b\xc9\ +\x3c\xe8\x90\x72\x6c\xd5\xe3\xae\x41\xa0\x9a\xde\xae\x79\xaa\x4e\ +\xd8\x28\x45\x47\xe1\xf7\x85\x6e\x31\x2a\x6d\x12\x4e\x40\xfe\x10\ +\x99\x9f\x25\x7a\xb6\x87\xc6\xed\x24\x1f\x7b\x15\x0f\xf5\xf5\xec\ +\xcf\x46\xea\x98\x7c\x7e\x7d\x25\x77\x39\x02\xd5\xf4\x76\xc7\x13\ +\xd8\x37\x1e\x1b\x97\xd2\x53\x60\xeb\x53\x5a\xc8\xda\xe4\xa2\x0f\ +\x35\x85\xa1\x22\xc7\xe7\x1c\xee\x83\x39\xa0\xde\x1e\x7b\x17\xfb\ +\xe8\x5e\x3c\x0f\x7b\x50\xef\x57\xc6\x2f\xe7\x58\xbf\x6f\xec\xde\ +\x67\xbe\x7e\xa5\xfe\x92\xbb\x14\x81\x6a\x7a\xbb\xf4\x89\x5b\x63\ +\xdb\x14\x27\x85\xbe\x56\x91\x0e\xe5\x98\xaf\x74\x89\xde\xd6\xbf\ +\x9b\x64\x7f\x86\x59\xf6\x6e\x3a\x5b\xed\x75\x9d\x08\x54\xd3\x5b\ +\x27\x60\x3b\x24\xdd\xa2\x55\xba\x2d\xef\x78\x94\xf8\xb3\x6e\xde\ +\x7a\x24\x6b\xf4\xeb\xf4\xf6\x7a\xe6\xdb\xaa\xdc\xbc\x87\xac\x33\ +\xbf\x67\xd6\xaf\xed\xda\xfa\x95\xfa\x4b\xee\x03\x04\xaa\xe9\xed\ +\xcd\x27\xb9\x8a\x79\xf5\xf3\x5a\x78\xac\xc6\x63\x5f\x5b\xd5\xf4\ +\xf6\xd6\xd3\x3f\x54\xdc\x43\xbe\xbd\x75\xea\x13\x4f\xb3\x1f\xcf\ +\x7c\x22\x0a\xe5\x19\x44\xa0\xff\x64\x6f\x30\xa9\x9c\x85\x40\x21\ +\x50\x08\xec\x15\x04\xaa\xe9\xed\x95\x67\xb2\xce\x51\x08\x14\x02\ +\x73\x21\x50\x4d\x6f\x2e\x98\x2a\xa9\x10\x28\x04\xf6\x0a\x02\xd5\ +\xf4\xf6\xca\x33\x59\xe7\x28\x04\x0a\x81\xb9\x10\xa8\xa6\x37\x17\ +\x4c\x95\x54\x08\x14\x02\x7b\x05\x81\x6a\x7a\x7b\xe5\x99\xac\x73\ +\x14\x02\x85\xc0\x5c\x08\x54\xd3\x9b\x0b\xa6\x4a\x2a\x04\x0a\x81\ +\xbd\x82\x40\x35\xbd\xbd\xf2\x4c\xd6\x39\x0a\x81\x42\x60\x2e\x04\ +\xaa\xe9\xcd\x05\x53\x25\x15\x02\x85\xc0\x5e\x41\xa0\x9a\xde\x5e\ +\x79\x26\xeb\x1c\x85\x40\x21\x30\x17\x02\xd5\xf4\xe6\x82\xa9\x92\ +\x0a\x81\x42\x60\xaf\x20\x50\x4d\x6f\xaf\x3c\x93\x75\x8e\x42\xa0\ +\x10\x98\x0b\x81\x6a\x7a\x73\xc1\x54\x49\x85\x40\x21\xb0\x57\x10\ +\xa8\xa6\xb7\x57\x9e\xc9\x3a\x47\x21\x50\x08\xcc\x85\x40\x35\xbd\ +\xb9\x60\xaa\xa4\x42\xa0\x10\xd8\x2b\x08\x54\xd3\xdb\x2b\xcf\x64\ +\x9d\xa3\x10\x28\x04\xe6\x42\xa0\x9a\xde\x5c\x30\x55\x52\x21\x50\ +\x08\xec\x15\x04\xaa\xe9\xed\x95\x67\xb2\xce\x51\x08\x14\x02\x73\ +\x21\x50\x4d\x6f\x2e\x98\x2a\xa9\x10\x28\x04\xf6\x0a\x02\xd5\xf4\ +\xf6\xca\x33\x59\xe7\x28\x04\x0a\x81\xb9\x10\xa8\xa6\x37\x17\x4c\ +\x95\x54\x08\x14\x02\x7b\x05\x81\x6a\x7a\x7b\xe5\x99\xac\x73\x14\ +\x02\x85\xc0\x5c\x08\x54\xd3\x9b\x0b\xa6\x4a\x2a\x04\x0a\x81\xbd\ +\x82\x40\x35\xbd\xbd\xf2\x4c\xd6\x39\x0a\x81\x42\x60\x2e\x04\xaa\ +\xe9\xcd\x05\x53\x25\x15\x02\x85\xc0\x5e\x41\xa0\x9a\xde\x5e\x79\ +\x26\xeb\x1c\x85\x40\x21\x30\x17\x02\xd5\xf4\xe6\x82\xa9\x92\x0a\ +\x81\x42\x60\xaf\x20\x50\x4d\x6f\xaf\x3c\x93\x75\x8e\x42\xa0\x10\ +\x98\x0b\x81\x6a\x7a\x73\xc1\x54\x49\x85\x40\x21\xb0\x57\x10\xa8\ +\xa6\xb7\x57\x9e\xc9\x3a\x47\x21\x50\x08\xcc\x85\x40\x35\xbd\xb9\ +\x60\xaa\xa4\x42\xa0\x10\xd8\x2b\x08\x54\xd3\xdb\x2b\xcf\x64\x9d\ +\xa3\x10\x28\x04\xe6\x42\xa0\x9a\xde\x5c\x30\x55\x52\x21\x50\x08\ +\xec\x15\x04\xaa\xe9\xed\x95\x67\xb2\xce\x51\x08\x14\x02\x73\x21\ +\x50\x4d\x6f\x2e\x98\x2a\xa9\x10\x28\x04\xf6\x0a\x02\xd5\xf4\xf6\ +\xca\x33\x59\xe7\x28\x04\x0a\x81\xb9\x10\xa8\xa6\x37\x17\x4c\x95\ +\x54\x08\x14\x02\x7b\x05\x81\x6a\x7a\x7b\xe5\x99\xac\x73\x14\x02\ +\x85\xc0\x5c\x08\x54\xd3\x9b\x0b\xa6\x4a\x2a\x04\x0a\x81\xbd\x82\ +\x40\x35\xbd\xbd\xf2\x4c\xd6\x39\x0a\x81\x42\x60\x2e\x04\xaa\xe9\ +\xcd\x05\x53\x25\x15\x02\x85\xc0\x5e\x41\xa0\x9a\xde\x5e\x79\x26\ +\xeb\x1c\x85\x40\x21\x30\x17\x02\xd5\xf4\x8e\xc3\x74\xec\xb8\xba\ +\x4a\x3b\xba\xca\x2a\xa3\x10\xd8\xb9\x08\xd4\x35\x3c\xc7\x73\x53\ +\x4d\xef\x38\x48\xd7\x1f\x57\x57\x69\xd3\xfc\xab\x92\xca\x28\x04\ +\x76\x00\x02\xd3\xae\xd5\x69\xfe\x1d\xb0\xe5\xe5\x6f\xa1\x9a\xde\ +\x71\xcc\xff\x6b\xa8\xf7\x1c\x37\x47\xda\xfb\xe2\xf1\x8f\x3b\x5f\ +\x99\x85\xc0\x4e\x45\x60\xda\x35\xfc\xda\x9d\xba\xe1\xed\xd8\xd7\ +\x56\x34\xbd\x7c\x4b\x9d\x75\xcf\xa3\x0f\xa9\x6e\x6c\x27\xc9\x77\ +\xc5\x66\x9e\x12\x7c\x4d\xf0\xbb\x83\x7f\x39\xf8\xaa\xe0\xbb\x83\ +\x8b\x0a\x81\xdd\x80\x40\xbe\x86\xdf\x13\x1b\xf6\x1a\xbe\x6b\x87\ +\x6f\x3e\xf7\x85\xac\xbb\xed\xec\xcb\xba\xf1\x75\xc9\xc3\xeb\xca\ +\x1e\x4e\x3e\xd0\xb9\xd9\x54\xef\x23\x45\xdf\xa6\x37\xdd\xad\xb7\ +\x95\xe6\x5f\xc5\x64\xff\x68\x2b\x27\xac\xb9\x0a\x81\x25\x23\xb0\ +\x1b\xaf\x61\x7b\xc3\x10\x54\x7d\xbf\x20\xb7\xf7\x0d\x8d\x9b\xea\ +\x9b\x75\xa7\x37\xcf\xe4\x39\x27\xeb\x2e\xaa\x0f\xa9\x6e\xac\x64\ +\x21\x50\x08\x14\x02\xb9\x2f\x64\x5d\x64\xb2\x2f\xeb\xc6\xd7\x25\ +\xa7\xdd\xe9\x39\xf1\x5a\x1d\x78\x5d\x0b\x55\x72\x21\x50\x08\x14\ +\x02\x4b\x44\x80\x1e\x66\x1f\x5b\xb5\xec\xac\x3b\xbd\x55\xc9\x65\ +\x14\x02\x85\x40\x21\xb0\x0b\x10\x18\x6c\x76\xee\x7b\xda\x9d\x9e\ +\x71\x64\x9e\xa0\xee\xfc\x32\x32\xa5\x17\x02\x85\xc0\xae\x43\xa0\ +\xee\xf4\x76\xdd\x53\x56\x1b\x2e\x04\x0a\x81\xcd\x20\x30\xcf\x9d\ +\xde\xd0\xfc\xf9\xee\x6f\x28\x5e\xbe\x42\xa0\x10\x28\x04\x96\x89\ +\x00\x3d\x49\x5e\x73\xdd\x65\xdc\xe9\xf9\x92\x18\xa9\xbe\xe6\xa6\ +\x2a\x58\x08\x14\x02\x85\xc0\xa2\x10\x58\x64\xd3\xbb\x77\xb2\xe9\ +\x93\x27\x72\xae\x2e\xbc\xa8\x83\xd6\xbc\x85\x40\x21\xb0\x6b\x10\ +\xf0\x15\xe8\x7d\x8b\xd8\xf1\x22\x9b\xde\xe7\x27\x1b\x3e\x73\x22\ +\xeb\x4e\x6f\x11\xcf\x60\xcd\x59\x08\xec\x7e\x04\xf2\x2b\x40\xf4\ +\x53\x27\x47\xfa\xd2\x22\x8e\xb6\xc8\xa6\xf7\x85\xc9\x86\x6d\x7a\ +\x8b\xd8\x7f\xcd\x59\x08\x14\x02\xbb\x1f\x81\xfe\x33\x02\x9b\xde\ +\x9d\x03\x47\xf3\x15\xa3\x72\x20\x65\x6d\xd7\x32\x9a\xde\x03\xd7\ +\xde\x42\x45\x0b\x81\x42\x60\x9f\x23\xd0\xdf\xe9\xdd\x7f\x82\xc7\ +\x1d\x8b\xc0\x65\x91\x4d\xef\x63\x93\x0d\x5f\xb6\x88\x8d\xd7\x9c\ +\x85\x40\x21\xb0\x27\x11\xa0\x01\x9e\x3f\x39\xd9\x27\x16\x71\xc2\ +\x45\x36\xbd\x0f\x4d\x36\x7c\xc5\x22\x36\x5e\x73\x16\x02\x85\xc0\ +\x9e\x44\xe0\xbc\x38\x15\x1f\x7e\x7e\x39\xf8\x93\x8b\x38\xe1\x22\ +\x9b\xde\x0d\xb1\x61\x3e\x7d\x79\x40\xf0\xb9\x8b\xd8\x7c\xcd\x59\ +\x08\x14\x02\x7b\x0e\x81\x47\x4c\x4e\x74\xe3\xa2\x4e\xb6\xc8\xa6\ +\xc7\xdf\xa1\xfb\xc0\x64\xe3\x4f\x5a\xd4\x01\x6a\xde\x42\xa0\x10\ +\xd8\x53\x08\x7c\xdd\xe4\x34\xfc\x01\xdf\x85\xd0\x22\x9b\x1e\x1b\ +\xfe\xf3\xc9\xae\x9f\x3a\x91\x88\xfc\xa6\xa5\x36\x3e\x19\x5f\x51\ +\x21\x50\x08\xec\x4f\x04\xbe\x71\x72\xec\xb7\x2d\xea\xf8\x8b\x6e\ +\x7a\x6f\x9a\x6c\xfc\xaa\x45\x1d\xa0\xe6\x2d\x04\x0a\x81\x3d\x83\ +\xc0\x91\x38\xc9\x13\x26\xa7\xf9\x8b\x45\x9d\x6a\xa8\xe9\xf9\xfd\ +\x97\x2c\x67\xad\x6f\x6e\x9f\xf7\xf6\x70\xdc\x1e\xcc\xa7\x31\xde\ +\xb6\xf6\x39\xbd\x5d\x77\x7c\x3d\x22\x65\x17\x02\x7b\x03\x81\x59\ +\xb5\xfd\xac\x38\xe6\x29\xc1\x37\x05\x7f\xb4\x3b\xf2\xb4\x1e\xd3\ +\xa5\xcd\x36\x87\x9a\xde\xb4\x51\x1b\x59\x94\x4f\x60\x5e\x35\x99\ +\xf0\x3b\xa7\x4d\x5c\xfe\x42\xa0\x10\xd8\xb7\x08\xd0\x08\xa5\xe7\ +\x4f\x94\xdf\xd3\xb1\x08\xb9\x9e\xa6\xb7\x91\xf5\x39\xd0\xcb\x27\ +\x03\xbf\x2d\xa4\xdf\xb4\xde\xc8\x5c\x35\xa6\x10\x28\x04\x76\x17\ +\x02\xde\xd9\x29\xd7\xda\xfd\xd9\x11\x7c\xe6\x24\xe1\x95\x6b\x25\ +\xce\x88\x79\x73\x96\xe5\xaa\x21\x1b\x6d\x7a\x4c\xc8\x7f\x82\xed\ +\xc4\xab\x26\x9d\x18\xc6\xfe\x32\x6c\xbe\xbe\xc2\xb7\xac\xbf\x37\ +\x18\xca\x20\xa0\xb3\x0f\x64\x51\x21\x50\x08\xec\x5d\x04\xac\xfb\ +\x2c\x3d\xed\x3f\x0b\x85\xef\xe7\xfd\x6d\xf0\x42\xff\x9f\xde\x8d\ +\x36\x3d\x37\x3a\xaf\xe4\xff\xe3\x84\xfe\x55\x30\x6f\x56\xae\xd5\ +\xe0\x04\x84\xfc\xa2\x42\xa0\x10\xd8\x1b\x08\xac\x55\xd7\xa7\xc5\ +\x11\x69\x7a\xd0\x2f\x8d\xc5\xd4\x47\x6f\xa6\xbc\xe9\x22\x51\xdf\ +\xd4\x41\x39\x30\x6f\xd3\x73\x52\x65\x9e\x63\x1e\xfd\x15\x91\xc4\ +\xaf\x94\x3c\x24\xf8\xfb\x26\x03\x04\x41\x39\x71\xaf\x08\xfd\xca\ +\x95\x40\x29\x85\x40\x21\xb0\xa3\x11\x98\x55\xb3\xc6\x95\xdf\x1f\ +\xa7\xe1\xe5\xed\x47\x82\xff\x70\xd1\x27\x9b\xb7\xe9\x6d\x76\x1f\ +\xfc\x6d\xbd\x9f\x9b\x4c\xf2\x63\x21\xcf\x99\xe8\x1e\x7a\x62\xae\ +\x12\x6b\xc5\x56\x25\x96\x51\x08\x14\x02\x3b\x0a\x81\xf5\xd4\x2e\ +\xbf\xad\xf5\xc3\x93\xdd\xff\x7c\x48\x6f\xac\x90\x0b\xa1\x8d\x36\ +\x3d\x37\xd6\x6f\x4a\xbf\xd2\x38\x20\xfc\x76\x30\xaf\xd7\xf9\x53\ +\x53\x3f\x1d\xdc\x03\xa3\x3d\x4d\xc6\x90\xa2\x42\xa0\x10\xd8\xc1\ +\x08\x58\xbb\x6e\x71\x2d\xdb\xd8\x4f\x46\x32\xef\xf7\xbf\x33\xd8\ +\x0f\x3d\x1d\x3f\x8f\xb4\xd7\x28\x67\x8e\x99\xa7\xe9\xcd\x3b\x19\ +\x79\x52\xd6\xb3\xef\x87\xc2\xe0\xf7\x71\x5f\x10\xfc\x2d\x06\x92\ +\x14\x08\x5c\xe8\x45\x85\x40\x21\xb0\xb7\x10\xc8\x35\xfe\x8c\x38\ +\xda\x0b\x83\x79\x7f\xce\xbb\xbd\xcd\x9c\x76\xae\x5e\x75\x68\x8d\ +\x15\x6c\x3a\x6e\x52\x9b\x21\xea\x59\xe6\x3c\x9b\xa9\x71\x97\xb9\ +\x39\x94\xd3\x83\x9f\x18\xcc\x17\x11\x5f\x1f\x8c\x0f\x72\xfc\x50\ +\xc3\x34\x86\x1c\x8a\x8f\x26\xa8\x87\x42\xa0\x10\xd8\x16\x04\x72\ +\x7d\xa2\x53\xff\xbd\xd4\x67\xee\x43\x23\xe7\x0f\x82\xf9\x10\xe3\ +\x57\x82\xb9\xcb\x33\x16\xea\x0a\xe5\x0f\x2c\x70\x5a\xff\xf8\x33\ +\xe9\xcf\xbe\x41\x9d\x45\xa6\x91\x31\x37\xa2\x24\xbf\x3f\x80\xcd\ +\xb3\xf7\x3b\x47\xde\x10\xb9\xaf\x09\xfe\xda\xe0\xbf\x0b\xbe\x2a\ +\xf8\x96\x60\x72\x60\xee\x04\xcd\x47\x7a\x38\xe3\xda\x11\x2a\x2a\ +\x04\x0a\x81\x1d\x80\x80\x75\x4e\xfd\x43\x7d\x1f\xd0\x6f\x0f\x39\ +\x29\x72\xae\x09\x7e\x72\xf0\x7b\x82\xb9\x01\xba\x27\x18\x72\x2e\ +\x74\xeb\xdf\xda\xc7\x47\x7f\x80\x94\xc6\x6c\x8e\xd8\x90\xfe\xb1\ +\x95\x1e\xdd\x4c\x72\x0d\xaa\xd3\x26\xd0\x3f\x4d\x3a\x99\x87\xc5\ +\x66\xb3\xff\x34\xf8\x73\xc1\xfc\xed\xac\xdf\x09\xe6\x57\x4f\x24\ +\xf6\x44\x63\x74\x8c\x00\xe6\xb8\xbe\x0c\x90\xf1\x92\x85\x40\x21\ +\xb0\x1c\x04\xac\xd1\x79\x25\x75\x0b\xff\xdf\xc1\x34\xbc\xdb\x82\ +\xff\x49\x30\x0d\xcf\x39\x42\x1d\x11\x3d\xa5\xa7\xdc\x67\x8c\xe9\ +\xd3\x46\x0e\x8d\x5d\x89\xb3\x81\xed\x20\xee\xf0\xbe\x27\xf8\xae\ +\x60\x7e\x27\xf7\x17\x83\x8b\x0a\x81\x42\x60\x6f\x20\xd0\x37\xb0\ +\x7c\xaa\x97\x85\xf1\x92\x60\xbe\xd1\xc1\x57\x55\x3e\x16\x3c\x8d\ +\x72\xf3\xca\xba\xf9\xf8\x86\xfc\xc6\x07\xa5\x2f\x4b\x07\x83\xc9\ +\xd9\x1f\x02\x3b\x93\x36\x4d\x54\x9d\xb8\x7a\x96\xea\x37\x45\xfc\ +\x43\xc1\xcf\x0b\x7e\x4c\xf0\x05\xc1\x6f\x08\xe6\x36\xd5\x1c\xa4\ +\x1c\xea\xca\x6d\x33\x3a\x94\x63\x8e\x19\x47\xea\xb1\x10\x28\x04\ +\xb6\x1a\x01\x6a\xcc\x1a\xb7\xf6\xb0\xf5\x29\x87\x62\x87\x23\xef\ +\x67\x82\xff\xf7\x60\x08\xc9\xef\xe5\x5b\xb7\x4a\x62\x90\x0d\x4d\ +\xd9\xbf\x7c\x25\x27\x8f\x31\x0f\xff\x9a\x34\x4f\xd3\xf3\x00\x4a\ +\x26\xec\x75\x0e\x0b\x29\xfb\x38\xf6\x10\x7d\x38\x9c\xdc\xf5\x3d\ +\x3b\xf8\xab\x83\xaf\x0c\xfe\xe3\xe0\x2f\x05\x73\x08\xc6\x21\x21\ +\xe7\xd0\x1e\x7b\xeb\xb1\x10\x28\x04\x96\x85\x40\xae\x6b\xd7\xcc\ +\x3e\xea\x3f\xf7\x00\x75\xbe\xa6\xc6\xdb\x58\x7c\x52\x0b\xfd\x87\ +\xe0\xdf\x18\x69\xc7\xeb\xda\xfa\x9e\xb8\x57\xea\xbe\xb7\x73\xfd\ +\xa3\x6b\x2b\xcd\x9f\x2a\xfb\x85\xa6\x25\x9a\xc7\x21\x3c\x64\x96\ +\x1e\xce\xb8\x32\x8f\xeb\xe7\x76\x93\xc8\x6f\x0e\xfe\xd5\x60\xde\ +\xdb\xfb\x44\xf0\x8b\x82\xdf\x1b\x0c\xf5\x1f\x6c\xe4\x71\xc4\x7b\ +\x3b\xfb\xd0\x8b\x0a\x81\x42\x60\x6b\x10\xb0\xe6\x9d\xcd\xfa\xce\ +\x12\xdd\xfa\x47\x5e\x1c\xfc\x3f\x83\xaf\x08\xa6\x96\xff\x75\x30\ +\xdf\xd9\x25\xcf\x71\xa1\xae\x90\xf5\xec\x9d\x1d\x01\x7c\x7e\x70\ +\xa1\xc4\x07\x93\x07\x69\x2b\xc7\xde\x81\x47\x36\xb5\x51\x62\x72\ +\x69\x1e\xdd\xdc\x21\xf9\xea\x70\x7e\x7b\x30\xff\x41\xf8\xf9\xc1\ +\xaf\x0b\xfe\xd6\x60\x48\x10\xb3\x3e\x04\xd6\x28\xb9\x1e\x0a\x81\ +\x42\x60\x69\x08\xd8\xb8\x72\x8d\xb2\xb8\xf5\xc9\x87\x15\x6f\x0c\ +\xa6\xe1\xf1\xea\xed\xa5\xc1\x34\xbc\x59\x34\xab\x9f\x10\xcf\x39\ +\xb3\xe6\x5b\x15\x77\x73\xab\x9c\x03\x86\x79\x48\x99\x34\x3f\x65\ +\x65\x03\xf8\x7d\xb9\x4c\x33\xb5\xa1\xe2\xcf\x7a\x98\xab\xc8\xcd\ +\x23\xcf\x0b\xfe\x8d\xe0\xc7\x4f\x32\xb8\x25\xfe\x89\xe0\xcf\x06\ +\x13\x87\xf3\x4f\x80\x30\x57\x0e\x4f\x6c\x1a\xad\x15\x9b\x36\xa6\ +\xfc\x85\xc0\x7e\x46\x80\xba\x1d\xa2\xec\x47\xcf\xb6\xf5\xcf\x6f\ +\x58\x50\xb7\x3f\x10\x8c\xef\xba\xe0\xef\x9d\xc8\x10\xab\x7a\x08\ +\x36\x64\x8d\x66\x89\x6e\xbd\x7b\x47\x97\x25\x71\x59\xbf\xe3\x99\ +\x73\x90\xdc\xe4\x60\x30\x39\x3d\x98\x87\xcc\x36\x8b\x64\xbf\x3a\ +\xc3\xa7\xe9\x69\xea\x55\xea\x17\xc3\xa2\xd1\xf1\x85\xc5\x27\x04\ +\xf3\x01\xc7\x4b\x83\x6f\x0f\xe6\xe5\x2e\xb7\xb6\x43\xeb\x85\x7b\ +\x15\xf8\xd8\x45\x85\x40\x21\xb0\x71\x04\xac\x71\x66\xb0\x8e\xf5\ +\x21\xb9\x91\xc9\xb6\x3e\x7e\xdb\x8a\x3f\x30\xf2\xb4\x49\x0e\xf5\ +\xfc\x5d\xc1\x9f\x0e\x96\xc8\x75\xac\xbe\x2c\x73\xe3\xca\xcd\x4c\ +\x3f\x52\xdd\x71\xbd\xad\xff\x04\xb9\xd6\xc2\x27\x24\x87\xc3\x83\ +\x3a\xce\xcd\x2b\xf3\x1d\x1d\x3e\x9a\x6a\xce\x65\xce\xde\xc6\x07\ +\xb9\x69\x0f\xf4\xb8\xf0\xfd\x7c\xf0\x63\x09\x06\x7d\x32\xf8\x17\ +\x82\x7f\x23\x98\xaf\xba\x0c\x81\x11\xee\x35\x4d\xa5\x1d\xff\x00\ +\x00\x07\x89\x49\x44\x41\x54\xc9\x35\xd6\x4c\xaa\x60\x21\xb0\x8f\ +\x11\xb0\x3e\xa7\x41\x90\xe3\xd6\x3b\x9f\xcc\xf2\x57\x8f\x7f\x34\ +\xf8\xf2\xc9\xc0\x8f\x84\xe4\x57\xcb\xde\x14\xec\x18\xf3\x27\x29\ +\x2b\xc2\x9a\xc7\xd1\xeb\xd6\xf9\xbd\x93\x98\x39\xfa\xcd\xb7\xb6\ +\x95\xe4\x0d\x92\x9b\x19\x0c\x0e\x38\xdd\x34\xe3\x64\xd2\xf0\x6b\ +\x67\xa9\x9f\x9c\xec\xd7\x46\x4a\x6e\xb6\x97\xdf\x17\x09\x3f\x14\ +\xfc\xf0\x49\xe2\xad\x21\x5f\x19\xfc\x5b\xc1\x7f\x13\x4c\xbe\x63\ +\x42\x5d\xa5\x63\x67\xca\x79\xd9\x5f\x7a\x21\x50\x08\x8c\x11\xa0\ +\x4e\x7b\xea\x7d\xda\x8f\x8c\x44\xee\xe2\xbe\x33\xf8\xa1\x93\x41\ +\xd4\x27\xdf\xbb\xfd\xe5\xe0\x7b\x26\x3e\x85\xfd\x43\x5b\x69\x0d\ +\x5b\x9f\xd9\xb6\xb9\xf9\x2a\x8f\x31\xc4\xf5\xe7\x5c\x63\xc8\xa9\ +\xe4\xe6\xa7\x26\x74\x01\xf3\x91\x32\x29\x7d\x73\xf3\x0e\xcf\x9c\ +\x2c\xc9\xc7\x96\xb2\x8e\xaf\x3f\x38\x3e\x7e\x92\x00\xec\xbf\x09\ +\xbe\x38\x58\xfa\x68\x28\x6f\x0c\xfe\xf3\xe0\xb7\x06\x7f\x26\xd8\ +\xf1\xa1\x9e\xa0\xb3\x56\x8e\x93\x53\x54\x08\xec\x77\x04\xac\x8b\ +\xbe\x16\xc1\x05\x9f\xfe\xfb\x87\xce\xff\x61\x7d\x55\xf0\xd3\x82\ +\xbf\x32\x58\xe2\x57\x49\x7f\x29\xf8\xd7\x83\x79\x3b\x2a\x8f\x73\ +\xbc\x32\xc2\x23\xb2\x16\x87\xa4\x4d\x6e\xa8\xb9\x91\x9f\xc7\xa0\ +\x9b\x37\x9e\x79\x8d\xc7\x7e\x13\x6b\xa4\x8e\x42\xe6\x23\x65\x02\ +\x43\x4d\x0f\xbf\x39\xc4\x21\x6d\xa4\x94\x75\x7c\xf9\x30\xda\xf8\ +\xcc\x7b\x4a\xe8\x2f\x0e\xe6\xaf\xb4\xf0\xc7\x0b\x32\x01\xfc\x75\ +\xc1\xfc\xb9\x69\x3e\xfc\xe0\xd3\x60\xde\x27\xbc\x3b\xb8\xa8\x10\ +\x28\x04\xe6\x43\x80\x9b\x0c\x1a\xdc\x59\xc1\x0f\x08\xbe\x2c\x98\ +\xbb\x3a\x5f\x6d\x85\x3a\x22\xee\xe4\xf8\x5e\xed\xcb\x83\x5f\x1f\ +\x8c\x6d\x8d\x87\xba\x42\xd6\xae\xd2\x40\xae\x75\xf4\x6c\xd3\xc4\ +\xb0\x95\x8c\xd1\x56\xcf\x63\x16\xd6\xf4\x58\x0c\xca\x4d\x4c\xdb\ +\xc3\x2a\xb3\x3f\xe7\x7b\x70\xa5\x31\xf2\x87\x48\x20\x3c\x3c\xe3\ +\xf0\x9d\x1a\xfc\xe4\xe0\xab\x26\xfc\xa8\x90\xce\x19\x6a\x51\x21\ +\x50\x08\x2c\x00\x81\x1b\x62\xce\x3f\x9f\xf0\x9b\x43\x72\x63\x41\ +\xdd\x59\x97\x48\x6b\x7a\x5a\x3d\x5a\xd3\x91\xba\xaa\xd1\xe1\xa7\ +\xce\x73\x03\xf3\x8e\x8f\x98\x1c\xea\x8a\xee\x5c\x4a\x62\x6b\xd2\ +\xb4\x4d\xad\x39\x28\x82\x1e\xca\x3c\x3f\x05\xd6\xcf\xbc\xf9\xf0\ +\xf8\xf5\x31\x26\xeb\x8e\xc1\x3f\x44\x1e\x26\x4b\x74\xe6\xd0\xc7\ +\xb8\x23\xc1\xfc\x44\xe2\x3b\x41\x97\x04\xf3\x53\x8a\x6f\x82\xf3\ +\x13\x8b\x2f\x3d\x17\x15\x02\x85\xc0\x7c\x08\x70\xc7\xc6\x2b\xa4\ +\x2f\x4c\xf8\x63\x21\x7d\x05\xe5\x4b\xd7\x70\x8d\xc8\x3a\xcc\x35\ +\x8d\x0e\x29\xc7\xd6\xf1\x47\xeb\x16\x29\x3b\x4f\x6e\x72\x8c\xf0\ +\x66\xc7\xbc\xa1\xb1\xe4\xe9\x47\x5f\x93\xa6\x6d\x6a\xcd\x41\x11\ +\xec\x1b\x95\xb6\x92\x79\x61\x6d\xa4\x3e\x65\xb8\x46\x64\x8e\x36\ +\xf1\x21\xb2\xfb\x0f\x1d\x4e\x1f\x52\x9d\x39\xb2\x3e\x34\x67\xf9\ +\x0a\x81\x42\x60\x6d\x04\xac\x47\x25\xd9\xd6\x30\xf5\xa5\x9e\x67\ +\xe9\x6b\x7a\x5a\x1d\xe2\x97\x19\x8f\x6e\x93\x53\xea\xa7\x19\xaa\ +\x67\x69\x5f\x18\x47\xe7\x78\xe4\xb5\xfb\x46\xc8\x43\x08\x84\xb6\ +\x12\xbf\x07\x50\xef\xd7\xe9\xc7\x6a\xf7\x79\xda\xd3\xe2\xac\xe3\ +\x1a\x48\x75\xc6\xad\x35\x86\x78\x51\x21\xb0\xdf\x11\x98\x56\x23\ +\x43\xb8\xf4\xf5\xd5\x37\xb7\x59\x73\xd9\x1f\x9c\x1b\x7b\x88\x89\ +\xeb\x57\x47\x42\xce\xa1\x1c\x7b\xd7\xf1\xb8\xa8\xa6\x37\xb4\xa1\ +\x21\x1f\x20\xd1\xa9\x05\x93\xad\x9b\xd7\x03\xd8\xdb\x7d\x1e\xf1\ +\xde\xe7\x7c\x39\x86\xaf\xa8\x10\x28\x04\xc6\x08\xf4\x75\x85\xd7\ +\x7a\x19\x8a\x11\x9f\xd6\xec\xfa\x7c\xeb\x91\x31\x99\xf4\x23\x7b\ +\xf6\x0e\x2f\xe7\xe4\xb1\x9b\xd6\x37\xda\xf4\x5c\xd8\x8d\x4d\x3b\ +\xac\x7e\xf3\x1c\x37\x24\xcd\x71\xcc\x50\x0e\xbe\xa1\xf8\x5a\x63\ +\xc9\x27\x9e\xc7\x65\xdd\x98\x73\xb0\x46\x4f\x43\x73\xf4\x39\x65\ +\x17\x02\x3b\x01\x81\xb5\xae\x63\xf7\x37\xcf\xf5\xdc\x37\xb6\x3c\ +\x56\x5d\x99\xeb\x49\x5f\x96\x79\x4f\xea\xc8\x9e\x19\x93\x7d\xda\ +\x59\xa2\x6f\x8a\x36\xdb\xf4\x5c\x3c\x1f\x44\x9f\xc0\x1a\xd3\x46\ +\xca\xe4\xfa\x21\x88\x77\x7c\x8e\x57\x92\x3b\x44\xfa\x99\x5f\x7d\ +\x28\x6f\x96\xcf\xb1\xca\x69\xf9\xb3\xe2\xd3\xc6\x95\xbf\x10\x58\ +\x26\x02\xf3\x5e\xa7\xb3\xf2\x66\xc5\xe7\x39\x93\xb5\x6f\x2e\xb6\ +\x3e\xf5\x21\x49\x7e\xce\x73\x7c\xf6\x67\xdf\xba\xf4\xcd\x36\x3d\ +\x37\x26\x40\xda\xfd\x26\xf4\x93\xa7\x4e\x8e\x36\xbe\x3c\x87\x7e\ +\x73\x90\x43\x44\x5e\xce\xed\x73\x5c\xcb\xb9\xfb\x78\xd9\x85\x40\ +\x21\x30\x8c\xc0\x66\x6a\xc6\xba\x73\x66\x6c\x7d\x59\xea\x47\xf6\ +\x2f\x6b\x19\x6b\x5c\x1d\x29\x39\x8f\xf6\xdc\x72\xb3\x4d\x6f\xad\ +\x85\xdc\x94\xe0\x79\x00\x6d\xe5\x50\xde\x5a\xf3\xe6\x98\x63\xf1\ +\x39\x9f\x71\x62\xbd\xcf\x58\xc9\x42\xa0\x10\x98\x8d\xc0\x50\xfd\ +\xe4\x9a\x9b\x35\x03\xb9\xb9\x0e\x69\x6c\x50\x3f\x87\x79\xe3\xe8\ +\xf8\x71\xc8\x97\xe3\x1b\xd6\xb7\xaa\xe9\x79\x08\x41\xd2\x76\x63\ +\x1e\xd6\x38\x7e\x7d\xbc\x77\x80\x3f\xdb\xc4\x99\x23\xfb\xf1\x41\ +\xce\xa1\x1c\x7b\x4f\x7c\x9c\x15\x3f\x71\x44\x79\x0a\x81\x42\x60\ +\x23\x08\x58\xef\xbd\xec\xe7\x22\x2e\x13\x53\x57\xf6\x3e\xed\x21\ +\x89\x6f\x43\xb4\x55\x4d\x6f\xad\xc5\x39\x10\xd4\x37\x21\xfd\xe3\ +\xe8\xf1\xee\xdf\x37\x3f\xec\x3c\x36\xeb\x8e\x45\xf6\xf3\xe5\x58\ +\xe9\x85\x40\x21\xb0\x38\x04\xac\x3d\x24\x4c\x8d\xea\x63\x55\xbf\ +\x63\x87\xde\x53\xce\x23\xe6\x1c\x7d\xde\x96\xd9\xd3\x1a\xc8\x46\ +\x17\x70\x3e\xa5\xf3\x60\xcb\xf8\xd4\x73\x9e\x9f\x16\xe9\xd3\xf6\ +\x4e\x50\x30\xf3\x9c\xea\x9b\x95\xae\xb9\xd9\x79\x6a\x7c\x21\xb0\ +\x5b\x10\xe8\x9b\xcd\x46\xf6\x9d\xe7\xb0\x3e\xb3\x2f\x37\x3b\xfc\ +\xde\xd0\x98\x83\x94\x59\xbf\xd7\xf5\x65\x89\xbe\x29\xf2\x93\xd3\ +\x4d\x4d\x92\x06\xdb\x3c\x94\x86\xb4\x3d\x2c\x7e\x7d\xea\xda\x4a\ +\xc7\x22\x19\x97\xfd\xe8\x79\x2e\x72\x16\x49\x79\xed\x45\xae\x53\ +\x73\x17\x02\x9b\x45\x60\xde\xba\x98\x37\x6f\xda\x7e\xac\xc9\x3c\ +\x8f\x3a\x52\xce\xe3\x6d\x7a\xf8\xfa\x78\x6f\xe7\x71\x5b\xaa\x2f\ +\xaa\x98\x9d\x57\xe9\xa6\xb5\x91\xbd\x9e\x6d\xf2\x7b\x5b\x9f\x77\ +\x80\xc6\xf1\x67\xc2\x0f\x80\xd3\xe2\x39\xb7\xf4\x42\xa0\x10\x98\ +\x8d\x00\xf5\xb4\x16\xd9\xcc\xcc\xeb\xa5\x71\xe6\x20\x96\x59\x1f\ +\x12\xea\xc7\x6a\x8f\xa3\x5b\xf0\xb8\x8c\xf7\xf4\xe6\xd9\xa6\x07\ +\xb3\x61\x31\x66\x5a\xd3\x32\x77\xda\xbc\xc4\xf3\x3c\xd3\xf2\xca\ +\x5f\x08\x14\x02\xb3\x11\x98\x55\x6f\x6b\xcd\x90\xc7\x66\x7d\xad\ +\x31\x0b\x8f\x4d\x6b\x2c\x5b\xbd\x70\x5e\x47\x1d\xa9\xce\x7a\xbe\ +\x77\x97\x7d\x79\x1f\xf3\xdc\xe1\xe5\x7c\xf4\x69\x73\xf5\x79\xb3\ +\xec\xad\x9a\x67\xd6\x3a\x15\x2f\x04\x36\x8b\xc0\x56\x37\x97\x7e\ +\xbe\xde\x66\xbf\xfa\x7a\x99\xcf\x42\xcc\x3b\xbe\x9c\xa7\x6e\xae\ +\xb6\x52\xff\x96\xc9\x9d\x72\xa7\xc7\x81\x38\x24\x6c\x73\xc3\x27\ +\xd1\x74\x00\x0c\xb9\x1d\x0d\x68\x61\x4f\x80\x07\x2c\x59\x08\xec\ +\x01\x04\xac\x61\x6a\x34\xd7\x4c\xd6\xb7\xfd\x98\xcb\x6e\x20\xae\ +\xa7\xcc\x00\xe0\x93\xf1\x9b\xa3\x0f\xe0\xf4\x11\x97\xf4\x29\xf5\ +\x23\x87\x7c\x39\x5e\x7a\x21\x50\x08\x0c\x23\x30\xad\x51\x65\x7f\ +\xd6\x9d\xc5\x3a\x45\xf6\x77\x76\xe4\xe0\xcf\xe3\xb2\x6e\x1c\xb9\ +\x30\xda\x49\x77\x7a\xfd\x21\x33\x18\xe8\x34\xb0\xec\x33\xdf\x18\ +\x76\x35\x39\x51\x29\x59\x08\x6c\x2d\x02\xb9\xf6\xd0\xb3\xdd\xaf\ +\x64\xb3\xeb\xfd\x3b\xc2\xde\x09\x4d\xc2\x3d\x28\x05\x46\x7b\x96\ +\x24\xdf\x1c\xc7\x96\x2c\x04\x0a\x81\xc5\x22\x90\x9b\x9e\xfa\x2c\ +\x99\x77\x44\xae\xf9\xd9\xbf\x70\x7d\x27\xdf\xe9\x4d\x3b\x7c\x0f\ +\x14\x0d\xaf\xf7\x4d\x1b\x5b\xfe\x42\xa0\x10\xd8\x3a\x04\xac\x3b\ +\xe5\xd6\xcd\xbc\xc0\x99\x76\xe2\x1d\x92\x7b\xea\x25\x30\xe8\xcb\ +\x90\xe8\x53\xe6\x58\xaf\xcf\x93\xd3\x8f\x29\xbb\x10\xd8\x4f\x08\ +\x4c\x6b\x60\x43\xfe\xde\x37\xcd\xd6\xaf\xdc\x56\x3c\xb7\xfa\x37\ +\x32\xb6\xe2\x30\x36\x26\xa5\x73\xf6\x36\x7e\x7c\x43\x7e\xc7\x94\ +\x2c\x04\x0a\x81\xf5\x21\xb0\xde\xc6\x94\xf3\xb3\xbe\xbe\x55\x97\ +\x98\xbd\x1b\x1a\x46\xbf\x47\x6d\x65\x0f\xd7\x34\x7f\x9f\x57\x76\ +\x21\x50\x08\xcc\x8f\xc0\x5a\x0d\xcd\x58\x2f\xe7\x9f\x7d\x89\x99\ +\x3b\xf1\x4e\xaf\x3f\x7e\xdf\xc4\x7a\xbb\xcf\x17\xf8\xde\x9f\xed\ +\x59\x73\xe4\xdc\xd2\x0b\x81\xfd\x82\xc0\xac\xda\x99\x15\xdf\x15\ +\x38\xed\xd5\xe2\x9f\x75\x2e\xe3\xca\x5d\xf1\x64\xd5\x26\x0b\x81\ +\x05\x20\x60\x23\x53\xae\xb5\xc4\x3c\x39\x6b\x8d\xdf\x11\xb1\xdd\ +\x70\xa7\xb7\x11\xa0\xaa\x99\x6d\x04\xb5\x1a\xb3\x1f\x11\xd8\x13\ +\x8d\x6c\x3d\x4f\xdc\x5e\x6d\x7a\xeb\xc1\xa0\x72\x0b\x81\xfd\x8c\ +\xc0\xbe\x6b\x7a\xfb\xf9\xc9\xae\xb3\x17\x02\x85\x40\x21\x50\x08\ +\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\ +\x85\x40\x21\x50\x08\x14\x02\xbb\x11\x81\xff\x1f\xb1\x52\x54\x81\ +\x7e\xf0\xe3\x29\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\ +" + +qt_resource_name = "\ +\x00\x05\ +\x00\x6f\xa6\x53\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x73\ +\x00\x0c\ +\x0a\xb2\x11\x87\ +\x00\x61\ +\x00\x64\x00\x64\x00\x5f\x00\x63\x00\x6f\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0c\ +\x07\x8b\x16\x07\ +\x00\x61\ +\x00\x64\x00\x64\x00\x5f\x00\x70\x00\x65\x00\x61\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0c\ +\x02\x36\xcc\x67\ +\x00\x73\ +\x00\x61\x00\x76\x00\x65\x00\x5f\x00\x66\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0e\ +\x01\xfa\x1c\x07\ +\x00\x66\ +\x00\x69\x00\x74\x00\x5f\x00\x6c\x00\x69\x00\x6d\x00\x69\x00\x74\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\ +\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xf5\ +\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x11\xa6\ +\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x08\xa7\ +\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources()