From 305efd60bdf069d1b2849858cad757ad4b7233b2 Mon Sep 17 00:00:00 2001 From: Irony <892768447@qq.com> Date: Fri, 28 Dec 2018 23:13:05 +0800 Subject: [PATCH] update --- QFlowLayout/Lib/__init__.py | 0 QFlowLayout/Lib/flowlayout.py | 161 + .../Lib/AnimationShadowEffect.py | 56 + QGraphicsDropShadowEffect/Lib/__init__.py | 0 QLabel/Lib/NinePatch.py | 361 + QLabel/Lib/QtNinePatch/QtNinePatch.cpp | 136 + QLabel/Lib/QtNinePatch/QtNinePatch.h | 26 + QLabel/Lib/QtNinePatch/QtNinePatch.pro | 38 + QLabel/Lib/QtNinePatch/QtNinePatch.pro.user | 202 + QLabel/Lib/QtNinePatch/sip/QtNinePatch.dll | Bin 0 -> 12800 bytes QLabel/Lib/QtNinePatch/sip/QtNinePatch.pyd | Bin 0 -> 10752 bytes QLabel/Lib/QtNinePatch/sip/QtNinePatch.sip | 14 + QLabel/Lib/QtNinePatch/sip/__init__.py | 0 QLabel/Lib/QtNinePatch/sip/configure.py | 87 + QLabel/Lib/QtNinePatch2.py | 140 + QLabel/Lib/__init__.py | 0 QLabel/Lib/res_rc.py | 471 ++ QLabel/Lib/xpmres.py | 399 ++ .../Lib/SlidingStackedWidget.py | 238 + QPropertyAnimation/Lib/UiImageSlider.py | 102 + QPropertyAnimation/Lib/__init__.py | 0 QPropertyAnimation/Lib/pointtool.pyd | Bin 0 -> 22528 bytes QScrollArea/Lib/SettingUi.py | 494 ++ QSerialPort/Lib/UiSerialPort.py | 175 + QSerialPort/Lib/__init__.py | 0 QTableWidget/Lib/__init__.py | 0 QTableWidget/Lib/mainui.py | 111 + QWebView/Lib/__init__.py | 0 QWebView/Lib/data_rc.py | 6225 +++++++++++++++++ 其它/自动更新/pyos/mylibs/__init__.pyo | Bin 101 -> 0 bytes 其它/自动更新/pyos/mylibs/testlibs.pyo | Bin 512 -> 0 bytes 31 files changed, 9436 insertions(+) create mode 100644 QFlowLayout/Lib/__init__.py create mode 100644 QFlowLayout/Lib/flowlayout.py create mode 100644 QGraphicsDropShadowEffect/Lib/AnimationShadowEffect.py create mode 100644 QGraphicsDropShadowEffect/Lib/__init__.py create mode 100644 QLabel/Lib/NinePatch.py create mode 100644 QLabel/Lib/QtNinePatch/QtNinePatch.cpp create mode 100644 QLabel/Lib/QtNinePatch/QtNinePatch.h create mode 100644 QLabel/Lib/QtNinePatch/QtNinePatch.pro create mode 100644 QLabel/Lib/QtNinePatch/QtNinePatch.pro.user create mode 100644 QLabel/Lib/QtNinePatch/sip/QtNinePatch.dll create mode 100644 QLabel/Lib/QtNinePatch/sip/QtNinePatch.pyd create mode 100644 QLabel/Lib/QtNinePatch/sip/QtNinePatch.sip create mode 100644 QLabel/Lib/QtNinePatch/sip/__init__.py create mode 100644 QLabel/Lib/QtNinePatch/sip/configure.py create mode 100644 QLabel/Lib/QtNinePatch2.py create mode 100644 QLabel/Lib/__init__.py create mode 100644 QLabel/Lib/res_rc.py create mode 100644 QLabel/Lib/xpmres.py create mode 100644 QPropertyAnimation/Lib/SlidingStackedWidget.py create mode 100644 QPropertyAnimation/Lib/UiImageSlider.py create mode 100644 QPropertyAnimation/Lib/__init__.py create mode 100644 QPropertyAnimation/Lib/pointtool.pyd create mode 100644 QScrollArea/Lib/SettingUi.py create mode 100644 QSerialPort/Lib/UiSerialPort.py create mode 100644 QSerialPort/Lib/__init__.py create mode 100644 QTableWidget/Lib/__init__.py create mode 100644 QTableWidget/Lib/mainui.py create mode 100644 QWebView/Lib/__init__.py create mode 100644 QWebView/Lib/data_rc.py delete mode 100644 其它/自动更新/pyos/mylibs/__init__.pyo delete mode 100644 其它/自动更新/pyos/mylibs/testlibs.pyo diff --git a/QFlowLayout/Lib/__init__.py b/QFlowLayout/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QFlowLayout/Lib/flowlayout.py b/QFlowLayout/Lib/flowlayout.py new file mode 100644 index 0000000..ef1d54e --- /dev/null +++ b/QFlowLayout/Lib/flowlayout.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python + + +############################################################################# +## +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +## +# This file is part of the examples of PyQt. +## +# $QT_BEGIN_LICENSE:BSD$ +# You may use this file under the terms of the BSD license as follows: +## +# "Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +## +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +# $QT_END_LICENSE$ +## +############################################################################# + + +from PyQt5.QtCore import QPoint, QRect, QSize, Qt +from PyQt5.QtWidgets import (QApplication, QLayout, QPushButton, QSizePolicy, + QWidget) + + +class Window(QWidget): + def __init__(self): + super(Window, self).__init__() + + flowLayout = FlowLayout() + flowLayout.addWidget(QPushButton("Short")) + flowLayout.addWidget(QPushButton("Longer")) + flowLayout.addWidget(QPushButton("Different text")) + flowLayout.addWidget(QPushButton("More text")) + flowLayout.addWidget(QPushButton("Even longer button text")) + self.setLayout(flowLayout) + + self.setWindowTitle("Flow Layout") + + +class FlowLayout(QLayout): + def __init__(self, parent=None, margin=0, spacing=-1): + super(FlowLayout, self).__init__(parent) + + if parent is not None: + self.setContentsMargins(margin, margin, margin, margin) + + self.setSpacing(spacing) + + self.itemList = [] + + def __del__(self): + item = self.takeAt(0) + while item: + item = self.takeAt(0) + + def addItem(self, item): + self.itemList.append(item) + + def count(self): + return len(self.itemList) + + def itemAt(self, index): + if index >= 0 and index < len(self.itemList): + return self.itemList[index] + + return None + + def takeAt(self, index): + if index >= 0 and index < len(self.itemList): + return self.itemList.pop(index) + + return None + + def expandingDirections(self): + return Qt.Orientations(Qt.Orientation(0)) + + def hasHeightForWidth(self): + return True + + def heightForWidth(self, width): + height = self.doLayout(QRect(0, 0, width, 0), True) + return height + + def setGeometry(self, rect): + super(FlowLayout, self).setGeometry(rect) + self.doLayout(rect, False) + + def sizeHint(self): + return self.minimumSize() + + def minimumSize(self): + size = QSize() + + for item in self.itemList: + size = size.expandedTo(item.minimumSize()) + + margin, _, _, _ = self.getContentsMargins() + + size += QSize(2 * margin, 2 * margin) + return size + + def doLayout(self, rect, testOnly): + x = rect.x() + y = rect.y() + lineHeight = 0 + + for item in self.itemList: + wid = item.widget() + spaceX = self.spacing() + wid.style().layoutSpacing(QSizePolicy.PushButton, + QSizePolicy.PushButton, Qt.Horizontal) + spaceY = self.spacing() + wid.style().layoutSpacing(QSizePolicy.PushButton, + QSizePolicy.PushButton, Qt.Vertical) + nextX = x + item.sizeHint().width() + spaceX + if nextX - spaceX > rect.right() and lineHeight > 0: + x = rect.x() + y = y + lineHeight + spaceY + nextX = x + item.sizeHint().width() + spaceX + lineHeight = 0 + + if not testOnly: + item.setGeometry(QRect(QPoint(x, y), item.sizeHint())) + + x = nextX + lineHeight = max(lineHeight, item.sizeHint().height()) + + return y + lineHeight - rect.y() + + +if __name__ == '__main__': + + import sys + + app = QApplication(sys.argv) + mainWin = Window() + mainWin.show() + sys.exit(app.exec_()) diff --git a/QGraphicsDropShadowEffect/Lib/AnimationShadowEffect.py b/QGraphicsDropShadowEffect/Lib/AnimationShadowEffect.py new file mode 100644 index 0000000..9cbbd75 --- /dev/null +++ b/QGraphicsDropShadowEffect/Lib/AnimationShadowEffect.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Created on 2018年9月25日 +@author: Irony +@site: https://pyqt5.com , https://github.com/892768447 +@email: 892768447@qq.com +@file: AnimationShadowEffect +@description: 边框动画阴影动画 +""" +from PyQt5.QtCore import QPropertyAnimation, pyqtProperty +from PyQt5.QtWidgets import QGraphicsDropShadowEffect + + +__Author__ = """By: Irony +QQ: 892768447 +Email: 892768447@qq.com""" +__Copyright__ = 'Copyright (c) 2018 Irony' +__Version__ = 1.0 + + +class AnimationShadowEffect(QGraphicsDropShadowEffect): + + def __init__(self, color, *args, **kwargs): + super(AnimationShadowEffect, self).__init__(*args, **kwargs) + self.setColor(color) + self.setOffset(0, 0) + self.setBlurRadius(0) + self._radius = 0 + self.animation = QPropertyAnimation(self) + self.animation.setTargetObject(self) + self.animation.setDuration(2000) # 一次循环时间 + self.animation.setLoopCount(-1) # 永久循环 + self.animation.setPropertyName(b'radius') + # 插入值 + self.animation.setKeyValueAt(0, 1) + self.animation.setKeyValueAt(0.5, 30) + self.animation.setKeyValueAt(1, 1) + + def start(self): + self.animation.start() + + def stop(self, r=0): + # 停止动画并修改半径值 + self.animation.stop() + self.radius = r + + @pyqtProperty(int) + def radius(self): + return self._radius + + @radius.setter + def radius(self, r): + self._radius = r + self.setBlurRadius(r) diff --git a/QGraphicsDropShadowEffect/Lib/__init__.py b/QGraphicsDropShadowEffect/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QLabel/Lib/NinePatch.py b/QLabel/Lib/NinePatch.py new file mode 100644 index 0000000..966903a --- /dev/null +++ b/QLabel/Lib/NinePatch.py @@ -0,0 +1,361 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Created on 2018年10月25日 +@author: Irony +@site: https://pyqt5.com , https://github.com/892768447 +@email: 892768447@qq.com +@file: NinePatch +@description: +""" +from math import fabs + +from PyQt5.QtCore import QRect +from PyQt5.QtGui import QImage, QColor, QPainter, qRed, qGreen, qBlue, qAlpha + + +__Author__ = """By: Irony +QQ: 892768447 +Email: 892768447@qq.com""" +__Copyright__ = "Copyright (c) 2018 Irony" +__Version__ = "Version 1.0" + + +class _Exception(Exception): + + def __init__(self, imgW, imgH): + self.imgW = imgW + self.imgH = imgH + + +class NinePatchException(Exception): + + def __str__(self): + return "Nine patch error" + + +class ExceptionIncorrectWidth(_Exception): + + def __str__(self): + return "Input incorrect width. Mimimum width = :{imgW}".format(imgW=self.imgW) + + +class ExceptionIncorrectWidthAndHeight(_Exception): + + def __str__(self): + return "Input incorrect width width and height. Minimum width = :{imgW} . Minimum height = :{imgH}".format(imgW=self.imgW, imgH=self.imgH) + + +class ExceptionIncorrectHeight(_Exception): + + def __str__(self): + return "Input incorrect height. Minimum height = :{imgW}".format(imgW=self.imgW) + + +class ExceptionNot9Patch(Exception): + + def __str__(self): + return "It is not nine patch image" + + +class NinePatch: + + def __init__(self, fileName): + self.CachedImage = None # 缓存图片 + self.OldWidth = -1 + self.OldHeight = -1 + self.ResizeDistancesX = [] + self.ResizeDistancesY = [] # [(int,int)]数组 + self.setImage(fileName) + + def width(self): + return self.Image.width() + + def height(self): + return self.Image.height() + + def setImage(self, fileName): + self.Image = QImage(fileName) + if self.Image.isNull(): + return + + self.ContentArea = self.GetContentArea() + self.GetResizeArea() + if not self.ResizeDistancesX or not self.ResizeDistancesY: + raise ExceptionNot9Patch + + def __del__(self): + if hasattr(self, "CachedImage"): + del self.CachedImage + if hasattr(self, "Image"): + del self.Image + + def Draw(self, painter, x, y): + painter.drawImage(x, y, self.CachedImage) + + def SetImageSize(self, width, height): + resizeWidth = 0 + resizeHeight = 0 + for i in range(len(self.ResizeDistancesX)): + resizeWidth += self.ResizeDistancesX[i][1] + + for i in range(len(self.ResizeDistancesY)): + resizeHeight += self.ResizeDistancesY[i][1] + + if (width < (self.Image.width() - 2 - resizeWidth) and height < (self.Image.height() - 2 - resizeHeight)): + raise ExceptionIncorrectWidthAndHeight( + self.Image.width() - 2, self.Image.height() - 2) + + if (width < (self.Image.width() - 2 - resizeWidth)): + raise ExceptionIncorrectWidth( + self.Image.width() - 2, self.Image.height() - 2) + + if (height < (self.Image.height() - 2 - resizeHeight)): + raise ExceptionIncorrectHeight( + self.Image.width() - 2, self.Image.height() - 2) + + if (width != self.OldWidth or height != self.OldHeight): + self.OldWidth = width + self.OldHeight = height + self.UpdateCachedImage(width, height) + + @classmethod + def GetContentAreaRect(self, width, height): + # print("GetContentAreaRect : width:%d height:%d" % (width, height)) + return (QRect(self.ContentArea.x(), self.ContentArea.y(), (width - (self.Image.width() - 2 - self.ContentArea.width())), + (height - (self.Image.height() - 2 - self.ContentArea.height())))) + + def DrawScaledPart(self, oldRect, newRect, painter): + if (newRect.width() and newRect.height()): + # print("DrawScaledPart newRect.width:%d newRect.height:%d" % (newRect.width() , newRect.height())) + img = self.Image.copy(oldRect) + img = img.scaled(newRect.width(), newRect.height()) + painter.drawImage(newRect.x(), newRect.y(), img, + 0, 0, newRect.width(), newRect.height()) + + def DrawConstPart(self, oldRect, newRect, painter): + # print("DrawConstPart oldRect:{oldRect} newRect:{newRect}".format(oldRect = oldRect, newRect = newRect)) + img = self.Image.copy(oldRect) + painter.drawImage(newRect.x(), newRect.y(), img, 0, + 0, newRect.width(), newRect.height()) + + def IsColorBlack(self, color): + r = qRed(color) + g = qGreen(color) + b = qBlue(color) + a = qAlpha(color) + if a < 128: + return False + return r < 128 and g < 128 and b < 128 + + def GetContentArea(self): + j = self.Image.height() - 1 + left = 0 + right = 0 + for i in range(self.Image.width()): + if (self.IsColorBlack(self.Image.pixel(i, j)) and left == 0): + left = i + else: + if (left != 0 and self.IsColorBlack(self.Image.pixel(i, j))): + right = i + + if (left and not right): + right = left + + left -= 1 + i = self.Image.width() - 1 + top = 0 + bot = 0 + + for j in range(self.Image.height()): + if (self.IsColorBlack(self.Image.pixel(i, j)) and top == 0): + top = j + else: + if (top and self.IsColorBlack(self.Image.pixel(i, j))): + bot = j + + if (top and not bot): + bot = top + top -= 1 + # print("GetContentArea left: %d top:%d %d %d" % (left, top, right - left, bot - top)) + return (QRect(left, top, right - left, bot - top)) + + def GetResizeArea(self): + j = 0 + left = 0 + right = 0 + + for i in range(self.Image.width()): + if (self.IsColorBlack(self.Image.pixel(i, j)) and left == 0): + left = i + if (left and self.IsColorBlack(self.Image.pixel(i, j)) and not self.IsColorBlack(self.Image.pixel(i + 1, j))): + right = i + left -= 1 + # print("ResizeDistancesX.append ", left, " ", right - left) + self.ResizeDistancesX.append((left, right - left)) + right = 0 + left = 0 + i = 0 + top = 0 + bot = 0 + + for j in range(self.Image.height()): + if (self.IsColorBlack(self.Image.pixel(i, j)) and top == 0): + top = j + + if (top and self.IsColorBlack(self.Image.pixel(i, j)) and not self.IsColorBlack(self.Image.pixel(i, j + 1))): + bot = j + top -= 1 + # print("ResizeDistancesY.append ", top, " ", bot - top) + self.ResizeDistancesY.append((top, bot - top)) + top = 0 + bot = 0 + # print(self.ResizeDistancesX, len(self.ResizeDistancesX)) + # print(self.ResizeDistancesY, len(self.ResizeDistancesY)) + + def GetFactor(self, width, height, factorX, factorY): + topResize = width - (self.Image.width() - 2) + leftResize = height - (self.Image.height() - 2) + for i in range(len(self.ResizeDistancesX)): + topResize += self.ResizeDistancesX[i][1] + factorX += self.ResizeDistancesX[i][1] + + for i in range(len(self.ResizeDistancesY)): + leftResize += self.ResizeDistancesY[i][1] + factorY += self.ResizeDistancesY[i][1] + + factorX = float(topResize) / factorX + factorY = float(leftResize) / factorY + return factorX, factorY + + def UpdateCachedImage(self, width, height): + # print("UpdateCachedImage: ", width, " " , height) + self.CachedImage = QImage( + width, height, QImage.Format_ARGB32_Premultiplied) + self.CachedImage.fill(QColor(0, 0, 0, 0)) + painter = QPainter(self.CachedImage) + factorX = 0.0 + factorY = 0.0 + factorX, factorY = self.GetFactor(width, height, factorX, factorY) + # print("after GetFactor: ", width, height, factorX, factorY) + lostX = 0.0 + lostY = 0.0 + x1 = 0 # for image parts X + y1 = 0 # for image parts Y +# widthResize # width for image parts +# heightResize # height for image parts + resizeX = 0 + resizeY = 0 + offsetX = 0 + offsetY = 0 + for i in range(len(self.ResizeDistancesX)): + y1 = 0 + offsetY = 0 + lostY = 0.0 + for j in range(len(self.ResizeDistancesY)): + widthResize = self.ResizeDistancesX[i][0] - x1 + heightResize = self.ResizeDistancesY[j][0] - y1 + + self.DrawConstPart(QRect(x1 + 1, y1 + 1, widthResize, heightResize), + QRect(x1 + offsetX, y1 + offsetY, widthResize, heightResize), painter) + + y2 = self.ResizeDistancesY[j][0] + heightResize = self.ResizeDistancesY[j][1] + resizeY = round(float(heightResize) * factorY) + lostY += resizeY - (float(heightResize) * factorY) + if (fabs(lostY) >= 1.0): + if (lostY < 0): + resizeY += 1 + lostY += 1.0 + else: + resizeY -= 1 + lostY -= 1.0 + + self.DrawScaledPart(QRect(x1 + 1, y2 + 1, widthResize, heightResize), + QRect(x1 + offsetX, y2 + offsetY, widthResize, resizeY), painter) + + x2 = self.ResizeDistancesX[i][0] + widthResize = self.ResizeDistancesX[i][1] + heightResize = self.ResizeDistancesY[j][0] - y1 + resizeX = round(float(widthResize) * factorX) + lostX += resizeX - (float(widthResize) * factorX) + if (fabs(lostX) >= 1.0): + if (lostX < 0): + resizeX += 1 + lostX += 1.0 + else: + resizeX -= 1 + lostX -= 1.0 + + self.DrawScaledPart(QRect(x2 + 1, y1 + 1, widthResize, heightResize), + QRect(x2 + offsetX, y1 + offsetY, resizeX, heightResize), painter) + + heightResize = self.ResizeDistancesY[j][1] + self.DrawScaledPart(QRect(x2 + 1, y2 + 1, widthResize, heightResize), + QRect(x2 + offsetX, y2 + offsetY, resizeX, resizeY), painter) + + y1 = self.ResizeDistancesY[j][0] + self.ResizeDistancesY[j][1] + offsetY += resizeY - self.ResizeDistancesY[j][1] + + x1 = self.ResizeDistancesX[i][0] + self.ResizeDistancesX[i][1] + offsetX += resizeX - self.ResizeDistancesX[i][1] + + x1 = self.ResizeDistancesX[len( + self.ResizeDistancesX) - 1][0] + self.ResizeDistancesX[len(self.ResizeDistancesX) - 1][1] + widthResize = self.Image.width() - x1 - 2 + y1 = 0 + lostX = 0.0 + lostY = 0.0 + offsetY = 0 + for i in range(len(self.ResizeDistancesY)): + self.DrawConstPart(QRect(x1 + 1, y1 + 1, widthResize, self.ResizeDistancesY[i][0] - y1), + QRect(x1 + offsetX, y1 + offsetY, widthResize, self.ResizeDistancesY[i][0] - y1), painter) + y1 = self.ResizeDistancesY[i][0] + resizeY = round(float(self.ResizeDistancesY[i][1]) * factorY) + lostY += resizeY - (float(self.ResizeDistancesY[i][1]) * factorY) + if (fabs(lostY) >= 1.0): + if (lostY < 0): + resizeY += 1 + lostY += 1.0 + else: + resizeY -= 1 + lostY -= 1.0 + + self.DrawScaledPart(QRect(x1 + 1, y1 + 1, widthResize, self.ResizeDistancesY[i][1]), + QRect(x1 + offsetX, y1 + offsetY, widthResize, resizeY), painter) + y1 = self.ResizeDistancesY[i][0] + self.ResizeDistancesY[i][1] + offsetY += resizeY - self.ResizeDistancesY[i][1] + + y1 = self.ResizeDistancesY[len( + self.ResizeDistancesY) - 1][0] + self.ResizeDistancesY[len(self.ResizeDistancesY) - 1][1] + heightResize = self.Image.height() - y1 - 2 + x1 = 0 + offsetX = 0 + for i in range(len(self.ResizeDistancesX)): + self.DrawConstPart(QRect(x1 + 1, y1 + 1, self.ResizeDistancesX[i][0] - x1, heightResize), + QRect(x1 + offsetX, y1 + offsetY, self.ResizeDistancesX[i][0] - x1, heightResize), painter) + x1 = self.ResizeDistancesX[i][0] + resizeX = round(float(self.ResizeDistancesX[i][1]) * factorX) + lostX += resizeX - (float(self.ResizeDistancesX[i][1]) * factorX) + if (fabs(lostX) >= 1.0): + if (lostX < 0): + resizeX += 1 + lostX += 1.0 + else: + resizeX -= 1 + lostX += 1.0 + + self.DrawScaledPart(QRect(x1 + 1, y1 + 1, self.ResizeDistancesX[i][1], heightResize), + QRect(x1 + offsetX, y1 + offsetY, resizeX, heightResize), painter) + x1 = self.ResizeDistancesX[i][0] + self.ResizeDistancesX[i][1] + offsetX += resizeX - self.ResizeDistancesX[i][1] + + x1 = self.ResizeDistancesX[len( + self.ResizeDistancesX) - 1][0] + self.ResizeDistancesX[len(self.ResizeDistancesX) - 1][1] + widthResize = self.Image.width() - x1 - 2 + y1 = self.ResizeDistancesY[len( + self.ResizeDistancesY) - 1][0] + self.ResizeDistancesY[len(self.ResizeDistancesY) - 1][1] + heightResize = self.Image.height() - y1 - 2 + self.DrawConstPart(QRect(x1 + 1, y1 + 1, widthResize, heightResize), + QRect(x1 + offsetX, y1 + offsetY, widthResize, heightResize), painter) diff --git a/QLabel/Lib/QtNinePatch/QtNinePatch.cpp b/QLabel/Lib/QtNinePatch/QtNinePatch.cpp new file mode 100644 index 0000000..6bda869 --- /dev/null +++ b/QLabel/Lib/QtNinePatch/QtNinePatch.cpp @@ -0,0 +1,136 @@ +#include "QtNinePatch.h" + +struct Part { + bool stretchable; + int pos; + int len; + Part() + : stretchable(false) + , pos(0) + , len(0) + { + } + Part(int pos, int len, bool stretchable) + : stretchable(stretchable) + , pos(pos) + , len(len) + { + } +}; + +static inline bool isStretchableMarker(QRgb pixel) +{ + return (qAlpha(pixel) >> 7) & 1; +} + +static QPixmap resize9patch(QImage const &image, int dw, int dh) +{ + int sw = image.width(); + int sh = image.height(); + if (sw > 2 && sh > 2 && dw > 0 && dh > 0) { + QPixmap pixmap(dw, dh); + pixmap.fill(Qt::transparent); + QPainter pr(&pixmap); + pr.setRenderHint(QPainter::SmoothPixmapTransform); + + std::vector horz; + std::vector vert; + int horz_stretch = 0; + int vert_stretch = 0; + { + int pos; + QRgb last; + QRgb next; + pos = 0; + last = image.pixel(1, 0); + for (int x = 1; x < sw - 1; x++) { + next = image.pixel(x + 1, 0); + if (isStretchableMarker(last) != isStretchableMarker(next) || x == sw - 2) { + bool stretchable = isStretchableMarker(last); + int len = x - pos; + horz.push_back(Part(pos, len, stretchable)); + if (stretchable) horz_stretch += len; + last = next; + pos = x; + } + } + pos = 0; + last = image.pixel(0, 1); + for (int y = 1; y < sh - 1; y++) { + next = image.pixel(0, y + 1); + if (isStretchableMarker(last) != isStretchableMarker(next) || y == sh - 2) { + bool stretchable = isStretchableMarker(last); + int len = y - pos; + vert.push_back(Part(pos, len, stretchable)); + if (stretchable) vert_stretch += len; + last = next; + pos = y; + } + } + } + double horz_mul = 0; + double vert_mul = 0; + if (horz_stretch > 0) horz_mul = (double)(dw - (sw - 2 - horz_stretch)) / horz_stretch; + if (vert_stretch > 0) vert_mul = (double)(dh - (sh - 2 - vert_stretch)) / vert_stretch; + int dy0 = 0; + int dy1 = 0; + double vstretch = 0; + for (int i = 0; i < (int)vert.size(); i++) { + int sy0 = vert[i].pos; + int sy1 = vert[i].pos + vert[i].len; + if (i + 1 == (int)vert.size()) { + dy1 = dh; + } else if (vert[i].stretchable) { + vstretch += (double)vert[i].len * vert_mul; + double s = floor(vstretch); + vstretch -= s; + dy1 += (int)s; + } else { + dy1 += vert[i].len; + } + int dx0 = 0; + int dx1 = 0; + double hstretch = 0; + for (int j = 0; j < (int)horz.size(); j++) { + int sx0 = horz[j].pos; + int sx1 = horz[j].pos + horz[j].len; + if (j + 1 == (int)horz.size()) { + dx1 = dw; + } else if (horz[j].stretchable) { + hstretch += (double)horz[j].len * horz_mul; + double s = floor(hstretch); + hstretch -= s; + dx1 += (int)s; + } else { + dx1 += horz[j].len; + } + pr.drawImage(QRect(dx0, dy0, dx1 - dx0, dy1 - dy0), image, QRect(sx0 + 1, sy0 + 1, sx1 - sx0, sy1 - sy0)); + dx0 = dx1; + } + dy0 = dy1; + } + + return pixmap; + } + return QPixmap(); +} + +QPixmap QtNinePatch::createPixmapFromNinePatchImage(const QImage &image, int dw, int dh) +{ + int w = dw; + int h = dh; + if (w < image.width() || h < image.height()) { // shrink + if (w < image.width()) w = image.width(); + if (h < image.height()) h = image.height(); + QPixmap pm1 = resize9patch(image, w, h); + if (pm1.isNull()) return QPixmap(); + QPixmap pm2(dw, dh); + pm2.fill(Qt::transparent); + QPainter pr(&pm2); + pr.setRenderHint(QPainter::SmoothPixmapTransform); + pr.drawPixmap(0, 0, dw, dh, pm1, 0, 0, w, h); + return pm2; + } else { + return resize9patch(image, w, h); + } +} diff --git a/QLabel/Lib/QtNinePatch/QtNinePatch.h b/QLabel/Lib/QtNinePatch/QtNinePatch.h new file mode 100644 index 0000000..782e4fa --- /dev/null +++ b/QLabel/Lib/QtNinePatch/QtNinePatch.h @@ -0,0 +1,26 @@ +#ifndef QTNINEPATCH_H +#define QTNINEPATCH_H + +#include + +#if defined(QTNINEPATCHLIB_LIBRARY) +# define QTNINEPATCHLIBSHARED_EXPORT Q_DECL_EXPORT +#else +# define QTNINEPATCHLIBSHARED_EXPORT Q_DECL_IMPORT +#endif + +#include +#include +#include +#include + +class QtNinePatch; + +class QTNINEPATCHLIBSHARED_EXPORT QtNinePatch +{ + +public: + static QPixmap createPixmapFromNinePatchImage(const QImage &, int, int); +}; + +#endif // QTNINEPATCH_H diff --git a/QLabel/Lib/QtNinePatch/QtNinePatch.pro b/QLabel/Lib/QtNinePatch/QtNinePatch.pro new file mode 100644 index 0000000..2910b39 --- /dev/null +++ b/QLabel/Lib/QtNinePatch/QtNinePatch.pro @@ -0,0 +1,38 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2018-10-25T14:12:10 +# +#------------------------------------------------- + +QT += core axcontainer gui + +#greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +TARGET = QtNinePatch +TEMPLATE = lib +CONFIG += release +CONFIG += warn_off exceptions_off hide_symbols + +#CONFIG += staticlib +#CONFIG += dll static release + +DESTDIR = build +DLLDESTDIR = build + +DEFINES += QTNINEPATCHLIB_LIBRARY + +SOURCES += QtNinePatch.cpp + +HEADERS += QtNinePatch.h + +unix { + target.path = /usr/lib + INSTALLS += target +} + +DEFINES += _XKEYCHECK_H + +INCLUDEPATH += . +INCLUDEPATH += $$[QT_INSTALL_HEADERS] + +LIBS += -L$$[QT_INSTALL_LIBS] diff --git a/QLabel/Lib/QtNinePatch/QtNinePatch.pro.user b/QLabel/Lib/QtNinePatch/QtNinePatch.pro.user new file mode 100644 index 0000000..70ed833 --- /dev/null +++ b/QLabel/Lib/QtNinePatch/QtNinePatch.pro.user @@ -0,0 +1,202 @@ + + + + + + EnvironmentId + {52a31565-4664-45f3-a98d-2ef2ad3b26ae} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.5.1 MSVC2010 32bit + Desktop Qt 5.5.1 MSVC2010 32bit + qt.55.win32_msvc2010_kit + 0 + 0 + 0 + + F:/Python/PyhtonTest/PyQt/QtNinePatch/build + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + 构建 + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + 清理 + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 1 + + + 0 + 部署 + + ProjectExplorer.BuildSteps.Deploy + + 1 + 在本地部署 + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + + %{buildDir} + 自定义执行档 + + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 18 + + + Version + 18 + + diff --git a/QLabel/Lib/QtNinePatch/sip/QtNinePatch.dll b/QLabel/Lib/QtNinePatch/sip/QtNinePatch.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ac6d9260c4110f7412002a2285a59024d700121 GIT binary patch literal 12800 zcmeHNeRLDom4C8j5JASGwNhu}21AF04Ij~GVq3B;g9RqB9T^*cfI$drKz3})kw##8 zNCOp4Q3p}Z2`8JgWwTJ&mXmT?(q$VqrHPCwhJ+-}$5K;B;$+>fh+S%uY;cH|+25U! zj37zdv%7!vY%|CAecXHB{d(`+_h#hE6}wnEV@wT@B*u=SrpFbWRq^u7T3<^ruQT9ZAMmv2HG4Wb{6gMZJ}(gJ$ZP4yD|@geuifwE7i4DM!X-p| zjPZ4|U5{ClFmI0DdKdaXzvB)ohr0OX9P6EOJ2Hx9<>RY0Lp42GO{QTIn9PG4?F5^DK;Y5!uDq5k(aBu0LxS%Y&Xj^|*{T z&5;2kK2Kgk&;o()640JX{*is;D@}UJlgHSa1p%)|@G!Ps3j)cU2FL}ZJPxQ{ps=xH zw0MAEWb@sCl*hqXY(XFxXa-L96+X*+^HP}5bl`76fN%4I@!KS44S;N007!Wpj4e#* ze%bs#h(Mnz*T{6z>;?nVoxxKlUhbPDqx6LOxQx@Ngei6LwNn`jpHPb@S07h1VoW?@ z&rSU@PF?2`FH3qKhAW~{2ZAd?$s;j!Du701(!F1+dxuVXGy!#0o;Ya(NR>Ku%e@uD&MzxFku?8t&6Z9?^wQY9k@d@Ou~pv?TV4l^=N{nIxdm zy?Uki+f}`-td+&*z|>^qlp6MG#ad3|BEwr*xJO$J({rkqx#HEbhMeQt)FF!fqu1>Z zk7&NY1M#x>h-RxqA>J_6$I&$F%Mn7cN;7xb(H}qk^xao3zIIhS-V>jZe%#ggvUUxxZGFy-)Fi(I50& znvwp&bL89He%smL4gOVY(nlu-T=#Hv!<}OPYwy1x54vg_3#!er;WW5@GMFZwbgzzJ z>0aCe_uVOLyiOE2O}+Su_@LT$Iano5ww>HqK6g~H=F)^Ewg)w#DXl8;)%XK6|5;J> zhNyO{xI~S$SbXz33@=e@WgXW?>1mYAtrKs>s;yE-%GF|>CgRdeaLWq@^B*3HZ5^>7 z*DK5RL}VLhKu>gHA&4Puy?8ZJ!Fk13;m_vCF>WswVMO4%B>gFx`~eV}xF$(|20gG; zgg;Ho+G)u^=*Q5Qi-!5U?Zd2{Gtok{y|&)0oqDugbD!Qas(!Ysr zbT>B-on=5?ka-3Oxs4k@$AxX|mGl>Al&V#Yo=?&bqE|x^i|pZWb~03lmFkF6J*iZC zlxi&9bbEub@6ra0k(6J!H95MPiqzJjY&RdD6VJg!LX zgz*(HzU*e>&s~CB4d&BtAu4a}=3-knLhIY-ZMd-`Y(x9*GJm5D1*YH*o=fi+< z@XP>@7d#a=@sz){M;0@854Q`_(A$Da*;2#UQc5;KP#fgH9^;OI+%0A8JV92yu!B1Vjtkqk?Wo|nT;+0cD>lPh3O0N~Gw^Q0{`kYVvS3Bnht(>C z^xP%$d2-Ss94JoG$DnvyOt?#YS@B)LQlM^7et$xFO+6Uw69E2dteO!$!0h&sfTo<2>0gYG|!`bn9xB)8Y`Z&E> zHHv-iRk#32vumMMn%yLqYvj@^mp-{{Lut#Tduk}{!`_QiAYEQk;i4mpn2rha>0&UV z2@j3EmCJpQHBZf*?oHCBhey=s>|DdT@Zh8C!efsLZ^+Df;i1uUv2(Rt&O4hq-8*fZ z4x1?l^RB~&u)lq=`}IwCoXh1zEw}YDEZwrT2PfL2;eN_r+2PmO@Vo?7!4D|-->~6q zVz_dgxI;(JHE}rvr+d#xvpeC1DAoD4K%S%*&}$S&>mWK~NFh9;js{wjmI0zLN-v`kgyBMPd`iNGQ)&0+CdBsc`BsQuQ)`(N+jjtRThmrkHffy^AD+b6aDguy*KVH% zMPCNdi81~nNR5r%v8?WIB1S$nu`m?z9}^*BB}Vi4#)4JakOpe>`A}H!^`pQFxjw4m zC&_&%%9KL7Iw_<<@&sCvUB7q{I{v7+;}hoM$|q#P*kV$A@h}ETR+6juP||NEGt-5Ol9>jMDTqkAw0ukvDxH@M}}C|Ho8^<6aOBrPe4*gwj@wGXd}LB zst||ekXP@jiI3ytt;Y(9yTLDu#8gcpjMU%#F{w%qEh2d(pkq+_Ohu8P=m+!cr2gUC z@n$4y#3_-=L05Hr4_KJKw%nvbI(|9ApfhWcB(uFsGq4;HR^!8N4 z&JK#s!L9kt!S+F6YM+yC`_O!$H~s(xo{uLjS`Tr@b*xqE>nG`7m8B0cyrGCEvwrH- zshpamwyA$hR>`XH-aSOiGbu%bc05-RMUxSlE`_qO>S>jPG;zm-k6TCPV0Z4{Qi@s5 z+)Smui^{JHR9ZW!ENVl!ZioI!xysxjS6}zZRfbotX0MT}`Aw+yd@o}cD$&XIZMPdJfHS5izik20WMHWuuQ|OZqvWxg`BO zRHu7eZ;|vlXziy1!5r)L?Li$sMeMzp;!&D}ow$?Syu*jWV@fb3{UHo*9QL+q;`?cs zJUwzgpbb5w>|SaPMxBHBSTf|I)nujQEuD46TQCM+L?X@$QfNpzD{omTG>8`M`s9Qv z3-v<09H#U_(|p-LIgQhV(pQEn1GmSn3^bPGdL`8z?ZgM4=c%X{$MCA2B~Hc$Nt61+ zeQMjaz-2d`0d+^ah>MCZ6vLdXtqm?TdTUVeG@DTudO6}=ATl4ATaOe-_*Z*}Y zmf*UA@|>*Q$Hn8T=(|z!QN|-vmD|%#Wj$M(T~n9!?8B4Huh&P*G&$Jaw~M$(m1}LE z1g3}$n)GwFPXo6s49Di!&IaP<7;@DO;?BtOTCe$Z7R>lLZsN04%4Z#;b4>m=HJbc3 zMO%z^oe!Xk-;IdjE{mYl;uFAp!nqWROQz80utL$n;WN*b{_vnGF%e?r=uKa!saZL7{5>0~L9Q*75Y4#SH`q|s$a=TpaKq>nq=bW#EizuVA&=kzAq|XKsIhm49 zGMXt{xFwL!yAWgUPR2M&~%(kMMCRG$uO76ZYT`i8>Pz=}k3F`P^2mB)-&K z;X8CYLQFTP_)7><_(Tq^FZm{KwzCW8`LN+#JF&rzWpPCA}t5Yvmf&flo(#&X3H_QS+$nN@())4?^;=uKPpE zf|=8oFxE4un>re?l3iEMMy#Y|wR@#}TiS)e((K)G`J`O#k;}buc|a}?%H?5{N z(nJ?(#rsFhr{XXDrz9QKVB=r>1zIx01U(M=kBPp9=-)>RLHY9eYm2~R_+6?KumW&D zzyQbwj1@9A1ULzJ8t??*+W;@139uM&FW^o9J)`$2^&R<)6$4fSz6tm);O_y40j~q% zfNKD40rUVkfB{epr~s@61ONvC&ja2Ai~z0z(x6M5(04MS?@shsNsApO7bGl_DSG=iS6>N53qABYKiORX2^nk;d?A z3&SrKU;H4>MBD{_@@)_5qY2q8Av-Bo3%V=8pY$u0wl^^+B#)k!>BymYsGY2-O%M4@ z@FsN4%6R-X(mjMW;XX?0NBi@h?|kJ?%bkbJnv`oto8(rY{ycefi6?x2qE7bzZHB_X z5B0wQlK3+ze0SzC-GcxcpQOK;LMQy8o9LExQ|kBqrkad%U_8j%Ds-(nF?P}?2 z_jEcO)um2H!wSYOrI(Z#C$P&C*mo7Ir=>&S0~5^WKO>=ZVV%L@Si$bnmUsi6jZ51- z>v>1DD`i{*SgMyH^(}TdsHw0x40R=3_2M?q`kcNuEmM*@{ksMpS(7Cj{93=1Zk{~ZE<2$^3pd6;&q`BUbLNYqsRV3|*;zNps4p(WN zVsaV3p{1Euv~I{OS=Z7Ar6~cEeOcsh^CKiA%fl$52?PbS-m;|4zt+>HpkxE#7`TYUezhx8tS<>C@o;LjBiMu%YXo0K4)8=mH1)tyRm>|m=m74SFn!5~f+)e>G<6bc0R4k3wrL%qC1v5Pb) zD>4yg_D|{>Uie~i`qE%oB5 z)&@L*O^dKlg6v1>)geBx$;AiO`2+2qj%I$5KSaK>$J1bQZAXnc<*YE9l>Mk2kIDaC8^M`LcM7_<5DcI{ z2#5n5I^64TV{9DlTsw_ZA!Agvbnq^Z(Cm}Nm6TXgQ1V(UEyb~rJR3@y;l98t8EJ9A z-##%saa>%N=Wx`NmQXfM98xIMK*MnlQ~X7>bxeEZtAO?h4IZ5_d)S)o8jVX)c9w|j!~+gq9g{-A%IFdyej zp(ohBV1sd19N;50tFfzzDhXO6a zCRt7%9(#a)I0P-c*A-~lfHb?F4^9wM$<8herE5)vZYl^ z8X6Lf|4pCX`bIFfX$Fl!Z@AsC!m!40$ncEedBewsNyeWWPZ=*7|6n|Ade!tx^N9JX z*=i}XG+G|AY_dFO8MK6~|6py;7xSOU|84%)3b=wL1wz5k3Z5_ceZeOM8HLje?<-tX zSXtOn_|3vd;gf|wEWA>vwoS8T+bV3|we7M!VcTQ-f$gB}C${6Zw{0Ev&GyIaqJ5YB zhxVV@->|=HzhwW=ep}J3B6HCLMQe)qqKAsYMca#Z7ab^iy6BmrQ$?>7y;pR#=qtrJ z#dC`vC~hiVU+gdbyW*#c_ZJ^5{%P^C;+KoxFTPToRkF6^dnLavfs=Xo4uxux!E5L@ zoHbl9yl03TE*bvQFm6aU-eR0?%rVX|-etVUc%N~RvBFqwtT%d$t;UdXtMM`86UOfw z_Zfd={H5`P@fG76#`B2GN5-qhOw%mWeA6P+N)vDTf$2x4Q>K?q+s#q)Kbn7Oe$D)A zb1@=zzr|(oSlTUHEl*j7Eu)sn*1N6uSr=I!u+~`J*6r3^);-oASPxo%Vm)Gg&Kk3x zw7zFeyO%Z`u9Zw{)WNb`W1cbJXg8J_%Z)pXyNm~n2aQLK$BZ$|(V%h2IBwLMbSBO; z$CPifo61a0rfsGjrro9|O?yp8Ovg<9ra_b1tTX4B^UY0WpSjb#*L=`?$b76ni9%#7(x`-2QG!fe3P$pkjBUxWoLIqzIF(~Zwv#xDB3)ZDdgbaW z*o^iVj5*P6vZf>LvX-u-ZVPMEE^Tv0Mma^q6r0YJ5Z2T?=hk$D!bwv?i1!Kps43u&#p0rAH*XSBF;h5ZYWhsODH;#*m8GSZnscgO{z2_m zzWie6L>?ae&eIczF<$=F=O?~`_TJ6U=Gxy)d`TJq?Zkr$zjxw0%6M_&t4ceWLswd!#C(~NBec7Hiz14MQ)c3f3Oqw~eXm=1RSqmsG)qB$}# zHuWJwl_EbNf<9D=iu|KkY0?XdiLqUkLeMYz8MEs_07BtgiMF7)V7gLeV~0yXumDJx z2~bd6jAbf?q!0j3i4_PWiLw0Tqf5m_`UE}_2jhC8BL|AU8_*UM7sv&}kGlU28SsYw zwV1Kc2@5mG#z_-1Nb|!_>qg#873~~rm#&=vW^1QcelZle9<;1%e42O`h(}IcEnikP zvL35g+NhP9S9|3bhM(5@dbV?!onxUO1Ulsxf$_-345T0nME!TxBD_#4ywa>2}$8LX{h>sbYqajB4-&V)v2?uc9JnP}23Y{-XXB zp$duxo5|b(0_sYAne8dGuB#+LQHd;ujYgNyv4V~@MGdsuR z%aDi7TB!{|Kq#NJ$>DQ`15IYF=Lm6*qX*sWz$UZ4O=>nvO=i=94)dxl(ii9$+M>D~ zdI)}cr2F1bIajxl&)1A(#BJVwLw1g)XPz?srnpAhWY$R?W<3-c+O~MSvhkP_iedbc zAt;$E;@*@>$+FaDmhRh+m640Ft*M`Z9iHlUBC}(X)|`)C3j_TuWLU!tpF85}Sf*-A8D?>3u{<-{eogjmU|>MyB>6X82CaCNCpYECK~@%O8l>4zKy#tawj5Uk z_;zWB*|1fLn9W{EG@Cl5d(5WLBgm7tpLMoxB_*qo<||-xM74?0M&Hh!XBgYwJ$8hm zl606bLvE&|`$%nD=o{yCV5&@zGC)V8ssr*6M$Ki=%H@ZVJh}WKrG8kczoFERD)k}M zlDt(q*E0*%Y*H?7&STzm>xw$1x5aXA$aM`f9Jp&yuI|@&W=&XAplQTq-t2Xd>Bdyd zt;$yE^61VixYTF5~U2b?Z}AwIv>`y3bu7JVN)cTuLLU zOFPUjGRb}u>^!*-CT3p)k;}|x5bE$}^_sGgAEFnON=ZoS)~c*&x89?$&t2{q6R!wm zv5aM-1xor^d#8K`8~Imr%f{V$O4yP6p|`(iC+1*z|8?1)<2swG4Q0U`nnpEVLUdxx z9tWwr8=HINZdsN?XNhGBRrZTSNZW~#d#Ss&N1xKcjL`;K?X`!16|V_VlRZY^!%(T5 zGI-^bPBs!+Rzjbhg^dq&cX7$x;e{fx6wX$V;n`yll>@Xd#aWpn!37nOE|#}0s7mECvYm7g?TpmA zP}^!qmDIX*;$!JnL%J18b<)(_x8;;xHg-T)x2i!|63XJ>GNY85TK8f~=gH*->%_Nn z`?DwYtltpInvt7B$c^;2^joP%2V&Yi!#$gBT}<0oVIid5i;mx<47JLtNa@n8GqaCT zw&ul>;dhHtl}CDFmaTlN8H?(QCw`0Ox0!)Q&9yBBdm$l2xaM{>_(UjoP2cnJjyw5;wATH&dZ z>;h<5EK;jM+N#e^Law`q61OU3C`aP9gG?&rR>MG@)T;Y5rleITZ(TL_YdC=*p+eMZS_pqU%3q$ zw=QpO#iz(C#nk+`dxn;0UJIQc*-KPaG#RPO<!_9U3P#}JH% z%>4<>UA&fOh8I*Z*?2##ueo5qF8fsyQyfuNJ}uoDb)8ao`ha`dbHF|0p}g7Yn3B(U zvH{58{z|*g%BdOojIuc8)HHguzVoiDQ*t)j3|Gcr>640s%7I0$Z-MJ?OLJ{uZajoNB;Ws`y?Yt+ZiHoWa^(|@x9$?mOfUR`$Rq;#^U@cvTeu_v3I#S>+ZHLhy+ zmOZxT67F>8fhOH*tmCVt&+4USz2j|RxzwdA{(Hwe!lmnnGZl_ALYB*5S6-lQQqkA{ zZYY822@PJ&48bF`bUef7bnV{GBPPtD)xE&|1nHg+juI)YEGFuO0EX<1$QZ6;B&9=g z>ux5TN2Pca3f@a%o#Zkyw5Pb!_txUr%P5i4 zmddennfD6FwQ{(g&JLDZj=7bM6(HjDq3xA_Qm8S@c5;MX zP3ef)Z~*Y>>GR<)B78(GrxqmlV$L5NmrEHLD|Af_rcK@Ag}WlO6PI*|5}N%vjNxrT z>kBtKo`g!Chxr9%r?+=Lx%pMskA8%$B0I*#(vdN7`CF$(&5)eqy$9S2cyF(wFjI?M z3J3aXifUdqUXyE0N(=A6XC^-P8=QNdn|HjGTK415K=Yhob@j-b3S&=|x!{FF661GwERqw$hmsF!P5X1pY*Q1LJz&(kAQ z5II6Yr$^4BD;pUC7(E6AUTn39skU)^MWLpGdMe)RL+g3x);A#DziT zkA(YTQ9dTJ1W@55QG3IY$d*(D=KQ-G1;IZ^opvz}6)}I5S3FC^lVL>_KY%VDWV=(n zy}XcQ$#_Z#@JY5O1=ZppDH93L$Nak^;EN|n41A&xMnw3u2d~&(e8XmwXv||V03pp!jf<$JU{_aqdJhY%kW9akH{#8ev!p@_fzgf-F zumpU2L|>E_{Q-YcWbcD|4=xg67vXXqVlgGdiAvuFU!$jmv3v{M1(U7Ab70p>W_b8x z%f9xKq%pxk!G($_&>4 zpGV^*#BRd42GEhi6Hi_a$0Gd|&RhVJn+A=>R0?T{oGjr@(*3adlcj2 zIULdRyoLHn22YgtE%e+b!l_)FA4^xLx;oL`3CQCo3;50gUxL41Nj^{iy8=4lcV9#= zlqdQp@V79vdHJaV`R`nX`34*>_}+OV&bwnK#ts$WVmR9l0{27#PLH$n1aQp-xH{l) zw=iu1?q@j1ado|K`9r+}G_2vnk8@YS(d%-xH#RhS+tj1q6Ohx_9Kx`%8O&|JjNZEnEHBZLFz zSzDp1)247X@q5DozBSK4!Yaz;f@2@Qqahp%iwY+%KtUlLTDq1jf=UAH;kE{WS1%Pl z_+A0TdKjcC}E}c#JuW zkUi0I~q!bFUaps_4VK`_h& z#v4+CfM=Gfs3nL$g9@-7A&xgw66isaZ68cx5q5;5d}9)`#Z!-Ev>o~B%CX~**7xdQ zFKV~O)XY(|$RnOxxhZGg)VA~D2a}6il1;hfdIUa6ufjXrTQ<8laaHP?%pdmo-#S;` zq~5!9_Y&wZ)&mRxx}DZid%-!E7z|>swP4Bm3XVVG`l$SYWB_leMf@E~>w(HV`gocs zZzUQR_URp%BqR#q=_em8e&e9ABA@Hi_ zcZml|^YP_c4cVFhJ>$9#ItuL=a_{&hyXZ`>WQJpa4B!;tVZacekmtktM{}`P7QSI1 za3Q|%X>cK};G$4`&HK9<--Et?<&#YxX8R-B|NRW$R{#`^^6xMBHEl>4qRQiG?_1sn zj}KeQ-=JMCdbD;R8nlgE9XC{jZ@_yiSGj` z0be#0Jth>V!0$=H3f{6pcrUK&K0dibEF`-JAWGNqCVnp;F-54ZU+Yh{#P-JT6ZRG{l{^4r{M9ZvAuXlh&uLtZI4H$Ewy=IjdT#Hdpag4^*A2TFF_t9bA}8 zabM>i<-W%q=N{)W+-dGr&TOl)Ic<%$jkX=OkS%TdGut<8e`$N(Hf5W&Y3v`jUu|Dw zueGnU-)`S#-(~N!e-6K`9=0E|PuPEE|D|11y|Vh+>hkK=>W=E}>YdemwNO1={c!bn ztAA3x`d0U?2X1}h)~jm%s3u)=sOHNx->o@W^IXj(qxE9_J@wd3CdPK4nX%l%4RQB#`?&qwLGBQD7`Zx%T%F(+ zIc8gBTWzbb-DI=aYHS``hb>~e$2Md;WIJqo)OOT%+%{=rcAZ^sH`^=h&Gr!TgrCWk zjcP-~ELw}f;gw|2d#&!hpi7;C#=&}d{6nP{6EdWzXOol Bf(ift literal 0 HcmV?d00001 diff --git a/QLabel/Lib/QtNinePatch/sip/QtNinePatch.sip b/QLabel/Lib/QtNinePatch/sip/QtNinePatch.sip new file mode 100644 index 0000000..a5a56d2 --- /dev/null +++ b/QLabel/Lib/QtNinePatch/sip/QtNinePatch.sip @@ -0,0 +1,14 @@ +%Module QtNinePatch +%Import QtCore/QtCoremod.sip +%Import QtGui/QtGuimod.sip + +class QtNinePatch +{ +%TypeHeaderCode +#include "../QtNinePatch.h" +%End + +public: + static QPixmap createPixmapFromNinePatchImage(const QImage &, int, int); + +}; \ No newline at end of file diff --git a/QLabel/Lib/QtNinePatch/sip/__init__.py b/QLabel/Lib/QtNinePatch/sip/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QLabel/Lib/QtNinePatch/sip/configure.py b/QLabel/Lib/QtNinePatch/sip/configure.py new file mode 100644 index 0000000..eae22a5 --- /dev/null +++ b/QLabel/Lib/QtNinePatch/sip/configure.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python +# -*- encoding:utf-8 -*- + +import os +import shutil + +import PyQt5 +from PyQt5.QtCore import PYQT_CONFIGURATION +import sipconfig + + +# 模块名 +moduleName = 'QtNinePatch' + +# The name of the SIP build file generated by SIP and used by the build +# system. +build_file = '%s.sbf' % moduleName + +# Get the SIP configuration information. +config = sipconfig.Configuration() +# pyqt5.5 + python34 + msvc 2010 +config.platform = "win32-msvc2010" +qt_path = 'D:/soft/Qt/Qt5.5.1/5.5/msvc2010' +print('QT_DIR: %s' % qt_path) + +pyqtpath = os.path.dirname(PyQt5.__file__) +print('PyQt5 path: ', pyqtpath) + +config.sip_bin = os.path.join(pyqtpath, 'sip.exe') +config.default_sip_dir = os.path.join(pyqtpath, 'sip') + +sip_cmd = ' '.join([ + config.sip_bin, + '-c', "build", + '-b', "build/" + build_file, + '-I', config.default_sip_dir + '/PyQt5', + PYQT_CONFIGURATION.get('sip_flags', ''), + '%s.sip' % moduleName, +]) + +os.makedirs('build', exist_ok=True) +print(sip_cmd) +os.system(sip_cmd) + + +# Create the Makefile. +makefile = sipconfig.SIPModuleMakefile( + config, build_file, dir='build' +) + +# Add the library we are wrapping. The name doesn't include any platform +# specific prefixes or extensions (e.g. the 'lib' prefix on UNIX, or the +# '.dll' extension on Windows). + +# 添加头文件路径 +makefile.extra_include_dirs = [ + '../', '.', + os.path.join(qt_path, 'include'), + os.path.join(qt_path, 'include', 'QtCore'), + os.path.join(qt_path, 'include', 'QtGui') +] + +# 添加用C++编译的库文件路径 +makefile.extra_lib_dirs = [ + os.path.abspath('../build'), + os.path.join(qt_path, 'lib'), +] +print(makefile.extra_lib_dirs) + +makefile.extra_libs = [ + moduleName, + 'Qt5Core', + 'Qt5Gui' +] +print(makefile.extra_libs) + +# Generate the Makefile itself. +makefile.generate() + +shutil.copy('../build/%s.dll' % moduleName, '%s.dll' % moduleName) + +os.chdir('build') +os.system('nmake') + +os.chdir('../') +shutil.copy('build/%s.pyd' % moduleName, '%s.pyd' % moduleName) +print('ok') diff --git a/QLabel/Lib/QtNinePatch2.py b/QLabel/Lib/QtNinePatch2.py new file mode 100644 index 0000000..b0a8435 --- /dev/null +++ b/QLabel/Lib/QtNinePatch2.py @@ -0,0 +1,140 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Created on 2018年10月25日 +@author: Irony +@site: https://pyqt5.com , https://github.com/892768447 +@email: 892768447@qq.com +@file: QtNinePatch +@description: +""" +from math import floor + +from PyQt5.QtCore import Qt, QRect +from PyQt5.QtGui import qAlpha, QPixmap, QPainter + + +__Author__ = """By: Irony +QQ: 892768447 +Email: 892768447@qq.com""" +__Copyright__ = "Copyright (c) 2018 Irony" +__Version__ = "Version 1.0" + + +class Part: + + def __init__(self, pos=0, length=0, stretchable=False): + self.pos = pos + self.length = length + self.stretchable = stretchable + + +def isStretchableMarker(pixel): + return (qAlpha(pixel) >> 7) & 1 + + +def resize9patch(image, dw, dh): + sw = image.width() + sh = image.height() + if sw > 2 and sh > 2 and dw > 0 and dh > 0: + pixmap = QPixmap(dw, dh) + pixmap.fill(Qt.transparent) + pr = QPainter(pixmap) + pr.setRenderHint(QPainter.Antialiasing) + pr.setRenderHint(QPainter.SmoothPixmapTransform) + + horz = [] + vert = [] + horz_stretch = 0 + vert_stretch = 0 + + pos = 0 + last = image.pixel(1, 0) + for x in range(1, sw - 1): + nextP = image.pixel(x + 1, 0) + if isStretchableMarker(last) != isStretchableMarker(nextP) or x == sw - 2: + stretchable = isStretchableMarker(last) + length = x - pos + horz.append(Part(pos, length, stretchable)) + if stretchable: + horz_stretch += length + last = nextP + pos = x + pos = 0 + last = image.pixel(0, 1) + for y in range(1, sh - 1): + nextP = image.pixel(0, y + 1) + if isStretchableMarker(last) != isStretchableMarker(nextP) or y == sh - 2: + stretchable = isStretchableMarker(last) + length = y - pos + vert.append(Part(pos, length, stretchable)) + if stretchable: + vert_stretch += length + last = nextP + pos = y + + horz_mul = 0 + vert_mul = 0 + if horz_stretch > 0: + horz_mul = float((dw - (sw - 2 - horz_stretch)) / horz_stretch) + if vert_stretch > 0: + vert_mul = float((dh - (sh - 2 - vert_stretch)) / vert_stretch) + dy0 = 0 + dy1 = 0 + vstretch = 0 + len_vert = len(vert) + len_horz = len(horz) + for i in range(len_vert): + sy0 = vert[i].pos + sy1 = vert[i].pos + vert[i].length + if i + 1 == len_vert: + dy1 = dh + elif vert[i].stretchable: + vstretch += float(vert[i].length * vert_mul) + s = floor(vstretch) + vstretch -= s + dy1 += int(s) + else: + dy1 += vert[i].length + dx0 = 0 + dx1 = 0 + hstretch = 0 + for j in range(len_horz): + sx0 = horz[j].pos + sx1 = horz[j].pos + horz[j].length + if j + 1 == len_horz: + dx1 = dw + elif horz[j].stretchable: + hstretch += float(horz[j].length * horz_mul) + s = floor(hstretch) + hstretch -= s + dx1 += int(s) + else: + dx1 += horz[j].length + pr.drawImage(QRect(dx0, dy0, dx1 - dx0, dy1 - dy0), + image, QRect(sx0 + 1, sy0 + 1, sx1 - sx0, sy1 - sy0)) + dx0 = dx1 + dy0 = dy1 + return pixmap + return QPixmap() + + +def createPixmapFromNinePatchImage(image, dw, dh): + w = dw + h = dh + if w < image.width() or h < image.height(): # shrink + w = max(image.width(), w) + h = max(image.height(), h) + pm1 = resize9patch(image, w, h) + if pm1.isNull(): + return QPixmap() + pm2 = QPixmap(dw, dh) + pm2.fill(Qt.transparent) + pr = QPainter(pm2) + pr.setRenderHint(QPainter.Antialiasing) + pr.setRenderHint(QPainter.SmoothPixmapTransform) + pr.drawPixmap(0, 0, dw, dh, pm1, 0, 0, w, h) + return pm2 + else: + return resize9patch(image, dw, dh) diff --git a/QLabel/Lib/__init__.py b/QLabel/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QLabel/Lib/res_rc.py b/QLabel/Lib/res_rc.py new file mode 100644 index 0000000..baab0b9 --- /dev/null +++ b/QLabel/Lib/res_rc.py @@ -0,0 +1,471 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt5 (Qt v5.9.3) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = b"\ +\x00\x00\x19\xf0\ +\xff\ +\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x78\x00\ +\x78\x00\x00\xff\xe1\x00\x3a\x45\x78\x69\x66\x00\x00\x4d\x4d\x00\ +\x2a\x00\x00\x00\x08\x00\x03\x51\x10\x00\x01\x00\x00\x00\x01\x01\ +\x00\x00\x00\x51\x11\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x51\ +\x12\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\ +\xdb\x00\x43\x00\x02\x01\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\ +\x02\x02\x03\x05\x03\x03\x03\x03\x03\x06\x04\x04\x03\x05\x07\x06\ +\x07\x07\x07\x06\x07\x07\x08\x09\x0b\x09\x08\x08\x0a\x08\x07\x07\ +\x0a\x0d\x0a\x0a\x0b\x0c\x0c\x0c\x0c\x07\x09\x0e\x0f\x0d\x0c\x0e\ +\x0b\x0c\x0c\x0c\xff\xdb\x00\x43\x01\x02\x02\x02\x03\x03\x03\x06\ +\x03\x03\x06\x0c\x08\x07\x08\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x00\x78\ +\x00\x78\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1f\ +\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\xff\xc4\x00\ +\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\ +\x01\x7d\x01\x02\x03\x00\x04\x11\x05\x12\x21\x31\x41\x06\x13\x51\ +\x61\x07\x22\x71\x14\x32\x81\x91\xa1\x08\x23\x42\xb1\xc1\x15\x52\ +\xd1\xf0\x24\x33\x62\x72\x82\x09\x0a\x16\x17\x18\x19\x1a\x25\x26\ +\x27\x28\x29\x2a\x34\x35\x36\x37\x38\x39\x3a\x43\x44\x45\x46\x47\ +\x48\x49\x4a\x53\x54\x55\x56\x57\x58\x59\x5a\x63\x64\x65\x66\x67\ +\x68\x69\x6a\x73\x74\x75\x76\x77\x78\x79\x7a\x83\x84\x85\x86\x87\ +\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\ +\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\ +\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\ +\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\ +\xf7\xf8\xf9\xfa\xff\xc4\x00\x1f\x01\x00\x03\x01\x01\x01\x01\x01\ +\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\ +\x07\x08\x09\x0a\x0b\xff\xc4\x00\xb5\x11\x00\x02\x01\x02\x04\x04\ +\x03\x04\x07\x05\x04\x04\x00\x01\x02\x77\x00\x01\x02\x03\x11\x04\ +\x05\x21\x31\x06\x12\x41\x51\x07\x61\x71\x13\x22\x32\x81\x08\x14\ +\x42\x91\xa1\xb1\xc1\x09\x23\x33\x52\xf0\x15\x62\x72\xd1\x0a\x16\ +\x24\x34\xe1\x25\xf1\x17\x18\x19\x1a\x26\x27\x28\x29\x2a\x35\x36\ +\x37\x38\x39\x3a\x43\x44\x45\x46\x47\x48\x49\x4a\x53\x54\x55\x56\ +\x57\x58\x59\x5a\x63\x64\x65\x66\x67\x68\x69\x6a\x73\x74\x75\x76\ +\x77\x78\x79\x7a\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\ +\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\ +\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\ +\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\ +\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\x0c\ +\x03\x01\x00\x02\x11\x03\x11\x00\x3f\x00\xfd\xfc\xa2\xbc\x87\xf6\ +\xf5\xf8\xc3\xe2\xef\x80\x1f\xb1\xff\x00\x8f\x3c\x65\xe0\x5d\x36\ +\xcf\x53\xf1\x3f\x87\xb4\xef\xb5\xda\xa5\xdd\xb4\xb7\x50\x5b\xa0\ +\x74\x13\x5c\xc9\x0c\x4c\xb2\x4c\xb0\x42\x64\x98\xc6\x8c\x19\xc4\ +\x5b\x41\x04\x8a\xf0\x6f\x1f\x7f\xc1\x4c\xbe\x20\x7e\xc7\xdf\x04\ +\x34\xef\x88\x9f\x1a\x3e\x1e\x68\x3e\x22\xf8\x67\x34\x30\xdd\x5c\ +\xf8\xf7\xe1\xae\xb0\x6f\xb4\xf8\x2d\xa7\x09\xe4\x5d\x49\x63\x74\ +\xb1\xcf\x1c\x72\x17\x5e\x52\x49\x80\x2c\xa3\x71\xc8\xc8\x07\xda\ +\xf4\x57\x8e\x7e\xca\xdf\xf0\x50\x4f\x82\xff\x00\xb6\xbf\x83\xe1\ +\xd6\xbe\x18\xfc\x47\xf0\xb7\x8a\xad\xe4\x00\xbd\xbd\xbd\xea\xa5\ +\xed\xa9\x3f\xc3\x2d\xbb\xe2\x58\xdb\xd9\x94\x67\xb6\x6b\xd8\xe8\ +\x00\xa2\xbe\x49\xff\x00\x82\x80\x7f\xc1\x6e\xff\x00\x67\x5f\xf8\ +\x26\xfc\x37\x16\x7e\x3c\xf1\xc5\xad\xf7\x8a\xa1\x52\x57\xc3\x1a\ +\x16\xdd\x43\x56\x27\x9e\x1e\x35\x60\xb0\xfd\x66\x64\xf6\xcd\x7c\ +\x51\xf1\x37\xfe\x0f\x47\xfd\x9f\x7c\x3a\x92\x7f\xc2\x2b\xf0\xff\ +\x00\xe2\x47\x89\xda\x34\x8d\x81\xb8\x5b\x6d\x35\x19\x9b\xef\x28\ +\xcc\x8e\xdf\x2f\xae\xdc\x1e\xd4\x01\xfb\x1b\x45\x7f\x3b\x7f\x19\ +\xff\x00\xe0\xf7\x3f\x19\x5d\xeb\x93\x2f\xc3\xef\x82\xde\x18\xd3\ +\xb4\xd5\x38\x8a\x4d\x7b\x52\x9e\xf6\x77\x1e\xac\xb0\xf9\x2a\xa7\ +\xd8\x16\xfa\xd7\x07\xa3\xff\x00\xc1\xec\x3f\x1f\x6d\x2e\xc3\x5e\ +\xfc\x2e\xf8\x4b\x79\x06\x79\x48\xe3\xbf\x85\xb1\xec\xdf\x68\x61\ +\xfa\x50\x07\xf4\xc1\x58\x3f\x14\x7c\x7f\x67\xf0\xab\xe1\xbe\xbd\ +\xe2\x6b\xf0\xcd\x67\xa0\xd8\x4d\x7f\x2a\xa9\xf9\xa4\x11\xa1\x6d\ +\xa3\xfd\xa6\xc6\x07\xb9\x15\xf8\x63\xf0\x37\xfe\x0f\x74\xd3\xef\ +\xee\xa3\x87\xe2\x27\xc0\xd9\xac\xe3\x66\x02\x4b\x9d\x03\x5f\x12\ +\x32\x8e\xe4\x45\x3c\x4a\x0f\xd0\xca\x2b\xf4\x53\xe1\xc7\xfc\x15\ +\x07\xe0\xbf\xfc\x15\x1b\xe0\x8f\x86\xed\x7e\x18\xf8\x9a\x3b\xfb\ +\x8f\x11\x78\x97\x4a\xb4\xd5\x34\x0b\xf4\xfb\x26\xaf\x61\x6e\x97\ +\x2b\x73\x2f\x9b\x6e\xc7\x26\x36\x8e\xdd\xd7\xcc\x42\xf1\x90\xd8\ +\x0c\x7a\x50\x07\x5d\xf0\x87\xf6\xd1\xf1\x27\xc2\xcf\xda\x83\x41\ +\xf8\x33\xf1\xc3\xfb\x3a\xc7\xc4\x5f\x11\x34\x81\xae\xf8\x27\x5c\ +\xb6\x87\xec\xd6\x3a\xbc\xca\xa1\xaf\xb4\x56\x19\x21\x6e\xed\x09\ +\x0c\x87\x3f\xbe\x85\x95\xb8\x75\x60\x7e\xaa\xaf\x8b\x3f\xe0\xe0\ +\x0f\xd9\xbe\xf3\xf6\x82\xff\x00\x82\x63\xf8\xea\xff\x00\x41\x4b\ +\x98\xfc\x69\xf0\xc7\xc9\xf1\xdf\x86\xef\x2c\xdc\xc5\x79\x65\x75\ +\xa7\x38\x9d\xde\x09\x17\xe6\x49\x0c\x02\x65\x05\x79\xc9\x15\xc3\ +\x7f\xc1\xbd\xff\x00\xf0\x59\xbb\x5f\xf8\x2a\x7f\xec\xfb\x7d\xa3\ +\x78\x9a\xea\xc9\x7e\x2d\x7c\x3d\x58\xa0\xd6\x96\x30\x21\xfe\xdc\ +\xb5\x60\x04\x5a\x94\x71\x7f\x06\xe3\x94\x95\x57\x2a\x92\x0c\x8c\ +\x2c\x88\x28\x03\xf4\x32\x8a\x28\xa0\x02\x8a\x28\xa0\x06\x5c\x5b\ +\xc7\x79\x6f\x24\x33\x46\xb2\x45\x2a\x94\x74\x61\x95\x75\x3c\x10\ +\x47\xa1\xaf\x92\x7f\xe0\x99\x1f\x0f\x74\x2f\x8c\x5f\xf0\x4b\xcd\ +\x33\xe1\xbf\x8b\xf4\xcb\x4d\x7f\x41\xd3\x64\xd7\x7c\x0d\xaa\x69\ +\x97\xa9\xe6\x45\x2d\xb5\x9e\xa9\x79\x64\x20\x60\x7b\x08\x62\x40\ +\x31\xd3\x00\x8c\x60\x57\xd7\x35\xf2\x7f\xc0\x2b\xc9\x3f\x63\xcf\ +\xdb\x87\xc7\x9f\x0c\xf5\x80\x6d\xfc\x23\xf1\xa3\x55\xb8\xf1\xd7\ +\x81\x6f\xdb\x88\x4e\xa5\x24\x6a\x75\x7d\x24\xb7\x41\x2f\x98\x9f\ +\x6c\x8d\x7f\x8d\x27\x9f\x19\xf2\x9a\x80\x3f\x9f\xcf\xf8\x2c\xe7\ +\xfc\x10\x8b\xe2\x67\xfc\x11\xe7\xe2\x95\xd7\xc5\x4f\x84\x7a\x86\ +\xbd\xa9\x7c\x20\x6b\x8f\x36\xcf\x59\xb3\x99\x86\xa1\xe1\x62\xef\ +\x81\x6d\x78\x57\xac\x7b\x88\x55\x9b\xee\xb8\x20\x30\x0d\xc1\xf2\ +\x0f\x08\x7f\xc1\xc3\xdf\xb4\xce\x91\xfb\x3d\x6b\x1f\x0e\xb5\x2f\ +\x88\xfe\x20\xbc\xd1\xef\x97\x6d\xb4\xb6\xaf\x1d\x9d\xf4\x00\xae\ +\xd6\x8b\xed\x4a\xbe\x6a\xc2\x7a\x94\x8c\xa9\x27\x20\x32\x82\x6b\ +\xee\x6f\xf8\x3b\x97\xfe\x0b\x01\x75\xe3\x7f\x88\xb2\x7e\xcb\xfe\ +\x03\xd4\xb6\x68\x3e\x1d\x68\xee\x7c\x6d\x73\x03\x7f\xc7\xf5\xef\ +\x0f\x15\x96\x7f\xbb\x08\xda\xee\x3f\xe7\xa1\x00\xf2\x95\xf8\x5f\ +\x40\x16\x35\x6d\x5a\xe7\x5d\xd4\xa7\xbc\xbc\x9a\x5b\x8b\xab\xa9\ +\x1a\x59\x65\x91\x8b\x34\x8e\xc7\x25\x89\x3c\x92\x7d\x4d\x57\xa2\ +\x8a\x00\x28\xa2\x8a\x00\x2b\xf4\x47\xfe\x0d\x7e\xf8\xdd\xa4\x7c\ +\x2d\xff\x00\x82\xbe\xfc\x35\xb7\xf1\x46\xa8\x2c\xf4\x8d\x59\x2f\ +\xb4\xeb\x2f\xb4\x49\x88\x63\xbe\x9a\xd6\x44\x83\xaf\x00\xb3\x31\ +\x41\xd0\x65\xc7\xb5\x7e\x77\x55\xef\x0d\x78\x8e\xf7\xc1\xfe\x22\ +\xb0\xd5\xb4\xdb\x89\x2d\x35\x0d\x2e\xe2\x3b\xbb\x59\xe3\x38\x68\ +\x65\x46\x0c\xac\x3d\xc3\x00\x68\x03\xfb\xe1\xd5\x34\xdb\x1f\x18\ +\x78\x72\xe2\xce\xe1\x61\xbd\xd3\x75\x4b\x66\x86\x55\xc8\x68\xe7\ +\x8a\x45\x20\x8f\x42\xac\xa7\xf1\x06\xbf\x8c\x4f\xd9\xe7\xf6\x8f\ +\xf1\x37\xfc\x11\x8f\xfe\x0a\xc7\x79\xe2\x2d\x0d\x6e\x1b\xfe\x15\ +\xaf\x8b\x2f\xf4\x4d\x4f\x4f\x0f\xb4\x6a\xda\x62\xdc\x3c\x33\xdb\ +\xb7\x6f\x9e\x21\x95\x27\x21\x5d\x51\xba\xa8\xaf\x70\xfd\x85\x3f\ +\xe0\xe5\xef\x8f\x5f\xb2\xcc\x27\x45\xd4\xf5\xcb\x7d\x5f\x43\x68\ +\xed\x2d\x2d\x5e\xea\xd4\xdc\x7f\x64\xda\xc1\x34\x92\x0b\x78\x60\ +\xde\x23\x58\xd9\x65\x74\x24\x28\x90\x05\x8f\x0d\x84\xda\x7c\x5f\ +\xfe\x0a\x91\xf1\xf3\xc0\x9f\xb7\x4f\xc6\xe3\xf1\x5f\xc2\xf7\xba\ +\x7e\x9f\xe2\x2f\x14\x41\x68\x3c\x41\x65\x24\x0b\x61\xe6\x5e\x6c\ +\x21\xa6\x75\xc0\x8f\xcc\x2a\x14\x4b\x24\x78\x8d\x99\x77\xe1\x0c\ +\x8c\x8a\x01\xfd\x8e\x7c\x1e\xf8\xb5\xa0\x7c\x7a\xf8\x53\xe1\xcf\ +\x1b\x78\x57\x50\x87\x56\xf0\xdf\x8a\xf4\xe8\x35\x5d\x36\xee\x23\ +\x95\x9e\x09\x90\x3a\x37\xb1\xc3\x0c\x83\xc8\x39\x07\x91\x5d\x25\ +\x7e\x1b\xff\x00\xc1\xa6\xdf\xf0\x54\x4d\x23\x48\xf8\x67\xa4\x7e\ +\xcb\x7e\x32\x76\xd2\xf5\xfb\x67\xbc\xbe\xf0\xb4\xb7\x53\xb3\x7d\ +\xb4\x3b\xb5\xc4\x96\xca\x49\xda\x32\xa5\xe4\x8c\x2e\x01\x0b\x20\ +\xe4\xed\x2d\xfb\x91\x40\x05\x14\x51\x40\x05\x7c\xc7\xff\x00\x05\ +\x87\xf8\xe7\xe0\xcf\xd9\x9b\xfe\x09\xe9\xf1\x03\xc7\xfe\x34\xd3\ +\xe1\xd4\xa1\xf0\xa5\xb4\x77\xda\x24\x26\x53\x0c\xeb\xac\x07\x0b\ +\x60\xf0\x4a\xa4\x3c\x72\xac\xec\x84\x3a\x10\xc1\x43\x76\xc8\x3f\ +\x4e\x57\xe1\xbf\xfc\x1e\xbb\xfb\x55\x2f\x86\xbe\x03\xfc\x2c\xf8\ +\x37\x6b\x20\x37\x1e\x28\xd4\xa5\xf1\x2e\xa0\x81\xb0\x52\x1b\x51\ +\xe5\x41\x9f\x50\xcf\x2c\xbf\x8c\x7e\xd4\x01\xfc\xf0\xf8\xfb\xc7\ +\x5a\xb7\xc5\x0f\x1c\x6b\x1e\x24\xd7\xaf\xae\x35\x4d\x73\x5e\xbd\ +\x9b\x50\xbf\xbc\x9d\xb7\x49\x73\x3c\xae\x5e\x47\x63\xea\x59\x89\ +\xfc\x6b\x26\x8a\xfd\x0c\xff\x00\x82\x00\x7f\xc1\x1c\x97\xfe\x0a\ +\x5f\xf1\xa7\x56\xf1\x67\x8e\x05\xc5\x8f\xc1\x5f\x86\x2a\x2f\xbc\ +\x45\x32\x13\x1b\xeb\x12\xaa\x99\x12\xc2\x37\xfe\x1d\xca\xa5\xa4\ +\x61\xca\xa0\xc0\xc3\x32\x9a\x00\xfc\xf3\xa2\xba\x2f\x8b\xbe\x28\ +\xb7\xf1\xb7\xc5\x4f\x11\xea\xf6\x76\x96\xba\x7d\x96\xa5\xa9\x5c\ +\x5c\x5b\x5a\xdb\x46\x23\x86\xda\x26\x91\x8a\x46\x8a\x38\x0a\xab\ +\x85\x03\xd0\x57\x3b\x40\x16\x34\xbd\x22\xef\x5b\xba\x30\x59\xda\ +\xdc\x5e\x4c\xb1\xbc\xc6\x38\x63\x32\x30\x44\x42\xee\xd8\x1c\xed\ +\x54\x56\x62\x7a\x00\xa4\x9e\x05\x57\xaf\xbb\xbf\xe0\xda\xbf\x87\ +\x31\xfc\x51\xff\x00\x82\xc8\xfc\x2a\xd2\xee\x6c\xe1\xbe\xd3\x5e\ +\x3d\x55\xb5\x0b\x79\xa3\xf3\x22\x9e\xd8\xe9\x97\x4b\x2a\x38\xe8\ +\x55\x95\x8a\x9c\xff\x00\x7a\xb8\x6f\xf8\x2d\x1f\xfc\x13\xff\x00\ +\x4b\xff\x00\x82\x79\xfe\xdc\x7e\x28\xf0\x9f\x85\x75\x9b\x3f\x10\ +\x78\x1a\xf2\xe5\xee\xf4\x3b\xab\x69\xbc\xef\xb1\xc6\xcc\x77\x59\ +\x4c\xc3\x8f\x3a\x06\xca\x11\xd4\x80\xad\xc6\x71\x40\x1f\x25\x51\ +\x45\x14\x00\x51\x45\x14\x01\xd5\x7c\x1d\xf8\xc7\xe2\x0f\x81\xff\ +\x00\x14\x3c\x37\xe2\xef\x0d\xea\x37\x1a\x7e\xbd\xe1\x3d\x46\x0d\ +\x53\x4c\xb9\x47\x39\xb6\x9e\x19\x04\x88\x47\xb6\xe0\x32\x3b\x8c\ +\x8e\xf5\xfd\xc1\x7e\xc5\x5f\xb4\xde\x97\xfb\x66\x7e\xc9\xbf\x0f\ +\xbe\x29\x68\xfb\x56\xcb\xc6\xda\x25\xbe\xa4\x62\x5f\xf9\x76\x99\ +\x97\x13\x43\xf5\x8e\x51\x22\x1f\x74\xaf\xe1\x51\x4e\x18\x57\xf5\ +\x01\xff\x00\x06\x71\x7e\xd2\x8f\xf1\x27\xf6\x06\xf1\x77\xc3\x9b\ +\xb9\xcc\x97\x5f\x0e\x3c\x42\x2e\x2d\x15\x9f\x25\x2c\xb5\x08\xfc\ +\xe5\x00\x7a\x0b\x88\xee\xbf\x3a\x00\xfd\x7b\xa2\x8a\x28\x00\xaf\ +\xe4\x5b\xfe\x0e\x87\xfd\xab\x47\xed\x37\xff\x00\x05\x65\xf1\xa5\ +\x9d\xac\x8d\x26\x97\xf0\xee\x38\xbc\x2f\x6a\x77\xee\x52\x61\x5d\ +\xd3\x15\xf6\xf3\x9e\x4a\xfe\xb2\xfe\x28\xf8\xc5\x7e\x1d\xfc\x33\ +\xf1\x17\x88\x1b\x69\x5d\x0f\x4c\xb9\xbf\x20\xf4\x3e\x54\x4c\xf8\ +\xff\x00\xc7\x6b\xf8\x79\xfd\xbb\x3c\x49\xff\x00\x09\x6f\xed\x8d\ +\xf1\x2b\x50\xf3\x1a\x66\xb9\xf1\x05\xdb\x33\xb1\xcb\x3b\x07\x20\ +\x93\xf5\x20\x9a\x00\xf3\x5f\x0c\x78\x6e\xfb\xc6\x5e\x24\xd3\xf4\ +\x8d\x36\xde\x5b\xcd\x47\x54\xb9\x8e\xd2\xd6\x08\xd7\x73\xcd\x2c\ +\x8c\x15\x14\x0e\xe4\xb1\x03\xf1\xaf\xeb\xeb\xf6\x64\xff\x00\x82\ +\x5b\x78\x4f\xf6\x15\xff\x00\x82\x5a\x58\xf8\x5e\xdf\x4f\x92\xf3\ +\xc7\x9e\x0b\xf0\x4e\xad\x79\x73\x3c\x37\xb3\x2a\x4b\xac\x5d\xd8\ +\xcb\xf6\x99\x0c\x48\xe2\x39\x1b\x27\xca\x47\x75\x2c\x12\x35\x00\ +\x8a\xfe\x57\x3f\x61\x4f\x88\xf6\x1f\x02\x3e\x3f\xe9\x7f\x11\xb5\ +\x38\x74\x8b\x9b\x7f\x01\x93\xaa\xdb\xc1\xa9\x43\x24\xf0\xdd\x5d\ +\xaf\x16\xf1\x88\xa3\x64\x69\x1b\xcc\x2a\xc1\x77\xa2\xfc\x84\xb3\ +\x00\x39\xf7\xfb\x0f\xf8\x38\x6b\xf6\x94\xf0\xb7\xc4\x4d\x67\x5e\ +\xf0\xe6\xbd\xe1\x3f\x0f\x7f\x6e\x42\xf6\x77\x50\x59\x78\x47\x4d\ +\x8d\x2e\x2d\x98\x9c\xc7\x21\xf2\x77\x37\xd4\xb6\x73\xde\x80\x3e\ +\x1e\xb9\x84\xdb\xdc\x49\x19\xeb\x1b\x15\x3f\x85\x32\xa6\xd4\x2e\ +\xda\xfe\xfe\x69\xdf\x6e\xf9\xa4\x69\x1b\x68\xc0\xc9\x39\xe0\x54\ +\x34\x01\xfb\x29\xff\x00\x06\x5e\xfe\xcf\x32\x78\xdb\xf6\xec\xf1\ +\xe7\xc4\x8b\x88\x5b\xfb\x3b\xe1\xff\x00\x85\xda\xd5\x27\x23\xe5\ +\x4b\xab\xd9\x02\x28\xcf\x6f\xdc\xc5\x71\x5f\xae\xdf\xf0\x56\xe9\ +\xff\x00\x66\x7f\xdb\x6b\xf6\x67\xd4\xbe\x15\xfc\x46\xd7\x22\x5b\ +\x5b\xe9\xc7\xf6\x57\x88\xac\x6d\xc3\x43\xe1\xdb\xf0\x76\xa5\xd4\ +\x77\x2e\x56\x16\x08\x49\x12\x22\x39\xca\x6f\x07\x1d\x47\x85\x7f\ +\xc1\x0d\x3f\xe0\x98\x7e\x3c\xfd\x9d\xbf\xe0\x91\xbe\x1d\xf0\xf6\ +\x9c\xf6\x3e\x11\xf1\x57\xc7\x8b\xa3\xe2\x4f\x18\x6b\x57\x96\xcb\ +\x71\x75\xa1\x69\x4f\x12\x8b\x6b\x78\x2d\xdf\xe5\x7b\x86\x80\x29\ +\x1e\x68\x29\x13\x4f\x29\x65\x72\xa1\x1b\xf0\x03\xfe\x0a\x81\xfb\ +\x4c\x69\xbf\x1b\xff\x00\x6b\x1f\x19\x47\xe1\x3f\xed\x01\xe1\x3d\ +\x1f\x50\x9b\x48\xd2\xee\x75\x0b\xd9\x2f\xaf\xf5\x0b\x68\x1c\xc6\ +\x2e\x26\x9e\x42\x58\xb4\xc5\x4c\x85\x53\x6a\x28\x65\x55\x55\x55\ +\x02\x80\x3c\xbb\xf6\xab\xfd\x9b\x75\x4f\xd9\x3b\xe3\x96\xb9\xe0\ +\x9d\x53\x54\xf0\xff\x00\x88\x1b\x49\x9c\xad\xb6\xad\xa1\x6a\x31\ +\x6a\x1a\x6e\xab\x01\xe6\x39\xe1\x9a\x36\x2a\x55\x97\x07\x07\x0c\ +\xa7\x20\x80\x41\x15\xe7\x55\x7d\x3c\x43\x33\x68\xc3\x4f\x99\x63\ +\x9a\xd5\x18\xbc\x41\x94\x6f\x85\x8f\x52\xad\xd4\x03\x8e\x47\x43\ +\xe9\x9e\x6b\xd1\xfe\x32\xfe\xc5\x3f\x12\xfe\x05\xfc\x27\xf0\x4f\ +\x8f\xb5\xff\x00\x09\xea\xf6\xbe\x07\xf8\x89\xa7\xae\xa5\xa0\x6b\ +\x62\x02\xf6\x77\x88\x49\x05\x0c\x83\x84\x91\x4a\x9c\xa3\x60\x91\ +\x86\x00\xa9\x06\x80\x3c\xa6\x8a\x28\xa0\x02\xbf\x6c\xff\x00\xe0\ +\xcb\x5f\x89\xb3\x69\x3f\xb6\x5f\xc4\x0f\x0c\x33\xb0\xb7\xd7\xbc\ +\x12\x6e\x0a\xe7\xe5\x69\x2d\x2f\xa3\xd8\x71\xea\x12\xe6\x41\xf8\ +\xd7\xe2\x65\x7e\xb7\x7f\xc1\xa0\x1e\x26\xb5\xd0\x7f\xe0\xa5\x9a\ +\x7c\x12\x17\xfb\x56\xb5\xa1\x6b\x5a\x6c\x63\xf8\x71\xe5\x5a\xdc\ +\x8f\xfd\x27\x7f\xce\x80\x3f\xa8\xea\x28\xa2\x80\x3c\xbf\xf6\xcf\ +\x2f\x27\xec\xc3\xe2\xeb\x78\xdb\x6b\x5f\xdb\x25\x89\x27\xd2\x79\ +\xa3\x84\xfe\x8e\x6b\xf8\x9c\xfd\xb2\x34\x1b\x8f\x0c\x7e\xd6\xff\ +\x00\x14\x34\xeb\xa4\x68\xe7\xb1\xf1\x66\xab\x6e\xea\x47\x2a\x52\ +\xf2\x55\x23\xf4\xaf\xee\x27\xe3\x6f\x80\x24\xf8\xa3\xf0\xab\x5a\ +\xd0\xa1\x99\x60\xb8\xbe\x80\x79\x12\x30\xf9\x52\x54\x61\x22\x13\ +\xed\xb9\x57\x3e\xd5\xfc\x93\xff\x00\xc1\xc5\xbf\xb2\x56\xa5\xfb\ +\x3e\xff\x00\xc1\x4f\xfe\x32\x6a\x1f\x63\x92\x2d\x1f\x5c\xf1\x02\ +\x6b\xd0\x36\xcc\x2f\x97\xa9\xc6\xd7\x4a\x47\xb7\x9c\xb7\x49\xec\ +\x63\x22\x80\x3e\x78\x87\xf6\x5b\xd6\x13\xfe\x09\xd9\x2f\xc6\x2f\ +\x29\xbf\xb1\x24\xf1\xbf\xfc\x23\x3e\x66\x38\xf3\x56\xd1\x66\xc7\ +\xe2\x1b\xff\x00\x1d\x35\x3f\xed\x57\xe0\xef\x80\xfe\x1f\xfd\x9e\ +\x7e\x06\x6a\x1f\x0a\x7c\x4d\xe2\x0d\x63\xe2\x06\xb1\xa1\x5c\xc9\ +\xf1\x27\x4f\xd4\x22\x65\x83\x48\xd4\x16\x65\x11\x2c\x04\xc6\xa0\ +\xab\x29\x93\x85\x67\x1b\x52\x32\x48\x66\x22\xbf\x63\x3f\xe0\xdd\ +\xff\x00\xd9\xb3\xc1\x5f\xf0\x54\x7f\xf8\x22\x57\xc6\x2f\xd9\xaf\ +\xc6\x30\xff\x00\x67\x9d\x1f\xc5\x11\xea\x76\xfa\x9d\xaa\x06\xb9\ +\xd3\xee\x2e\xad\xa3\x9a\xd6\xed\x73\xc1\x64\x78\x64\x52\x38\xdd\ +\x1e\xe5\x38\xc9\x35\xf2\xb7\x89\xff\x00\xe0\xce\x8f\xda\xc7\x4b\ +\xf8\x91\x75\xa4\xe9\xb7\x5f\x0d\x75\x5d\x0e\x36\xcc\x1a\xe9\xd7\ +\x1a\xde\x09\x97\x23\xac\x2d\x11\x99\x58\x0e\x48\xda\x47\x1c\x31\ +\xe3\x20\x1f\x9e\xfa\xbf\xec\xbb\xab\x69\x1f\x03\x5b\xc7\x53\xc7\ +\x71\x0e\x9a\xda\x55\x86\xa5\x13\x3a\x61\x66\xfb\x55\xed\xdd\xa2\ +\x80\x7b\xf3\x67\x31\xff\x00\x80\x9a\xfb\xcf\xfe\x0d\xc3\xff\x00\ +\x82\x20\x6a\x1f\xf0\x50\x5f\xda\x07\x4c\xf8\x8d\xe3\xad\x26\x64\ +\xf8\x3b\xe0\x3b\xe4\xbb\xbd\xfb\x44\x65\x62\xf1\x15\xe4\x78\x78\ +\xb4\xf4\xcf\xdf\x4c\xed\x79\x88\xe1\x50\x04\xce\xe9\x3e\x5f\xde\ +\xef\x86\x9f\xf0\x44\x4f\x82\x5a\x7f\xec\x65\xf0\xd3\xe1\x0f\x8e\ +\x3c\x37\x6b\xe3\x0b\x3f\x02\xe9\xba\x75\xad\xe5\xcb\x49\x2d\xb0\ +\xd6\xe6\xb4\x69\xe6\xcc\xc1\x18\x16\x84\xdc\x5d\x5c\xc8\x22\x62\ +\x47\xef\x30\x73\x8a\xfa\xbb\xe1\xf7\xc3\xcd\x07\xe1\x3f\x83\x34\ +\xff\x00\x0e\xf8\x67\x47\xd3\x7c\x3f\xa0\xe9\x30\x88\x2c\xb4\xfb\ +\x0b\x75\xb7\xb7\xb6\x41\xfc\x28\x8a\x00\x1d\xcf\xb9\x24\xf5\x34\ +\x01\x37\x8a\x74\x99\xb5\x5f\x08\xea\x56\x36\x6e\xb6\xd3\xdc\xd9\ +\xcb\x04\x0e\x38\x11\x33\x21\x55\x3f\x81\x23\xf2\xaf\xe1\x87\xe1\ +\x77\x8a\xee\xff\x00\x64\x0f\xda\xfb\xc3\xfa\xdf\x88\x34\x1b\x5d\ +\x77\x50\xf8\x65\xe2\xe8\x2e\xf5\x3d\x16\xf7\xfd\x4d\xec\xb6\x37\ +\x81\xa5\xb6\x90\x90\x78\x66\x89\x94\x92\x0f\x5e\x87\xa5\x7f\x76\ +\x15\xf8\xef\xff\x00\x05\x75\xff\x00\x83\x4e\xfc\x3d\xfb\x73\xfc\ +\x7b\xd6\xbe\x2a\x7c\x29\xf1\xb5\xa7\xc3\xbf\x15\x78\xaa\xe0\xde\ +\x6b\xba\x4e\xa5\x62\xd7\x1a\x55\xfd\xd3\x7f\xac\xb9\x8d\xa3\x22\ +\x48\x1d\xcf\xcc\xe3\x6b\xab\x31\x66\x1b\x49\x39\x00\xfe\x7b\x3f\ +\x6f\xff\x00\xda\x8a\xc7\xf6\xd4\xfd\xb2\xbe\x21\x7c\x54\xd3\x3c\ +\x2b\x67\xe0\x8b\x1f\x1b\x6a\x87\x50\x87\x45\xb6\x90\x4a\x96\x43\ +\x62\x21\xcb\xaa\x20\x67\x62\xa5\xd9\x82\x8c\xb3\xb1\xc5\x7e\xec\ +\xfc\x7b\xf8\x13\xac\x37\xfc\x19\x93\xe1\x7b\x3d\x69\x6e\xad\x75\ +\x6d\x07\xc3\x9a\x77\x89\xa1\x07\x2a\xe9\x0b\x6a\xa2\xe2\x1c\xf7\ +\xc1\xb7\x9d\x7e\x99\xaf\x31\xf8\x2b\xff\x00\x06\xa1\xfc\x25\xfd\ +\x91\x3e\x2a\x78\x27\x50\xfd\xa6\x7e\x3a\x59\xeb\x50\xea\xd7\x8e\ +\xd6\xbe\x15\xd0\xf4\x99\x6d\xe1\xd5\x3e\xce\xbe\x6c\xa6\x6b\x92\ +\xcd\x22\xda\x46\x83\x74\xd2\x18\xe2\x54\x53\xcc\x89\x90\x4f\xe9\ +\x77\xfc\x16\x2f\xc7\x3e\x0c\xf8\xb1\xff\x00\x04\x3e\xf8\xf1\x75\ +\xe0\xbd\x57\x43\xd6\x3c\x33\x67\xe1\x79\xac\xe0\x9b\x4a\x95\x24\ +\xb3\x88\xdb\xcb\x1a\x98\x90\xa7\xcb\x84\x2a\x17\x03\x81\x8c\x76\ +\xa0\x0f\xe3\xa6\xea\xe9\xef\x27\x69\x24\x21\xa4\x73\x96\x20\x01\ +\x93\xf8\x54\x74\x51\x40\x05\x7e\xc4\x7f\xc1\xaa\xbf\x09\x5b\x4d\ +\xfd\xaa\xfe\x10\xf8\xf3\xec\xf2\x08\xf5\x0f\x13\x78\x97\x42\x69\ +\x73\xf2\xb3\x27\x87\xfc\xe5\x1f\x80\x2f\x5f\x8e\xf5\xfd\x49\x7f\ +\xc1\xae\xdf\xb1\x43\x78\x63\xfe\x09\xbd\xf0\xc3\xc5\x1a\xe6\x9f\ +\x2d\x8e\xb1\x63\xe3\xad\x73\xc5\x10\x09\x17\x6c\x83\x7d\x9c\x9a\ +\x56\xd3\xe9\xc6\xf3\x8f\xf6\x45\x00\x7e\xb5\x51\x45\x14\x00\x57\ +\xc7\xdf\xf0\x57\x2f\xf8\x25\x0f\x87\x7f\xe0\xa5\xdf\x06\xf5\x6b\ +\x36\xfb\x35\x8f\x8b\x7f\xb0\x6e\xb4\xbb\x1b\xb9\x23\x1b\x64\x62\ +\xc9\x3d\xb6\xf6\xea\x3c\xab\x88\x94\x83\xd9\x65\x9c\x63\xe7\x35\ +\xf6\x0d\x14\x01\xf8\x37\xff\x00\x06\x65\x49\x6f\xf0\xaf\xe2\xc7\ +\xed\x49\xf0\xd3\x56\xba\x6b\x7f\x16\xe8\xf7\x9a\x52\xc9\x61\x32\ +\xf9\x72\xb2\x59\xc9\x7b\x6b\x3b\x6c\xc9\xff\x00\x57\x2b\x22\xb7\ +\x27\x05\xd7\xd6\xbf\x79\x2b\xf9\x65\xfd\xbb\x3e\x2a\xf8\xeb\xfe\ +\x08\x8f\xff\x00\x07\x0d\xfc\x50\xf8\x9f\xe0\xdb\x1b\x7b\xff\x00\ +\x33\x56\x3e\x23\x96\xc2\xf0\xed\xb7\xd6\x74\x8d\x5c\x09\x2e\x21\ +\x2c\x06\x55\x44\xec\xc8\x24\x19\xd8\xe8\x84\x86\xc1\x07\xf6\x23\ +\xe0\xd7\xfc\x1c\x4f\xf0\x9f\xf6\xd6\xf8\x0c\x63\xf8\x23\x71\x0d\ +\xf7\xc7\x8d\x68\xc1\xa6\x68\x9f\x0f\x7c\x46\x4d\x8d\xd7\xf6\x84\ +\xec\xa9\xe6\x3b\x80\x52\x6b\x58\x01\x79\xa5\x92\x16\x27\xca\x85\ +\xb8\x56\x20\x50\x07\xd2\x3f\xb6\x4f\xed\xdf\x6b\xfb\x3a\x6b\x9a\ +\x47\x80\xfc\x1b\xe1\xfb\xaf\x89\x5f\x1b\x3c\x61\x13\x3f\x87\x7c\ +\x19\xa7\xcc\x23\x73\x10\x3b\x5a\xfe\xfa\x63\x95\xb3\xb0\x8c\x9f\ +\x9e\x79\x3a\x9f\x95\x03\xb7\x03\xc9\x3e\x14\xfe\xc4\x1f\xb5\x9f\ +\x83\x34\x8b\xdd\x62\xe3\xf6\xaa\xd3\x63\xf1\x37\x89\xb5\x3b\xad\ +\x63\x55\xd1\xe6\xf0\x34\x5a\xa6\x81\xa5\x49\x75\xb3\x75\xbd\x89\ +\x92\x74\xb9\x11\x5b\x88\xd4\x45\xba\x40\xa4\xf9\x8c\xc8\x7c\xc2\ +\x07\xb6\xfe\xc5\x9f\xb1\x56\x9b\xfb\x2a\x68\x1a\xa6\xad\xaa\x6a\ +\x52\x78\xcb\xe2\xa7\x8d\xa4\x5b\xef\x1a\x78\xce\xf6\x31\xf6\xcd\ +\x76\xeb\x1f\x71\x3f\xe7\x8d\xa4\x5f\x72\x0b\x74\xc2\x44\x80\x70\ +\x58\xb3\x37\xb7\xd0\x07\xc6\x5e\x0a\xf8\x55\xfb\x44\x7e\xc1\x1e\ +\x23\xd7\xbc\x49\x71\xe3\xad\x73\xf6\x9e\xf0\x16\xb4\xd1\xdf\xeb\ +\x5a\x6e\xa7\x04\x56\x7e\x2a\xd0\xa4\x8e\x20\x92\xc9\xa5\x47\x0a\ +\xad\xb5\xcc\x2c\x15\x58\xda\x30\x89\xc6\xcf\x91\xdd\xd8\x87\xfa\ +\x7b\xe0\x4f\xc7\xaf\x08\xfe\xd2\xff\x00\x0c\x74\xef\x18\xf8\x1f\ +\x5b\xb4\xd7\xfc\x3f\xaa\x06\xf2\xae\x20\xc8\x68\xdd\x4e\xd9\x22\ +\x95\x18\x07\x8a\x54\x60\x55\xe3\x70\x1d\x18\x10\xc0\x11\x8a\xeb\ +\xeb\xe2\xbf\xdb\x0b\xc0\x3a\x9f\xfc\x13\xc7\xe2\x86\xab\xfb\x4c\ +\x7c\x37\xb2\xba\x9f\xc1\xf7\x8e\xb3\xfc\x63\xf0\x75\x92\x6e\x8b\ +\x55\xb2\x5c\x2b\xf8\x82\xd2\x21\xc2\xea\x16\xa9\xf3\xca\x17\x1f\ +\x69\x81\x18\x37\xce\x88\xc4\x03\xec\x6d\x53\xc3\x5a\x6e\xb8\xec\ +\xd7\xda\x7d\x8d\xe3\x34\x0f\x6a\x4c\xf0\x2c\x84\xc4\xfb\x4b\xc7\ +\xc8\x3f\x23\x6d\x5c\xaf\x43\xb4\x67\xa0\xaf\x89\xff\x00\xe0\xe2\ +\x2d\x7b\x4d\xf8\x41\xff\x00\x04\x44\xf8\xe5\x1d\xad\xbd\xae\x9d\ +\x6b\x3e\x91\x6f\xa5\xdb\xdb\xc1\x12\xc5\x1a\xb5\xcd\xfd\xbc\x58\ +\x55\x50\x00\xcf\x98\xc7\x8f\x7a\xfb\x5f\xc2\xbe\x29\xd3\xbc\x73\ +\xe1\x7d\x37\x5a\xd1\xef\x2d\xf5\x2d\x27\x58\xb5\x8a\xf6\xca\xee\ +\x07\xdf\x15\xd4\x12\x20\x78\xe4\x46\xee\xac\xac\x08\x3d\xc1\xaf\ +\xc9\xef\xf8\x3b\xfb\xe3\xee\x97\x61\xff\x00\x04\xfd\xd0\x7e\x12\ +\xe9\xba\x95\xad\xe7\x8c\xfe\x20\x78\xc3\x4b\x8c\x68\x96\xf2\xac\ +\x97\xcf\x68\x9e\x7c\xa2\x4f\x24\x1d\xfb\x5a\x68\xa2\x55\x38\xc1\ +\x6e\x07\x34\x01\xfc\xba\x30\xda\x68\x55\xdd\x9f\x61\x9a\xbb\xe2\ +\x4d\x3a\x4d\x1f\x5a\xb8\xb3\x9a\x36\x86\x7b\x57\x68\x65\x8d\xbe\ +\xf4\x6e\xa4\xab\x29\xf7\x04\x11\x56\x3c\x2f\xe0\xdb\xcf\x16\xcd\ +\x75\x15\xa7\x93\xbe\xde\x23\x21\x12\x48\x13\x79\x1d\x11\x73\xd5\ +\xce\x0e\x14\x72\x48\xc0\xe7\x02\x80\x13\xc0\xba\x1d\xd7\x89\xfc\ +\x6d\xa3\xe9\xb6\x36\xf2\x5e\x5f\x6a\x17\xb0\xdb\x5b\xdb\xa2\xee\ +\x69\xe4\x77\x0a\x88\x07\x72\xcc\x40\xfc\x6b\xfb\x98\xfd\x8b\x3e\ +\x01\xa7\xec\xb9\xfb\x26\xfc\x3d\xf8\x7e\x36\x99\xbc\x2f\xa2\x5b\ +\xda\x5d\xba\xf4\x96\xeb\x6e\xeb\x89\x3f\xe0\x53\x34\x8d\xff\x00\ +\x02\xaf\xe5\xe3\xfe\x08\x93\xff\x00\x04\xee\xf1\x17\x87\xff\x00\ +\xe0\xbe\x5f\x0d\x7e\x1b\xfc\x42\xd0\x66\xd3\x75\x2f\x87\xb7\x2d\ +\xe2\x7d\x5a\xc6\xe9\x39\x85\xed\x6c\xbe\xd7\x06\x47\x71\xe7\xb5\ +\xbf\xb5\x7f\x5a\xd4\x00\x51\x45\x14\x00\x51\x45\x14\x01\xf2\x07\ +\xfc\x14\xa3\xfe\x09\x07\xe0\xbf\xf8\x28\x4f\x8e\x3c\x27\xe3\x0b\ +\xa9\x21\xd2\xfc\x5d\xe1\xdb\x79\x74\x3b\xc9\xe5\x8b\xcd\xb7\xd6\ +\xf4\x3b\x9c\xad\xd5\x8c\xe8\x30\x72\x15\xdd\xe1\x90\x10\x63\x93\ +\x9e\x87\x8f\xcd\x8f\xf8\x20\xbf\xec\x79\xe0\x9f\xf8\x24\x07\xfc\ +\x14\x97\xe2\xc6\x87\xf1\xc3\xc4\xd3\x78\x37\xc7\x92\x33\x78\x63\ +\xc0\x57\x3a\xd5\xa7\xd8\x74\x3f\x15\xe9\x8e\xeb\x37\xda\xed\xaf\ +\xe4\x1e\x53\xdd\x48\x12\x20\x60\x0e\xac\xbf\x30\xc3\x92\x42\x7e\ +\xf3\x57\xc8\x5f\xf0\x5c\xed\x02\x1f\x19\xff\x00\xc1\x39\xfc\x4f\ +\xe1\xd9\x74\x3d\x3f\x58\xff\x00\x84\xb7\x56\xd1\xfc\x3a\x67\xbe\ +\xb1\x4b\xa8\x74\x48\xef\xb5\x1b\x7b\x59\xb5\x03\xbd\x48\x8b\xc8\ +\x86\x59\x5c\x4b\xc7\x96\x40\x6c\x8c\x66\x80\x3e\xbb\x8e\x45\x9a\ +\x35\x65\x65\x65\x61\x90\x41\xc8\x22\x9d\x5c\xef\xc2\x6b\xaf\x0c\ +\x4d\xf0\xe7\x48\x83\xc1\xb7\x9a\x4d\xf7\x86\x74\xdb\x64\xd3\xf4\ +\xf7\xd3\x2e\x52\xe2\xd6\x38\xa0\x1e\x50\x8d\x1d\x09\x5f\x93\x66\ +\xdc\x03\xc1\x5c\x57\x45\x40\x05\x56\xd6\x34\x8b\x5f\x10\x69\x17\ +\x5a\x7d\xf4\x11\xdd\x59\xdf\x42\xf6\xf3\xc3\x22\xee\x49\x63\x75\ +\x2a\xca\xc0\xf5\x04\x12\x08\xf7\xab\x35\xf9\x1f\xff\x00\x07\x3a\ +\xfe\xdf\xbe\x32\xfd\x89\x6e\x7c\x0f\xa7\xe8\xfe\x32\xf1\xff\x00\ +\x87\x34\x3f\x1e\xe8\x5a\x85\xaa\xa7\x85\xef\x21\xd3\x5e\xdb\x50\ +\x82\xea\xcc\xa4\xf3\x5d\x18\x24\x95\x63\x68\x26\x99\x36\xc6\x54\ +\xe4\x2b\x73\x82\x08\x07\x3b\xfb\x01\x2f\xc6\x4b\x5f\xda\x0a\x1f\ +\xd8\xf4\xfc\x66\xf1\x86\x9b\xe1\x3f\x84\xba\x87\x89\x74\x7d\x46\ +\x1f\x0e\xe9\xf6\x36\x7a\xd6\x99\xa1\x59\x8b\x19\x74\x3b\x96\xbd\ +\x96\x39\x64\x54\xb9\x8e\xfc\xc2\x36\xaa\x90\x6d\xf0\xad\x85\x26\ +\xbc\x0f\xe2\x64\x3f\x0b\x7f\x65\x7f\xf8\x28\x47\xc7\x1f\x10\x7c\ +\x4c\x97\xce\xf8\x95\xfb\x33\x78\x72\x3b\xaf\x87\xfa\x25\xf4\x93\ +\xea\xba\xa7\xc4\x5d\x5e\xfd\x47\xd9\x75\xdb\xbb\x89\x9e\x57\x9a\ +\x78\xbc\xeb\x45\x16\xca\x76\xc5\x82\xe8\xaa\xaa\x45\x74\x1f\xf0\ +\x4d\x6f\xf8\x28\x17\x83\x7f\x63\x3f\xd9\xdb\x51\xd0\xff\x00\x65\ +\x3f\x82\xdf\x16\xbf\x69\xef\x8f\x5e\x3f\x75\xbf\xf1\x67\x8b\xce\ +\x87\x79\x6f\xa2\x4d\x7d\x83\xb5\x5e\xf2\xe3\x33\x9b\x58\x0b\xb0\ +\x40\xe1\x0b\xfc\xce\xce\x8c\xe7\x17\xbf\x64\x5f\xf8\x37\x47\xf6\ +\x9c\xf8\xf9\xfb\x52\xf8\x93\xf6\x9a\xf8\xff\x00\xf1\x2b\x4f\xf8\ +\x77\xf1\x63\x53\x9e\x6d\x7b\x41\xb4\xd1\x4a\x5f\x5c\xe9\xda\xbe\ +\xc1\xf6\x39\x27\x2a\x4c\x11\xdb\x40\x56\x34\xf2\x11\xa5\x2f\x1a\ +\x6c\x2c\xbc\xe4\x03\xf3\xb7\xe0\x27\xfc\x11\x7f\xe2\x89\xfd\xa8\ +\xfc\x1f\xe0\xad\x6f\xc3\x70\xeb\xdf\x17\xbc\x51\x69\x1f\x89\x21\ +\xf0\x8d\xd8\x97\xca\xd0\xad\x26\x67\xf2\xaf\xf5\xc9\x02\xec\xb6\ +\xb7\x42\x04\xaf\x0e\xe6\x96\x43\xb2\x10\xa1\x9d\xb1\xfb\x19\xfb\ +\x1a\xff\x00\xc1\xa7\xbf\x0b\xff\x00\x67\x76\xf8\x5b\xe2\x6f\x12\ +\x78\xa6\xfb\xc4\x9f\x10\x3c\x17\xe2\x2b\x1f\x12\xeb\x13\x0b\x48\ +\xdb\x4b\xd4\xa4\xb7\xf3\x9c\xda\x45\x11\x0a\x52\x26\x9e\x48\x1c\ +\xbb\xef\x62\x2d\x55\x40\x50\xc6\xbe\xc9\xff\x00\x82\x61\x7c\x4f\ +\xf0\xf7\xc6\xef\x87\xfe\x2e\xf1\x35\xc7\x85\x2c\xbc\x23\xf1\x9a\ +\x2d\x72\x4d\x13\xe2\x9d\x87\x98\xd3\xdd\x5b\xeb\x76\x8a\xa8\xca\ +\x24\x72\x5d\xad\x1a\x32\x92\xdb\x00\x76\x08\x66\x5d\xa0\x12\xd5\ +\xf4\xed\x00\x78\x3e\xb3\xff\x00\x04\xe5\xf8\x6b\xab\xfe\xdf\x9a\ +\x37\xed\x28\xb6\xba\xad\x8f\xc4\xdd\x23\x44\x97\x40\x79\xad\x6e\ +\xfc\xbb\x3d\x4a\xd9\xd1\x90\x1b\x88\xb6\x9f\x31\xd1\x5b\x0a\x77\ +\x0c\x6d\x5c\x83\xb5\x71\xe9\x5f\x18\x3e\x3e\xf8\x17\xf6\x7b\xd0\ +\x23\xd5\x7c\x7b\xe3\x2f\x0a\xf8\x2b\x4c\x99\x8a\x47\x75\xae\xea\ +\xb0\x69\xf0\xca\xc3\xaa\xab\x4a\xca\x18\xf2\x38\x1c\xf3\x5a\x9f\ +\x11\xfc\x7d\xa6\xfc\x2a\xf8\x7b\xaf\x78\xa3\x5a\x9b\xec\xda\x3f\ +\x86\xf4\xeb\x8d\x52\xfa\x6c\x7f\xaa\x82\x08\xda\x59\x1b\xf0\x55\ +\x26\xbf\x89\xdf\xf8\x29\x5f\xfc\x14\x4b\xc7\x1f\xf0\x53\x0f\xda\ +\xab\xc4\x1f\x12\x3c\x65\x7d\x70\xd6\xf7\x53\xc9\x06\x87\xa4\x97\ +\xdd\x6d\xa0\xe9\xe1\x8f\x95\x6d\x12\xf4\x18\x5c\x17\x61\xcb\xb9\ +\x66\x3c\x9a\x00\xfe\xd7\x7e\x19\xfc\x56\xf0\xbf\xc6\x8f\x09\x41\ +\xaf\xf8\x3f\xc4\x9a\x0f\x8a\xb4\x3b\xa2\x56\x1d\x47\x47\xbf\x8a\ +\xfa\xd6\x52\x3a\x81\x24\x4c\xca\x48\xc8\xc8\xcf\x14\x57\xf3\xa9\ +\xff\x00\x06\x4f\x6a\x1f\x10\x8f\xed\x77\xf1\x52\xd7\x4f\x93\x52\ +\x6f\x85\xeb\xe1\x75\x97\x5a\x8c\xbb\x7d\x8a\x3d\x50\xdc\xc4\x2c\ +\xdb\x1d\x3c\xe3\x12\xdd\x80\x47\x25\x03\x67\xa0\xa2\x80\x3f\xa4\ +\xaa\x28\xa2\x80\x0a\xf9\x17\xf6\x9f\xf8\xa7\xe1\xbf\x10\xff\x00\ +\xc1\x43\x3c\x2d\xf0\xb7\xe2\x86\xa9\xa4\x69\x7f\x0d\x57\xc0\x97\ +\x3e\x30\xb5\xb3\xd5\xae\x52\xdb\x4e\xf1\x1e\xa5\x15\xfa\x41\x24\ +\x57\x0d\x23\x04\x99\x6d\xa1\x64\x94\x40\xd9\x52\x67\xde\xc0\xf9\ +\x63\x05\x14\x00\xdf\xf8\x26\x86\xa5\xe0\xbd\x33\xf6\x80\xfd\xa7\ +\xbc\x3b\xe0\xfd\x4a\xc6\xf2\x2b\x7f\x1a\xd8\xeb\xad\x0e\x8c\x22\ +\x1a\x1d\xad\xbd\xf6\x93\x68\xd6\xe2\xd8\x44\x4a\x09\x58\x43\x23\ +\x4d\x8c\x16\x76\x57\x20\x6f\x15\xf5\xe5\x14\x50\x07\x01\xfb\x55\ +\xfc\x6d\x87\xf6\x6c\xfd\x9a\x3c\x7b\xf1\x02\x68\x5a\xe2\x3f\x06\ +\xe8\x37\x9a\xbf\x94\xab\x9f\x30\xc3\x0b\x3a\x83\xe8\x09\x03\x27\ +\xb0\xc9\xed\x5f\x9b\xdf\x1d\xbf\xe0\x84\xbf\x0f\xfc\x4d\xff\x00\ +\x04\xbf\xd6\x3c\x59\xe2\x9b\x7d\x3f\xe2\x07\xed\x01\x6f\xa3\x47\ +\xe3\xad\x53\xc6\x5a\x8e\xa9\x7b\xab\x41\xe2\x0d\x4e\xda\x3f\xb5\ +\xc9\x07\xcd\x27\x36\x13\x05\x78\x84\x51\x85\x5d\x8e\xa4\x0c\xa8\ +\x34\x51\x40\x1b\x9f\x02\x3f\xe0\xe5\x6f\x80\x7a\x4e\x81\xa3\xea\ +\xfe\x32\xb0\xf1\x47\xc1\x4f\x86\x3a\x96\x83\x6c\xbe\x0b\x8f\x50\ +\xf0\x7d\xda\xda\xeb\x8d\x11\xf2\xee\xda\xd6\x5b\x68\xde\x2f\x26\ +\xde\x41\xe4\x22\x2e\x09\x11\xbb\x1c\x02\x82\xba\xdf\x8d\xbf\xf0\ +\x75\x2f\xec\x65\xf0\x93\xc1\xd2\xea\x3a\x5f\xc4\x4d\x4b\xc7\x9a\ +\x87\x94\x64\x83\x4a\xd0\x74\x2b\xc3\x71\x33\x63\x85\x2f\x71\x1c\ +\x51\x26\x4f\xf7\x9c\x63\xde\x8a\x28\x03\xe1\xaf\xf8\x24\xb7\xfc\ +\x15\x03\xe2\xe7\xc6\x5f\xf8\x29\x27\x8c\x7f\x6a\x4f\x14\x78\x6d\ +\x7c\x33\xf0\x07\xe3\x77\x8b\x34\xdf\x85\xd7\x51\x22\x15\x83\x4e\ +\xbc\x30\xc8\x34\x99\xcc\x98\x02\x67\x89\x92\x3b\x79\xa6\x38\x1b\ +\xaf\xd4\x60\x00\xaa\xbf\xbf\x94\x51\x40\x1f\x2f\x7f\xc1\x6b\xf5\ +\x2b\xcd\x27\xfe\x09\x23\xfb\x45\x4d\x63\xe6\x0b\x81\xe0\x3d\x51\ +\x33\x1f\xde\x08\xd0\x32\xb9\xfc\x10\xb7\xe1\x5f\xc5\x34\x60\x06\ +\x56\x65\x2c\x99\x19\xf7\xa2\x8a\x00\xfe\xc0\xff\x00\xe0\xda\x2f\ +\xd9\x7f\x4e\xfd\x99\xff\x00\xe0\x8f\xdf\x0b\x64\x87\x4f\x8a\xd3\ +\x59\xf1\xfd\xb4\x9e\x2e\xd5\xe7\x09\x89\x2e\xe4\xbb\x72\xd0\x33\ +\x1e\xa7\x6d\xa8\xb7\x41\xec\xbe\xe6\x8a\x28\xa0\x0f\xff\xd9\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03\x7d\xc3\ +\x00\x69\ +\x00\x6d\x00\x61\x00\x67\x00\x65\x00\x73\ +\x00\x08\ +\x0b\x77\x5c\xa7\ +\x00\x68\ +\x00\x65\x00\x61\x00\x64\x00\x2e\x00\x6a\x00\x70\x00\x67\ +" + +qt_resource_struct_v1 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +qt_resource_struct_v2 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x60\x83\x46\x10\xc7\ +" + +qt_version = QtCore.qVersion().split('.') +if qt_version < ['5', '8', '0']: + rcc_version = 1 + qt_resource_struct = qt_resource_struct_v1 +else: + rcc_version = 2 + qt_resource_struct = qt_resource_struct_v2 + +def qInitResources(): + QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/QLabel/Lib/xpmres.py b/QLabel/Lib/xpmres.py new file mode 100644 index 0000000..fea8f79 --- /dev/null +++ b/QLabel/Lib/xpmres.py @@ -0,0 +1,399 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +''' +Created on 2017年12月23日 +@author: Irony."[讽刺] +@site: https://pyqt5.com , https://github.com/892768447 +@email: 892768447@qq.com +@file: xpmres +@description: +''' + +__Author__ = "By: Irony.\"[讽刺]\nQQ: 892768447\nEmail: 892768447@qq.com" +__Copyright__ = "Copyright (c) 2017 Irony.\"[讽刺]" +__Version__ = "Version 1.0" + +# 这里把转换的xpm数组直接放到py文件中当做一个变量 + +# 这里需要把xpm文件里的内容做下修改成python的list +image_head = [ + "120 120 256 2", + "8 c Black", + "u. c #CACACA", + " . c #0F0F0F", + "I c #D9D9D9", + "x. c #1E1E1E", + "@X c #E8E8E8", + "%. c #2D2D2D", + "l c #F7F7F7", + "S c #3C3C3C", + "1. c #4B4B4B", + "XX c #5A5A5A", + "{ c #696969", + "U. c #787878", + "7 c #878787", + "wX c #969696", + "JX c #A5A5A5", + "SX c #B4B4B4", + "p. c #C3C3C3", + "| c #080808", + "9 c #D2D2D2", + "r. c #171717", + "2 c #E1E1E1", + "<. c #262626", + "0 c #F0F0F0", + "3. c #353535", + " c #FFFFFF", + "0X c #444444", + "OX c #535353", + "PX c #626262", + "/ c #717171", + "$X c #808080", + "7X c #8F8F8F", + "] c #9E9E9E", + "-X c #ADADAD", + "c c #BCBCBC", + "O. c #010101", + "B c #CBCBCB", + "b c #101010", + "@ c #DADADA", + ";. c #1F1F1F", + "dX c #E9E9E9", + "F c #2E2E2E", + "j c #F8F8F8", + "C. c #3D3D3D", + "N. c #4C4C4C", + "J c #5B5B5B", + "G. c #6A6A6A", + "HX c #797979", + "FX c #888888", + "/. c #979797", + "m. c #A6A6A6", + "uX c #B5B5B5", + "$. c #C4C4C4", + "t. c #090909", + ":. c #D3D3D3", + "a. c #181818", + "$ c #E2E2E2", + "#X c #272727", + "F. c #F1F1F1", + "VX c #363636", + "Q c #454545", + "K. c #545454", + "gX c #636363", + "C c #727272", + " X c #818181", + "KX c #909090", + "P c #9F9F9F", + "e c #AEAEAE", + "yX c #BDBDBD", + "5. c #020202", + "p c #CCCCCC", + "i c #111111", + "+X c #DBDBDB", + "J. c #202020", + "T c #EAEAEA", + "b. c #2F2F2F", + "r c #F9F9F9", + "6. c #3E3E3E", + "g. c #4D4D4D", + "v. c #5C5C5C", + ",. c #6B6B6B", + "; c #7A7A7A", + "&X c #898989", + "D. c #989898", + "t c #A7A7A7", + "k. c #B6B6B6", + "w. c #C5C5C5", + ".. c #0A0A0A", + "c. c #D4D4D4", + ";X c #191919", + "6 c #E3E3E3", + "sX c #282828", + "{. c #F2F2F2", + "iX c #373737", + "-. c #464646", + "l. c #555555", + "~ c #646464", + "P. c #737373", + "a c #828282", + "*X c #919191", + "CX c #A0A0A0", + "BX c #AFAFAF", + "6X c #BEBEBE", + "w c #030303", + "s c #CDCDCD", + "R. c #121212", + "]. c #DCDCDC", + "q. c #212121", + "x c #EBEBEB", + "D c #303030", + "o c #FAFAFA", + "f. c #3F3F3F", + ".X c #4E4E4E", + "4 c #5D5D5D", + "K c #6C6C6C", + "GX c #7B7B7B", + "jX c #8A8A8A", + "rX c #999999", + "8. c #A8A8A8", + "mX c #B7B7B7", + "4X c #C6C6C6", + "y. c #0B0B0B", + "|. c #D5D5D5", + "4. c #1A1A1A", + "B. c #E4E4E4", + "ZX c #292929", + ", c #F3F3F3", + "1X c #383838", + "A c #474747", + "^ c #565656", + ": c #656565", + "[ c #747474", + "W. c #838383", + "n. c #929292", + "V. c #A1A1A1", + "[. c #B0B0B0", + "tX c #BFBFBF", + "X. c #040404", + "IX c #CECECE", + "H. c #131313", + "U c #DDDDDD", + "`. c #222222", + ">X c #ECECEC", + "G c #313131", + "+ c #FBFBFB", + "xX c #404040", + "T. c #4F4F4F", + "lX c #5E5E5E", + "E. c #6D6D6D", + "z c #7C7C7C", + "!. c #8B8B8B", + "i. c #9A9A9A", + "oX c #A9A9A9", + "zX c #B8B8B8", + "%X c #C7C7C7", + "v c #0C0C0C", + "*. c #D6D6D6", + "z. c #1B1B1B", + "= c #E5E5E5", + "R c #2A2A2A", + "k c #F4F4F4", + "H c #393939", + "_. c #484848", + "L. c #575757", + "d. c #666666", + "MX c #757575", + "Z. c #848484", + "LX c #939393", + "y c #A2A2A2", + "NX c #B1B1B1", + "UX c #C0C0C0", + "o. c #050505", + "'. c #CFCFCF", + "5X c #141414", + "h. c #DEDEDE", + ",X c #232323", + ") c #EDEDED", + "I. c #323232", + "O c #FCFCFC", + "3X c #414141", + "Q. c #505050", + "2. c #5F5F5F", + "bX c #6E6E6E", + "qX c #7D7D7D", + "# c #8C8C8C", + "V c #9B9B9B", + "9X c #AAAAAA", + "fX c #B9B9B9", + "(. c #C8C8C8", + "3 c #0D0D0D", + "h c #D7D7D7", + "@. c #1C1C1C", + "_ c #E6E6E6", + "M. c #2B2B2B", + "j. c #F5F5F5", + "A. c #3A3A3A", + ":X c #494949", + "Z c #585858", + "8X c #676767", + "d c #767676", + "hX c #858585", + "AX c #949494", + "=. c #A3A3A3", + "0. c #B2B2B2", + "#. c #C1C1C1", + "+. c #060606", + "N c #D0D0D0", + "u c #151515", + "cX c #DFDFDF", + "Y. c #242424", + "s. c #EEEEEE", + "q c #333333", + ". c #FDFDFD", + "> c #424242", + ". c #C9C9C9", + "} c #0E0E0E", + "aX c #D8D8D8", + "E c #1D1D1D", + "( c #E7E7E7", + "}. c #2C2C2C", + "! c #F6F6F6", + "n c #3B3B3B", + "&. c #4A4A4A", + "~. c #595959", + "=X c #686868", + "& c #777777", + "L c #868686", + "< c #959595", + "7. c #A4A4A4", + "). c #B3B3B3", + "` c #C2C2C2", + "W c #070707", + "- c #D1D1D1", + "eX c #161616", + "g c #E0E0E0", + "f c #252525", + "5 c #EFEFEF", + "m c #343434", + "X c #FEFEFE", + "2X c #434343", + "nX c #525252", + "* c #616161", + "kX c #707070", + "% c #7F7F7F", + "M c #8E8E8E", + "vX c #9D9D9D", + "9. c #ACACAC", + "' c #BBBBBB", + + " . . X . X X X X o ", + " . X O + O . + ", + " . X @ # $ X ", + " X o O % & * = ", + " . X . X - ; . : > , O X ", + " . . < 1 2 3 4 ", + " X 5 ; 6 7 8 % + ", + " X . X 9 % X O 0 q w e O ", + " r X o X . X X . . . X O X X X . X X X X X O O . t y X X X 9 u i p X . O ", + "+ X X + . . X X X X . X X + . O . X . O X . . . X X X X X . r . . a s . + d 8 f g O X ", + " X h r o X + . X X X . . X X X X . X . o j 0 5 0 k j + . X O X X . X l z x X . c v b n x . X ", + " X . X y 8 m M N . . . . . + O X . X O . X 5 B V C Z A S m D F G H A J K L P c I k X X X U Y . X X X T R E W Q ! X O ", + " O O r Q ~ Y m F ^ / 1 ( X . X X O . X + . = ) _ ` ' ] [ { C S } | .v W ..X.w X.o.O.8 8 X.O.+.3 @.m ^ # #.r O . . $.V . . J O.%...J + . + ", + ". . + . &.% X . *.=.-.;.Q a :.+ O o O o X >.,.<.1.2.3.v E 4.8 o.+.| | X.8 8 8 O.8 8 8 5.w O.8 8 5.8 O...i 3 ..i 6.] o X 1 7. O X X 8.w b ;.8 9. . ", + " . O . 0.q.w. j e.D u f K B O o X o X ` 2.r.W O.5.8 8 | 3 t.w 8 O.O.8 8 8 5.O.8 X.O.8 8 8 8 8 8 8 8 8 8 8 X.y.b o.8 &.u. i.p. X X 6 a.5.5.O.<.s. + ", + "X X O d.-.l . f.5.8 5.b g.P p h.j. k.l.} 8 O.w 8 8 w 8 8 5.5.8 5.O.8 8 O.O.8 8 8 8 8 O.O.8 8 8 8 w 8 8 O.O.8 O.8 O.z.4.x.d a c.X X X . X ^ 8 5.8 5.v.. X ", + "X X O O c.x.B . 8.+.O.8 w 8 5.b.[ n.m.:. X ' l. .8 +.O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 | @.M.H N.B.X X . . < 8 8 O.8 O.V. + X . ", + " X . k C.# . O Z.w 8 O.8 5.5...A.: S.D.F.o - G.;.H.8 X.X.8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.8 5.W J.K.j. O O c.b 8 5.8 8 ;.s. + + O ", + " X . L.S.X j P.o.O.8 8 O.8 8 +.@.u l.z H R 3.W O.5.8 8 X.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.O.8 8 { o . X O + j.I.8 O.8 8 w z . + X X X ", + ". . U.&. + r + d 5.O.5.O.O.5.O.8 8 5.Y.T.l.R.5.8 O.8 5.O.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 X.8 8 8 5.E.O X . v.O.w O.8 8 H.I . X O ", + " X X X X 7 6.O + X X W.+.8 8 +.8 O.8 O.X.z.f 8 5.8 8 w O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 Q.O O + X !.8 8 8 5.8 5.~.. o + . ", + " + X . ^.I., O + /.J.5.8 5.8 w 8 O.5.8 8 8 o.8 8 8 8 O.5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 X.8 5.8 3.( X o X . X 8.o.O.o.8 w O.o.(. + ", + " O X O c ;.U O X X X ).m 5.w 8 8 8 w 8 5.w 8 8 8 8 5.O.8 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 5.t.V O X X B z.8 5.X.8 8 O._.X X X . ", + " O X X - `.(.X + X X O . I b.8 O.8 w 8 O.8 8 O.8 X.O.8 5.8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 w 8 O.8 O.A.h '. O . . . X ].F +.8 8 O.w 8 5.[. X . ", + " {.}.i.. . X . X |.<.W 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 5.5.8 8 .. X.XN ].+ X k ,...O.o.8 w 8 8 R T O X ", + " XXZ o . O 0 * .8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.8 8 8 O.> d.G.oXOX+X . O . @X#X5.5.W 8 w O.8 V . . . ", + " 7.E 2 . . X X 7 b w 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 w 8 O.8 8 8 y.}...I.Q.+X8.$X%X&X].!.8 ..8 8 5.8 w *X . ", + " X ) <.L X c ;.8 5.O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 O.5.8 w 8 O.8 w ..Y.=XF : -Xd./.I.;XX.8 w O.z.:Xt O X . ", + " . *XJ.2 X O r >X1.8 O.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 8 O.8 O.O.8 5.O.5.5.@.A ~.Z 1 { XX,X .8 8 5.8 3. .Xs.. . ", + " X . 4Xz.[.. r h.Y.8 X.8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.8 8 w 8 8 8 X.X.w 8 O.8 O.8 .8 ;X3Xi y.1XJ.3 i ;Xx.S. ", + " . X i.}.h C X.O.8 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 O.8 8 5.8 8 8 5.8 O.O.8 8 8 5.O.8 w 8 u H x...5X5X6X ", + " O + W.N.s.9 z.5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 w 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.W r. .| w > j . . X X ", + " X X . 7X& 8X5.8 O.8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 +.8 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 w 5.X.W +.9X O . X ", + " X O O oXi 8 8 w 8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.8 5.8 8 | 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 8 8 W X.8 0Xk X O . . ", + " + . . qX8 w 8 O.O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 8 w 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.w 8 o.8 3 +.' . O ", + " + . . I ,XO.5.8 8 5.O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 8 5.5.5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.5.O.: X O X ", + " + . X X % 5.8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.8 8 8 w 8 +.E $ X X X ", + " . x m 8 O.8 O.O.8 8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 8 8 X.5.O.w 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.8 5.wXX . X ", + " . X oX+.8 O.8 8 w 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 w 8 8 5.w K b 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 5.8 X.o.&.. X ", + " X * 8 O.8 8 8 8 8 8 8 8 8 5.8 8 8 O.8 O.r.5X8 8 5.8 w 8 8 8 8 8 8 8 8 8 w 8 8 8 O. .(.G.8 O.8 8 5.5.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.5...eXc. X ", + " . . 0 n 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.8 5.f a z.5.8 8 8 8 w 8 8 8 8 8 8 8 8 8 O.w 8 8 ..B c.;.8 O.8 8 8 X.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.5.t.W rXX O X ", + " 4XY.8 5.8 8 8 8 8 8 8 8 8 5.o.8 w 8 a.tXM o.8 O.8 X.8 8 8 8 8 8 8 8 8 8 8 O.8 O.5.i yX W.W 8 w o.8 O.O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.t.o.^ X X ", + " . L ;X8 O.8 8 8 8 8 8 8 8 8 O.8 w 8 b uX ~.8 O.8 8 8 O.8 8 8 8 8 8 8 8 8 5.O.8 8 8 R.c ) 0XO.8 8 +.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.W b <.T X ", + " + k _.X.8 8 8 8 8 8 8 8 8 8 w 8 w 8 v wX F.iXo.8 8 5.8 O.O.8 8 8 8 8 8 8 8 8 8 O.8 8 a.:. r 4XE 8 W 8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.w u W pX O ", + " X aX;.8 O.8 8 8 8 8 8 8 8 8 O.8 8 W ~ . O 6 ;.8 8 O.5.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 +.`.6 X M b 8 8 8 w 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.u 5. X . ", + " o P y.5.O.O.8 8 8 8 8 8 8 8 8 X.8 G ].O w.b 8 w 8 8 8 5.8 8 8 8 8 8 8 8 8 O.w 8 8 8 b.s. X _ uXsX8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.5.R.3 1.+ X ", + " . d.X.8 8 8 8 8 8 8 8 8 8 8 5.8 3 rX X O 9XX.8 5.8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.w .XX . U qX,.XX;X8 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.} H.J.dXX ", + " @XA.X.8 O.8 w 8 8 O.O.8 8 8 O.w A dXk.L ( D.8 O.8 8 O.O.8 8 8 8 8 8 8 8 8 8 8 5.O.8 X.d. 5 k X pXz.8 8 8 O.8 8 O.O.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 v 4.3 ` . ", + " X + ' #XO.8 O.8 8 8 5.8 8 O.8 X.8 u fX6XgXhX5 W.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 8 O.y.jX O + o O D.3 8 8 8 8 5.8 O.w 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 t.4.o.D.X ", + " . jX;XO.8 O.8 8 8 8 8 8 5.8 8 o.T.k j + + hXO.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 w b k. O kX| 8 O.O.5.X.8 5.5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.@.t.K ", + " k lXi O.8 O.8 O.8 8 O.8 8 O.8 5XzX . P.w 8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 O.w w J.h.X X X O . l XXt.8 O.8 8 5.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ;Xi T.X . ", + " O s %.o.8 8 8 O.8 8 8 O.8 8 +.w A r X O C +.8 8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 O.O.5.-.o X X X X F.> 8 O.5.w 8 X.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 i .iXF.X ", + " i.y.8 w 8 8 8 8 O.8 8 5.8 8 v 8.O . kX..O.8 O.8 8 O.8 8 8 8 8 8 8 8 8 8 O.8 w & X . . , c.).m.B.$ 6.8 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.3 3 sX$ ", + " l { 5.8 w O.8 8 8 O.8 8 w 8 8 xXF.X + 7 } O.8 O.8 8 O.8 8 8 8 8 8 8 8 8 8 8 O.i uX+ + cXV.a L V L 4Xo aXA.+.8 8 O.w 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5.3 i J.*. . ", + " h.Q w 5.8 8 5.8 8 O.8 8 8 O.t.!. j j.s. X X 1 b 5.8 O.8 8 5.8 8 8 8 8 8 8 8 8 O.8 w Y.x ) P Z.[.pXvXbXlX&.> nXA.v o.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 3 u 4.p ", + ". X X X mX1X5.8 8 O.8 8 8 8 5.8 8 X.q.9.oXjXMX{ y . tXz.8 8 w 8 8 8 5.8 8 8 8 8 8 8 8 8 8 O.: O 6 ^.e 7.* %.y.z.u w O.8 x.sXw 8 5.8 8 8 8 5.8 5.8 O.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 y.x. .>. X ", + " . X X rXm 8 O.O.8 8 O.5.O.8 5.o.5.Q.- cXcXN NXmX= l s J.X.8 8 8 O.8 O.8 8 8 8 8 8 8 8 8 w o.).. . B.BX^ D L.b.R ;Xw 8 8 w w sX}.v 8 O.O.8 8 8 o.8 8 5.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 O.8 X.`.3 w. ", + " . X X 0 L VX8 5.5.8 O.8 8 8 5.5.8 i CXc.% .g.eX*X+ . + . X . X O O O O X . A 8 O.O.8 8 8 8 8 8 8 8 8 8 8 O.O.8 8 8 O.w 8 8 ..i 7 X ", + " O X ! p 1X| 8 ;X0 X O X . O O C w ~ T O O O X . O IXA ~.B.. . X . X X + + X O . r F O.O.O.O.8 8 8 8 8 8 8 8 8 8 5.5.8 8 8 O.8 8 8 o.5XB . X X X ", + " + X X O X & O.8 8 BX . X O 0 L.+.L + X X . + . X T ^ }.p X O . . O O . X + X dXr.8 O.O.O.8 8 8 8 8 8 O.8 8 8 5.5.8 8 8 8 8 5.O.8 2Xj.O X X ", + " + . . $.8 X.8 -.+ . _ xXy.e X X X X . X O X + {.~ r.NX O X . X . . :.| O.O.O.O.8 8 8 8 8 8 O.8 8 8 w 5.8 8 O.8 8 8 8 5.&X . X X ", + " B.eX8 8 8 oX O . O X . X cXVX4.yX . + ,.} e . X . . + X . X zX8 O.w +.8 8 5.8 w 8 8 w 8 O.8 w 8 5.8 O.O.8 8 5. .@ ", + " ) #XO.X.w 8XO X = q Y.@ . + + { +.). . o O O O . X < X.8 5.X.X.O.8 8 5.8 5.8 8 8 w 5.o.8 5.8 8 w O.8 2XO ", + " X 1XO.o.5...[.X O + . X + x f.#X2 O X X + J y.pX X . o [ 8 o.| o.o.5.8 O.8 8 8 +.8 5.8 8 8 O.8 W w 8 8 O.e. ", + " X hX8 .H.8 y.BX o j Q.J.].+ O l . . ! _.E @ O X + X :X8 W v t.5.O.8 8 8 O.8 8 5.8 8 X.X.8 5.} w 8 5.X.w.+ ", + " X pX| o.b 5.o.X.*X. O + GX} zX O O ( ZX3.r + X . X . X j D 8 b +.y.w 8 O.8 8 8 5.8 8 O.8 X.8 8 W @.X.5.8 5X>X ", + " _ f 8 ,X+.5.5.8 &.pXo 5 ,X=. X X . . O . + >.o./ . X X X I i 8 y.| | W 8 8 8 5.8 O.O.w 8 8 Y.a.| }.C.O.O.8 S X X ", + " X L.8 Y.q.8 3 X.8 8 > 9X/.C O + . O O L w p.X . O X X X {.9.8 W 4.#X5.+.8 8 8 O.8 8 o.8 8 b M.Q.v < $X| o.X.=X. ", + " . X t w W 3Xt.8 +.w 5.8 8 b pX . X X X O 0 sX_.. . X X g L.m 8 5.U.N.8 w 8 8 8 8 O.| 8 w 8 4.r.R.b.l '.,X+.8 jX X ", + " O >Xb.5.T.=XO.W 5.X.O. .c X . X X AX+.>.X O ) -Xm G @.O.VXh.m 5.w 8 8 O.8 5X .8 w H.t.W 8 JX 8X8 O.Z.. O X X O X . ", + " X ^.o.sX8.b.8 y.W 8 b.( X X X X O . X O U v E. = -X8XH ,XGX7 X.u pXT r.8 8 w 8 w o.kX@.5.#Xu %.3 D l . . u.4.5.-. . X . O ", + " + X O + / eXd D.O.R.v 8 f.x . X X X }.r.L [ l.I.q T.XXI , I.8 z X 9X+.8 O.8 eX5.lX; 8 ..q C.k.5.d. O vX3XFX + X . X O O O ", + " . X W.A.zXS 5.+.,X|.. X X X . X X + jX8 VXC i W.5 6XL qX+.^ r ~ w 5.5.@.r.I.# W 8 * '.dX5 _.yX. . O O . + . . O O O ", + " O X . X k 7.@X[.O.8 -X+ X X . X . X O . X 5 H.Z }.$XX ,.b -.j. +XZXeX8 ;XG 1.U.} z.,.+X . X X . O X O . . + X + O ", + " O . o r A 8 N.( X X r X . ~.q.>X`.P. {.) i.X.xX! X &XH. .m 9.7 ; y.a.|.+ . + O . o . X . O . o ", + " X X X . :.sX8 q.rXl + X + + X LXH.V.%.UX. o O >Xb.8 4 +X}.O.2X$ $.1X5.E c. . X O X r X X X + l _ {. X o ", + " X . X . X I V.A 8 }.AX5 j X . X . . X - a.i l. X A.8 v N.#XQ.) X < 8 I.+X . + . X X X X oXXXY.z.q.1.9X X X ", + " X X ! wX#X5.4 X X + X X X s.AXI.8 3 c. r B +.v ..o.{ X 6 g.nXT X . O X O . F.XX8 8 w 8 5.8 8 d.X X ", + " . O O 9 eXSX+ X X O X x aX0.G.}.t.W X.P X X . DX8 5.8 .x.4X KX% ! O X X X X r T.o.X.X.W O.8 5.8 5.a . . ", + " . X O jXq.s. X O + Z.M..X,Xu 0XH.jXo . X O /.8 8 8 5.x.0X#XB.{.O O . X X bX8 8 8 8 8 w w 8 O.8 ;X, ", + " X X r iXX+ X O X k A.D 0 . + X X _ r.O.O.8 8 O.8 8 8 w 8 w (. r ", + " . O '.XX8.o . h R.-X X X X + [ 8 i ~ vXM.8 { r o . . . + O X P.8 wX + . X s | 8 8 8 8 8 8 8 w 8 8 8XO . + X ", + " B.OX0. X ` ;.c + O X X X X + >X4.d.cX . p.sXrX j T B X X + 9 z.5.q.>X . + + k.8 8 O.8 8 8 8 5.W o.5.IX X X ", + " . . HX. O + O o X 0 ZX8 w 8 FX. X . X 9XO.8 O.O.8 8 8 5.| O.J.j.X X X ", + " . -.Z.. + + B d.+ X O O X bX3.aX O - E wX !.Y X O + O + p C.8 +.y.q.;._ O X X CXw 8 O.8 8 8 8 O.o.8 K.. X . ", + " O S DX . >X_.LXX X . . @ > - X . . J ;.Q.3 / mX5 U g ! ! @ m.Z t.O.8 8 `.=.8 AX X . X ^.8 8 8 8 8 8 8 8 O.8 a . O ", + " X =X,Xj. j K.n . . O c F {.O . . DX8 8 C.y.O.q.4.eXF f.f.#Xv 8 8 8 8 5.8 qXj.ZXG l . X X e 8 8 8 8 O.5.8 8 8 O.NXO X X O ", + " . ' 3 PX^.kXU.JXv d.O O . . . *.z.7X+ . . W.8 A.l 0.x.8 O.8 8 O.8 8 O.5.8 O.w 8 Q.+ O M 8 ' X %Xw 8 O.5.w X.O.8 O...@ X X " +] diff --git a/QPropertyAnimation/Lib/SlidingStackedWidget.py b/QPropertyAnimation/Lib/SlidingStackedWidget.py new file mode 100644 index 0000000..aae37a1 --- /dev/null +++ b/QPropertyAnimation/Lib/SlidingStackedWidget.py @@ -0,0 +1,238 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Created on 2018年11月24日 +author: Irony +site: https://pyqt5.com , https://github.com/892768447 +email: 892768447@qq.com +file: +description: 参考 http://qt.shoutwiki.com/wiki/Extending_QStackedWidget_for_sliding_page_animations_in_Qt +""" +from PyQt5.QtCore import Qt, pyqtProperty, QEasingCurve, QPoint, \ + QPropertyAnimation, QParallelAnimationGroup, QTimer +from PyQt5.QtWidgets import QStackedWidget + + +__Author__ = """By: Irony +QQ: 892768447 +Email: 892768447@qq.com""" +__Copyright__ = 'Copyright (c) 2018 Irony' +__Version__ = 1.0 + + +class SlidingStackedWidget(QStackedWidget): + + LEFT2RIGHT, RIGHT2LEFT, TOP2BOTTOM, BOTTOM2TOP, AUTOMATIC = range(5) + + def __init__(self, *args, **kwargs): + super(SlidingStackedWidget, self).__init__(*args, **kwargs) + self._pnow = QPoint(0, 0) + # 动画速度 + self._speed = 500 + # 当前索引 + self._now = 0 + # 自动模式的当前索引 + self._current = 0 + # 下一个索引 + self._next = 0 + # 是否激活 + self._active = 0 + # 动画方向(默认是横向) + self._orientation = Qt.Horizontal + # 动画曲线类型 + self._easing = QEasingCurve.Linear + # 初始化动画 + self._initAnimation() + + def setSpeed(self, speed=500): + """设置动画速度 + :param speed: 速度值,默认值为500 + :type speed: int + """ + self._speed = speed + + @pyqtProperty(int, fset=setSpeed) + def speed(self): + return self._speed + + def setOrientation(self, orientation=Qt.Horizontal): + """设置动画的方向(横向和纵向) + :param orientation: 方向(Qt.Horizontal或Qt.Vertical) + :type orientation: http://doc.qt.io/qt-5/qt.html#Orientation-enum + """ + self._orientation = orientation + + @pyqtProperty(int, fset=setOrientation) + def orientation(self): + return self._orientation + + def setEasing(self, easing=QEasingCurve.OutBack): + """设置动画的曲线类型 + :param easing: 默认为QEasingCurve.OutBack + :type easing: http://doc.qt.io/qt-5/qeasingcurve.html#Type-enum + """ + self._easing = easing + + @pyqtProperty(int, fset=setEasing) + def easing(self): + return self._easing + + def slideInNext(self): + """滑动到下一页""" + now = self.currentIndex() + if now < self.count() - 1: + self.slideInIdx(now + 1) + self._current = now + 1 + + def slideInPrev(self): + """滑动到上一页""" + now = self.currentIndex() + if now > 0: + self.slideInIdx(now - 1) + self._current = now - 1 + + def slideInIdx(self, idx, direction=4): + """滑动到指定序号 + :param idx: 序号 + :type idx: int + :param direction: 方向,默认是自动AUTOMATIC=4 + :type direction: int + """ + if idx > self.count() - 1: + direction = self.TOP2BOTTOM if self._orientation == Qt.Vertical else self.RIGHT2LEFT + idx = idx % self.count() + elif idx < 0: + direction = self.BOTTOM2TOP if self._orientation == Qt.Vertical else self.LEFT2RIGHT + idx = (idx + self.count()) % self.count() + self.slideInWgt(self.widget(idx), direction) + + def slideInWgt(self, widget, direction): + """滑动到指定的widget + :param widget: QWidget, QLabel, etc... + :type widget: QWidget Base Class + :param direction: 方向 + :type direction: int + """ + if self._active: + return + self._active = 1 + _now = self.currentIndex() + _next = self.indexOf(widget) + if _now == next: + self._active = 0 + return + + w_now = self.widget(_now) + w_next = self.widget(_next) + + # 自动判断方向 + if _now < _next: + directionhint = self.TOP2BOTTOM if self._orientation == Qt.Vertical else self.RIGHT2LEFT + else: + directionhint = self.BOTTOM2TOP if self._orientation == Qt.Vertical else self.LEFT2RIGHT + if direction == self.AUTOMATIC: + direction = directionhint + + # 计算偏移量 + offsetX = self.frameRect().width() + offsetY = self.frameRect().height() + w_next.setGeometry(0, 0, offsetX, offsetY) + + if direction == self.BOTTOM2TOP: + offsetX = 0 + offsetY = -offsetY + elif direction == self.TOP2BOTTOM: + offsetX = 0 + elif direction == self.RIGHT2LEFT: + offsetX = -offsetX + offsetY = 0 + elif direction == self.LEFT2RIGHT: + offsetY = 0 + + # 重新定位显示区域外部/旁边的下一个窗口小部件 + pnext = w_next.pos() + pnow = w_now.pos() + self._pnow = pnow + + # 移动到指定位置并显示 + w_next.move(pnext.x() - offsetX, pnext.y() - offsetY) + w_next.show() + w_next.raise_() + + self._animnow.setTargetObject(w_now) + self._animnow.setDuration(self._speed) + self._animnow.setEasingCurve(self._easing) + self._animnow.setStartValue(QPoint(pnow.x(), pnow.y())) + self._animnow.setEndValue( + QPoint(offsetX + pnow.x(), offsetY + pnow.y())) + + self._animnext.setTargetObject(w_next) + self._animnext.setDuration(self._speed) + self._animnext.setEasingCurve(self._easing) + self._animnext.setStartValue( + QPoint(-offsetX + pnext.x(), offsetY + pnext.y())) + self._animnext.setEndValue(QPoint(pnext.x(), pnext.y())) + + self._next = _next + self._now = _now + self._active = 1 + self._animgroup.start() + + def _initAnimation(self): + """初始化当前页和下一页的动画变量""" + # 当前页的动画 + self._animnow = QPropertyAnimation( + self, propertyName=b'pos', duration=self._speed, + easingCurve=self._easing) + # 下一页的动画 + self._animnext = QPropertyAnimation( + self, propertyName=b'pos', duration=self._speed, + easingCurve=self._easing) + # 并行动画组 + self._animgroup = QParallelAnimationGroup( + self, finished=self.animationDoneSlot) + self._animgroup.addAnimation(self._animnow) + self._animgroup.addAnimation(self._animnext) + + def setCurrentIndex(self, index): + # 覆盖该方法实现的动画切换 + # super(SlidingStackedWidget, self).setCurrentIndex(index) + # 坚决不能调用上面的函数,否则动画失效 + self.slideInIdx(index) + + def setCurrentWidget(self, widget): + # 覆盖该方法实现的动画切换 + super(SlidingStackedWidget, self).setCurrentWidget(widget) + # 坚决不能调用上面的函数,否则动画失效 + self.setCurrentIndex(self.indexOf(widget)) + + def animationDoneSlot(self): + """动画结束处理函数""" + # 由于重写了setCurrentIndex方法所以这里要用父类本身的方法 +# self.setCurrentIndex(self._next) + QStackedWidget.setCurrentIndex(self, self._next) + w = self.widget(self._now) + w.hide() + w.move(self._pnow) + self._active = 0 + + def autoStop(self): + """停止自动播放""" + if hasattr(self, '_autoTimer'): + self._autoTimer.stop() + + def autoStart(self, msec=3000): + """自动轮播 + :param time: 时间, 默认3000, 3秒 + """ + if not hasattr(self, '_autoTimer'): + self._autoTimer = QTimer(self, timeout=self._autoStart) + self._autoTimer.stop() + self._autoTimer.start(msec) + + def _autoStart(self): + if self._current == self.count(): + self._current = 0 + self._current += 1 + self.setCurrentIndex(self._current) diff --git a/QPropertyAnimation/Lib/UiImageSlider.py b/QPropertyAnimation/Lib/UiImageSlider.py new file mode 100644 index 0000000..a47fb81 --- /dev/null +++ b/QPropertyAnimation/Lib/UiImageSlider.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'UiImageSlider.ui' +# +# Created by: PyQt5 UI code generator 5.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(656, 612) + self.verticalLayout = QtWidgets.QVBoxLayout(Form) + self.verticalLayout.setObjectName("verticalLayout") + self.stackedWidget = SlidingStackedWidget(Form) + self.stackedWidget.setObjectName("stackedWidget") + self.verticalLayout.addWidget(self.stackedWidget) + self.groupBox = QtWidgets.QGroupBox(Form) + self.groupBox.setObjectName("groupBox") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox) + self.horizontalLayout.setObjectName("horizontalLayout") + self.spinBoxSpeed = QtWidgets.QSpinBox(self.groupBox) + self.spinBoxSpeed.setMinimum(100) + self.spinBoxSpeed.setMaximum(5000) + self.spinBoxSpeed.setProperty("value", 500) + self.spinBoxSpeed.setObjectName("spinBoxSpeed") + self.horizontalLayout.addWidget(self.spinBoxSpeed) + self.verticalLayout.addWidget(self.groupBox) + self.groupBox_2 = QtWidgets.QGroupBox(Form) + self.groupBox_2.setObjectName("groupBox_2") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_2) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.radioButtonHor = QtWidgets.QRadioButton(self.groupBox_2) + self.radioButtonHor.setChecked(True) + self.radioButtonHor.setObjectName("radioButtonHor") + self.horizontalLayout_2.addWidget(self.radioButtonHor) + self.radioButtonVer = QtWidgets.QRadioButton(self.groupBox_2) + self.radioButtonVer.setObjectName("radioButtonVer") + self.horizontalLayout_2.addWidget(self.radioButtonVer) + self.verticalLayout.addWidget(self.groupBox_2) + self.groupBox_3 = QtWidgets.QGroupBox(Form) + self.groupBox_3.setObjectName("groupBox_3") + self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.groupBox_3) + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.comboBoxEasing = QtWidgets.QComboBox(self.groupBox_3) + self.comboBoxEasing.setObjectName("comboBoxEasing") + self.horizontalLayout_3.addWidget(self.comboBoxEasing) + self.verticalLayout.addWidget(self.groupBox_3) + self.groupBox_4 = QtWidgets.QGroupBox(Form) + self.groupBox_4.setObjectName("groupBox_4") + self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.groupBox_4) + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + self.pushButtonPrev = QtWidgets.QPushButton(self.groupBox_4) + self.pushButtonPrev.setObjectName("pushButtonPrev") + self.horizontalLayout_4.addWidget(self.pushButtonPrev) + self.pushButtonNext = QtWidgets.QPushButton(self.groupBox_4) + self.pushButtonNext.setObjectName("pushButtonNext") + self.horizontalLayout_4.addWidget(self.pushButtonNext) + self.verticalLayout.addWidget(self.groupBox_4) + self.groupBox_5 = QtWidgets.QGroupBox(Form) + self.groupBox_5.setObjectName("groupBox_5") + self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.groupBox_5) + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.pushButtonStart = QtWidgets.QPushButton(self.groupBox_5) + self.pushButtonStart.setObjectName("pushButtonStart") + self.horizontalLayout_5.addWidget(self.pushButtonStart) + self.pushButtonStop = QtWidgets.QPushButton(self.groupBox_5) + self.pushButtonStop.setObjectName("pushButtonStop") + self.horizontalLayout_5.addWidget(self.pushButtonStop) + self.verticalLayout.addWidget(self.groupBox_5) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "图片轮播动画")) + self.groupBox.setTitle(_translate("Form", "动画速度")) + self.groupBox_2.setTitle(_translate("Form", "动画方向(默认是横向)")) + self.radioButtonHor.setText(_translate("Form", "横向")) + self.radioButtonVer.setText(_translate("Form", "纵向")) + self.groupBox_3.setTitle(_translate("Form", "动画曲线类型")) + self.groupBox_4.setTitle(_translate("Form", "翻页")) + self.pushButtonPrev.setText(_translate("Form", "上一页")) + self.pushButtonNext.setText(_translate("Form", "下一页")) + self.groupBox_5.setTitle(_translate("Form", "轮播")) + self.pushButtonStart.setText(_translate("Form", "轮播开始")) + self.pushButtonStop.setText(_translate("Form", "轮播停止")) + +from Lib.SlidingStackedWidget import SlidingStackedWidget + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + Form = QtWidgets.QWidget() + ui = Ui_Form() + ui.setupUi(Form) + Form.show() + sys.exit(app.exec_()) + diff --git a/QPropertyAnimation/Lib/__init__.py b/QPropertyAnimation/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QPropertyAnimation/Lib/pointtool.pyd b/QPropertyAnimation/Lib/pointtool.pyd new file mode 100644 index 0000000000000000000000000000000000000000..592607b41e98a07c089bf46557294ec8874d0b84 GIT binary patch literal 22528 zcmeHv3w%`7x$jCcfdMAWU^AL(s6(A-Dv!?0o@XX6B!Qp-Ca(z;VF;OlNzBV+j|K}= zoTM_{#M;*5)l+*8A-1*W&{KPAue9~lK)`^dijN{HR;~x_qysgILbTL<|KHj(nMnxr z-2408bI$K~yJ79eTHpF!>s#OY*0*4_7)$`T5GHQ8drK{+F}a zQ!{=$Z(myFZ|Btpo4O1go$Z@D8(IyG4Q*}hqG4me&>3noG_@JZR@E3<+x>w>Sy?lU zanzgg^uPLI*;k{9GQThyHQ;%L;D-BRWyP@vHKvTgO-xYAb6JC<$hYqk}Q^v?=N*Roz=XX^g<!8yIWILKSeb*(e1lDMu+tFH*o*H`K;9 zpr}zQP*RRk#s(L423p!18T$dr1lc$o;Y~S88M`Ir@o%^Pg&GhBhmNKm{W~`?os<>D z*;_9aJy^wbo~q__`L*yt&A>_2_6~+_l=OxTOy?WU+=mJ>s^LuaW~O@&V;<2ziMsG% zdHs;2KZaW=YZT||W>uAx^&swWd5WrSj{tR5m8Ytzx;dknHK$XNkB1Ky4je}N708TC zB-778TFQEckm`whPd{-FI(u=cmh_MDx}!?nL8a~^UU!=6sy)p!NxTIE58;v1&En!k zvPcv~NV0ZC$PYn%f_S?CRNbteC|-(SGa*=-BG_PpK&t+ds6U=4m`@m7KQwuK{$D@4 zKiD>XpRSSVVl$*lqh?<&Zo^xRY9?mxGvfZ2i=gfBCuw5lFBjm^TMfB)VkD(G9;wWj z?FpJtTP^E%p)Pzd7e+v>9x1&l*n$>MqD2=syYLwu=;YLR>-!3K^wk8msvs;Y;}jJY&Fa5coQ`E-qJH5z5T$jM;Tv^@*qt);o$#ES#0Xrvc=&x^IvaaX#y zQmRsg_p5qe4t*$9s4gt7MSq>P$B7=j=e0fW;W0L?@4JLn(z?>LJ%e;NBfKS>iGoz6 zJAa^5yz%@2gE&vRQynV{yO{X&{7Rz{WOQJ6!TwLuBdTwVd>#H+y3-K5p-O&5x<*Qu zDxd<@`TeEh%=7yVVy4ugj%7$42I4NfQ%Iv-dn<6laHrRpAn*?RCns9GeTZE|5ep_}YAEbpNO6 z5$m^j^P40bwCCPx%+~h&cwFd@lR{q;7kVZMok>FH|7Q#KG`NWi=7V6I+1?sR2D$Qk zkBE0d@w#dcG}FUvKttNNPZ2Gf+YgjtgbnGcU{;1|SYFatdSCyGEc@0AgKNVFbwj{t z@+kJHn5&eYv{T=D%=T2UgD~URYt$zJTov4%YTBA)m!n6e#VV<^qPnVgP@EKpl_n?|ms`^UC@lkdp1Fh?;Nxkhgv^A+Jih z1%$vL5rXetrIA!SWQN<+)#2z-&{46PI;q7->%*w@skV2Rl)g;m&h&tcwud50cjju` zhZYNi;PcTz;pN^V+J_FzIv}c~=VA)Oy=TR1gd?2W{b&cb2YR2^_Ut8OW%p}{^t!b} z(rRn(o7$d-Q5*iMhG~0t;SQs}46|T~lmV?4)pM?U2fOD;HJXf3$Od((dGG$)NpPAy z8*oGN4~C|r1>=rk@Ka-rCbh$r`CWDizai^H?TULYRqayDZK(F8xN1qLdMNk4xP%kc zdsNCggGEBI8gD(BjY>Wio2D2|eEx^7>96I2)dxR<;Xypb+iIleCJ)!q{!>6#55ubD z8c+jahRlZkLu7KKEKX;RLTB8or_$l3039|nX{^7LxXP)ju95X+bPJQykxIp~-m}}U zjb-#LhkupRByD8Z*9+meN@-#r+8S$SP-6vp$V)Iv>bUWz*ra@$j?5Ce3!llxT*;}C zR_n+J7kH%(O}*5u#&VDw5sik(?ZzCKmab0LFW?fZB5<%VHI@$@Oou5vGPzVI;eVD1 zFz&SNxj~&D)b&=S3zRfdF_ZAY?4j`2G%QpPq|^B%3sr`{ma`GU64m!Kr8&6wXaRnw@p=F2e+0}CA?V;X$>iUO*Bg%OLlphR3cA@ zgR+K)()+~kvA*r_EpUlBk_v%pej%!k=Z zrP&eSfeP~>h+4W$4G{n_2p4p_(OQGkf|@FjD&z{FwY#(q0Uh(e!xVC5E|A7x06Ka0 zM0eItnwMC3%)dReui}N+wEbi0eVS59&uu7OuF$zEblYYr!=-+1aW+#7fCeOW%E0lE z9jIXkrBIf(rVf-1oU&&9I@meKmlhvyJsU~@qO)z&*^MAk} zsLxBR%b{x|y^#b=4|+fdqngiIQe%d$o4`MMsj$E(3xLOq0m@aFzjPAt6@bTLip2F; zBJLS?ykfi5VWnv1JFu1T_H6jd2=2JAJPThrZIZ9_W@ki6TsTWCSnGx^<14}2x`eOv zW~X-OJrYt$hhka1XS?ajz4{@rm&3%V93>`X$}%K=9}(YVStol+?kF|)$r*5%k=*;_ z88D&6*hf_4aBu2czYmj)P1Gm%oR!ty@dZ}{?sF8ClH#QbQ^aF}ovL6l)`-W7TXG=I zh{p+C=_V5yx7`$P)GGr{3uac)^2}AJN-UIwf2LGHXjOFM#Em*KQ#cYqLxnX`;hZr1 zN5f~-(o(Cm(kbarz*EDWwwdY$xthEdre1bryD75W8rklIllSm7%snh#BV}ErRRWur zamOy5h^?2h2#2zG08At439PybD@ay9-I4?7AiEr+KvEWKFa|q;R+`(RAcxDECe1yH zhsgp8vit4O!hV8_Q|AnOs;ZSpJg(zduClNSa_ki>1B9HfyP^tUInq)SoP`ED(Mj8_ z(t2m4%@kQ_jd-1~PMxfVPAf>K9vvyU9ECV0&rMcPI_<;I6uVmBEj`Mi*K}4hO=hknV?Lw!J zT2c*ROZDk&tnK-TrsbQV;vf=8Ox8b?P?5Ih4YWW%*^zFQ zZ(T$!rwtI%;Y=OQrDz+@B+6v;2qN@!?~Tr)keJ^~qwWv4&6mo~socY%8zj{^pvsA8 z&dF+R@7D;kN9BRexXRW;Uqk(b*L^Isu&=wcPxBXmuquq%gEYiZGLW<4tqSVMLSiIR z#5)|{ex3AuU)k^2{1+ry>K=+);y$W&Yb?S5X$(jc`^Q&kt-%02WWTsykhv^v_Ot7tGn^Z8=(S0^M7 z^Q0`Ega9*Do__YZ||xhG&*DM2@%1S!@BM=1>@2N(XNs>X}; zf-f?x9+OrBhj9(6qBmT`xF7&R%q>onKD+RCOa&9jfi2xUZcBzbX(6|z-$l!?A#opC zw=Ij?(sZeCNS+?E(7H?p0cGZ5oqZwtZ#;5PChr}m7}xOG`&V5qSWxrGHXE6CQ&S!_Q@hw~w;Wx0JYX2p8HnB7ft~ zB6sT5K7?(MJL@p+u@#a=sezm+>SrCBb)0ra>xaPGK?P~T0U6GhflYDkp&R-si8YW+VP!%=N($>yr0hm$BL#EFS5^y-Q^BLG z7KCzqwSXBT?GWEy^W<1+ZY+uTyFfg7-GJFC!C%ViKBW`q*)~Z}DaC%uCRSAkcS3^b z-(w;nMiB;~QoawTz~Kb6B%L6(-VEg_=}0B>sHE$XEPan;4Z=rGp30Mbh;*CEo%Jfv zhBDt;qK?gkBRr-I#ap$;oVPNA)lB!s$lIsRA1u4)%ZWHoydv#>qOBv^v|ufvMXW~I z2lBC0bpC`gcCuLgIVc7cBgz7lTof#T#(Y_SMzJ3}IN>8MRqc%N z8TlCzqc>8|(&COt$?6`~KCnZ>SaYVVk1BY;bI%g=k+>7VHo5`<9{H2VoJ*^!R8!Qc zr>KJ~Asngbs>qT^hU}>#VmKlt)e{nWWrY622>r{|8N={y_2KOrCRX*zTT1wD#s%-kW6N%xdxePFQ(wcG+e4>U!XnKI-sI88C&#R zT0nT@ni5_mhS7vYzs0!vvMQS_x3*`1#9g5z-yr?aWmPs=+hWVO${rY3*=nw`YN)J~ ztE?bJWh)hxAupwd%GODGo-9kpy0(GO5hTmBJwL%KiMY;IlFs7L{{fw)gl7`h*(RWZ z&J5C@A}vP4xYknQeaSXT&YuDpFW5+CtW+|K75DSR7{HfTcs(#omHg6pUM%js#uHXv zo)}9>SPdg^gg8dxp+Y6RDV(Q7kvr=&Oh0s!v|7XSMwF}RR?8Xk^vMJIYnqqX@42&1 zQI9(8U~(f!b~LlTrN~?S9IecQ;H6^zOV#zjRS6kuqpQv;F`$lYrUJCb7rvCm0GX*A z>K<$B^QMDk%KyNuG5z>!4ZG59R%Ep%0ZEpJxq%dHr0nM!(y7eqgg5b^i=O$DLK0!8 zw&!~El~*t->i#S)?^A6To z1f@9_KofzvcISCiOwRPsmgm_F#)Pxb$%4LZX-IeVz6ycK$uy@mr%A)n8%GqbDaz{oNT&U`?5asPFwIA!&h^x}qBrjpTwf_hHBka=H}KM6$n*U4CV1Dj`-p z(FtgK9wjE|y#aZHWJ-qi2NSv2*$&8m<8B+`Eep$;+FjRTmEu*BjD*MnypnkeTRo|W z%sblr$GEn7zCtvRgG2iJtoD%u(xLMQ@Lo+?s?IosO!HDW(-e<5TUx1j1u~2nd|#^5 z3c;jf^T2Pm7Z#LsUX$3RVdptaZBH7}#wwkd33@&g=1acBOfcZJ0%ih}UX*9>cM&O> z7iBiotK51%8$x7|7)?r8c)(sIW`#GsPsL|NHA45=`G>1$R;-Q|k?=4dJ|p&E)f=A? z6ZiA*s0nL_##4L*YIzYj*&}L?;pdyim!#M5SLEIqBA#7G)>-#&Zz*0Ff3(iD1FI^J#YQc@NeW`%ylC~(l zDbLpS?!a|ihFBLm^VjRC`++&*o!6stZ2#o2k3M=)kT0Zm%jEW}#@m~T_!OIFh?;X5 z&j~jkj}TJqm`rS{`hME5Nm;ZD@+jM&;4`!fdI(`X?Sjsah~!ExQBRV?uY$voHSj=} zsv!v!As{P&E-&dr1Tu&4Tte(~c}N5=#Poj)1P3l2{Um;)#*7Q|u#> zAXWl-o+i*Gk|lvk29M=z76m=QjDH-Zg**?8`hc3%5*4Y2;J5!Lh#Zu#P5 z10oltjOl0Km)@gH{ywH(g;WB_(MwNC6h+;L$$;vH%cJ^71otD9BcXg#e0>?9)FG1N zd6$l2l84>YaRcudTmZ7No>EYVuLq7LdS5cU$=?0c`-@8Ng}gVVv8eZ}O7APMyodU} z2NxRrm`*3*F=TzVveg|>G!R;KCDxwr zF+*7OG)kyCKoL7v&K1NvOe`)TFK<($8xN1t@`JlKf>nI=r5d2{9!RcF4oqYrxj|)o zpQr9B5^nE!4|>^w9`jNKOYQR;>T`_TrJj&;?j@TF)T@Kf01GmUv|XZ zk-SP`_>?e2f$);Flb*Q3>*wI!3H)3#bCTcOsc<{OKRU_UMU3$Dxfk!%;*4B9`TM_V z=n(Ty4)0|BC^W$bEO%-Ho=yFhN?Bu5P|-$uAx)||=>VO?Gnrc4scCzbQ*N|~G>DvZ zYUofE9L3-ZgVEdn02fX+2)$0;)M6SBXHpx8GY*8$V(2}6Nv`36yO2pOug35DproCUxJPYU$AYAu*>yoL!;qeI3}PH5^b{tfB1-BG3gGZ`|ff zhcNfUQG8xlA>I%xRlYo}0ziECPv8{TKLjK)eR9V?@vM#m@Dwm{fNewpHDh;UWZDPb z0CaFQYydANvOTbeQry=|hoXHj@9;saW7^2S0%l(;tSZ)=_=K@JEl3|VHm3*aQ^#N> zI;DQkxUY$zU0Co8;cj($Ux!-sOZNVqG*#8!30?h(t_XW~p?%*y=o&tltGKGFW>v5Q z5UE*oGVcM(dq;otE)VsfbpCysdPwqU@VN`p4LYQgAS@Wr)p(-+3qu=s#<;{+O|+>! zQ7?8h&@1ZXylyf~*&DnU1n~I>p4LdCa2QV94Rkc))PfUcZKg1Y_nzS!S(H|x;GL!5 z1z*myVU_Xz65P|$vWC7%mE=0Gn9BZHXx;cc2UZST);=a;gmle9*qfJVwS9u6Lx;~o;P2}VH`<^m+m z46mz?!@>O_Hhs8UgTAca54_Fk>#@MkXudvr4Pw8TEBGW79()3);Y?~L!034hvStm& zz4snOtHH+!WH(OH*Qg<4BS7KJHLi7CD0LlPf^vg8o_ZAcAW zqFUynkBorE71_Nw&Te=tUCaWr%|v+QNpzHLGz^l>3Yzk9D1Zz;%o}KE@I}fAsaz8& z*G1N;!!eb6ou+eT*v-Uq*yAiK zYVqmF3SDFckgDK>o zJ+!F50~p-*EZH=*cZrA%HK=nr=xR0duTY5ghe&J<)QgO79Prs7N8Br zBCXIN3l%+zerwi2aX~B1^k1NH%}{f8P*;PeZ_&a($rMi0ivta}wh9`an7>&aeTcdd zBZ)DFGL&H^BRJJpe#+BVe%eE1Z8Xc}qC_X7 zw}F)*Q2GLAkjn#X(P~I{;ly==7f!6Hz_(Shci#yp`qy;AXA@L<0CcxRN}F|M6}PT{Bdv!Dqh6pY-$bpC#fI`hyv=&kR+7h`TN9}^Bi zooYKjD+P$%65QFPIpp)~kn=%p6#NfuI_M``i!7ByN5q*CMl==B$lg-@l$$3j{$ z>W|PL<*+qiN_rPcAgdH!-r<6m8|0FcQO3cA!Am>Hc|jWeJU>5g;OEH;UbzU zEHs0gm=TSbzht0^0a0X@ZNvzzJILYc`cUSdN{W9G;zMdVG$xf_jPnDBGp>=LRMr$> zs+370hqB>K6$=k;Tmlu7LZe4OEPODBOpIpI86DSiI55ViUrqh9E8i>q)vqvHWcRR` z)jK54xNvNs2R&l}Z(sQsb|yL!Gjvf1!6jysRHH~g#jm;i3hn@BAh`06gz`~g)O{f| z{nx92Ii~A9hbZW|tU1dV+kZ+oYcygbzAhY(*oew{-`XQXSXo!2vz%AU&mMlR#Mzxi zu%YyGLnDY&8Q`{}mP@kZ47sU+iXbihWpvh;(s^znoo!A!7g=%Mv`fE%U$ScXWv+=| zG8gbmUOvApG~)8uH#1k`B9*g&N`6%hz`AsOACk5Ld4maPdAZdtEJ8x*a<<;aknSB5KE|91QrY2e`Pj6H$!5X!wMn@~I` z1t>S8=ukdd%h++07f|-0Jc05E$~$PI<38N4NAaRmpcJEAi=syP6mI(r$|;m%D2Gvg ziLwVJh;}-js7D>j^C<72e29|18aPlaC`(biD4S63Lisw%<0ykDzeo8HMYV>phtY2V zuB9j*6hF#Vlm}4$0c9`BGbqoa{2t{z%53nFk8%sjYLpg~dr|HKt~QkQD7T_GQEo=j zp`7<3fJAu}<(DXXQ65I=LGhz>qST@kqZm=HMqwyt>KHqL@;u5@D7#S}K-r4YjPezf zTT!kCUxm0%KF+(7bEOH5%_w)EbfauR=`f>Mz=IgT9b-OUYeQ3;&qwziErB+rP7HL3 ziMocyfFEt`O>JTqV~s8CU1(&Rn%ewJ=$`sfo7mpog8R(@v8<^}Y-no?Bn%yciH7-|WVay$eZ>hZwtYZ5iE6V$=q zvBy&C&eI%1-Bicl=H`Fzxmn9RTbAJO*?lVmcQbY_-Ls`Ogn8!kaO?jbTFW~-eM{Rr zTN^~o>NGreH~MO~bOcb}-pL*SL|Id#=&K2c%f&z|yjr}^s>a4pXD7`~XNG4>U0YKl zky+B-+R@M%V5XG1#a;1Mwkv^cCHR{v)`mY;W7_ zTiV&)TGQ2ZPrwIWAC2>|q$SYM$-WzZ0{4Lqv8lanMT6KF48UVdi_5g?u0ZFemiD_9 zxz3Mkf@HGi6Pl9uBs&MrpQM{|6#Yd;5_%VS%Ih;%hdh!RZ z@Viw$C_LC1Xz>}Ks@c+ou~alMFR5{kzBc(h zKIYXE>Xea+aV}~*LjfQUHA1F0c+Jv=maatAt;v2X+X1nbAd*8)hUKAA-w(c41X_L7 z0SMUMh;I{==M~B$Yf7;uGJ=G?woR&!i^={7y0zrwZ-JTnDgrP_wm+_o`i9On8mXV4 zFWH?p0M)j)v8##K8edmi2UI0)Vx>vmD;m0j?5-4A%iF|2XB#(1MX}5T?6+*ex}_K? zuU*{c=i|_x(lgm7(OR6+S{9&5glHm3dwCbBn4RXjUD@82P%Sf)rM0v-h@4_sduU?| zdM+BTUEGzZvyay)ww?*>D?_at12B!yMp_I-wlYbPewHFJjhTn~hT0lwN-1;WWz?() zh{1Nh@_av@`OM)SrY?zx%Z`tZ75~9o-FR9ujt*5Ah;Jq!;?|ZJ!`?)Fe8wf}n?Y}R zYe#!0_ZlnO{h^is84_bPDYO-TlIXK8*=Moeuk=BjLz3|RWCse4F;FEBs8CR5$nhlH z5=><=fcT|j3pCIsSQq(eM&_jXmMrgRhlgEJ<6Tm1Hkp)qYX-s_vS?ppr^uwtO`QRZ z(dW~Bfi@awzppKX?oXy8C}|R5QmyQ#$$MXb9ZK^xw03Rw1-dc0G2%Yol8%nmjUD3B zrWSy+8q_qx{~@G-7Xy|}?Y=g6qAuK$g*Je*VMB!Oh72FCJ(A&z z*UST7+9GK&RE$*xuTTx$);T62RvVYz%GQ46_Ngw|a$iErCD>-ioKR#_eq!i2a@+jB9{NE8erRX=7(Y=N58M zUF?S$RiQxV77zS6ty>87mb8aB2j5A@K-M-j-oYyv^oQrT&s7jD$9lCtrPkBg-WcfW zLiHBvt2oBmrq;mXF6cNwcWh8qi=k<1!^p?M5!YXe1Ae)#P0<`lt1LtDfnwiR!Mrcu zoUy#CEUsKnXP}Fgh}+7mSC&@_7R8b#$6krwhPeg5*+Q{pqB!wfh*F9&YDL(FYf6NS zNZ1bxUk-EgrH0Lu(f_x49%pn>BV!wwF8Qp)^*YpTPKo=CcrGnqI^-?*K|igr6NMg9 z;VyTd#GeY0s>O-*se6&#pnVE^AiN9XM-o>OYP=2*sr!O>7j_Id=pNy_oEzVRB--do ze-&4OJ;mn|m1${=K48+IE=}`QTNQGy2nsAIH~S&)SW~f<(m0{zBC3$QI{AK;*ZAU*rYlJc`u@l(ol)M z9|10kx>Pw%qfP~$Q{m`Es$r6B52DVAI{I2l!N(ZA&Kw24RQ`6O?jY(?<$VHmhbPq~ z(4<~BhTx5x+7N4EkIB~sAAU_rB-ercZK74#&-%E3j_++#_N}QlL5qPQrDF1PgJ^)y z$0isD?pxb&8|cO=-m--e6M2g)CR11bmkeUV9f2-G-XbSX_xORbtBKa}h89CZ=jKo= zyiDFAbC)5X8aE@nZ2J<+qkfz5lUS`G$b_AO0nu#;Sm0_6cLcWF-QMXR?`^m#ukNN4 zdhzxybnfCms@28gAkI?)Z$q0QgaxPrQGdXHIgH3_U=`!&4fwS#`iU-o027FI8;lw5 z4#G9#x4T-fq2Fw1FnGAq4efj{@z>i|)>T#-;AJ79;qE4^;~~)ypxqAr0N8kZs>IrP zq@J#VJpY%F*C9<9kZ3TpK!0>+Xl!r8wnC&^tgD+b{taz6iR0C6fz1sf6sssP3H8@- zVLgSMe+?Hw<@p!oky7%Y*~1AR~cPpo2Xd z6iNnbfHV{h8z6W4Ci*2bL{}JxMF?rSZZi1WVF@%E*ex~&={M6Rbz;PmkD`ysq)|1I z@*;zwHW)B8Y;0<261R|U6jlwe5KJbX!XX|S3}i)(qM<9av9YD0i!(;pU>N>DM`xfB z>#~0Vy7|G@7XDjqf!6lBAToxt!LTU=1tbLnM#WqfF-}MfAfO>!oq;<;O?*E~ewPl? z4IPxZ|LNzSEmNNUcK%P-09HdM7Rq_1n@nFe6`7WqR+?6uHkw*ZU8ZfO9@95WkDLC* z^mEg*rX!|TOs|{XHoa>)V>)O0#Kg?g%~|GL^Nr?(X2D!!t~6JhZ#OrZx0&xZKVW{u zyvLkpFX$5x_L<;%~o-BB`;DZ9WK<%FGzR|td?Qw5#H@ok2cf0qv zf9Jlo@P7hhGJQ=C^^TD-KlvUp9gzqq}) zprpK{tK{1yKPmZn$+IQDDS54g85pxdZ&{`rOcs;VRBXBny4qvCImA z*UjHDzhnNuthOw-R6_%sE#I|#-!f=<+w!g@X2}#P1^f-F&?oc@M}*%AZwWDB6o0DD ztaGjTR+Dv!b-8twb&d7A(9;jBKei5Ak6TY#-?5&te!;fD=CW1Ts%@)n>uo{Xw``Bu z9=H9>_6ysywj;I^wzIZ#wohys_H6qX?KjyM+8y>*`&aEd?f=8R+x~s~Kihw9KVgsA znM3E$JFau&Ia(as9QQePI==0A%5lhX%yGi;?~XH$3l8R-<;-?o?_B1*&-n-ED71XF z>n7JduAjTED=-$=3T`b}TksDB0|ozF@T-EC3QiS73*Il#LeqQPrG?iO*^0Im{if)2 z(dUa-6(1|EFF8|!jXb*-LBKRqBdlwy=|`rYaLalR7WJX&qG`HWW4;O&b(494*xpjTTvca;+(qY+d30oqT z?^yO&p0NCjWuIl(@>|O*mbakmQOkJ?6SRU}xK79utU`fMD%>ip7S;)kLaVSiBNL*d85)50O)dEuDwhA<+$FMKS>!fb1{^;)aZYO(&*`mFV!^?B>7)(@;RZCab& zcD>DHbHaKnV85#|7Hzh>Z1>u}Zrf#h*!Bb4UfWZ)f3qF19k#t}d)F4jxcmj+C*zzhzhjSLCS0_q zJJgOG#}^z%$IXsg92Jh0j#@{f;||B2j=LTAJNg{oaXjjH!tpc5KF6;e2OTdvUU$5Q zaXg1{oaWRxuX29LxyWgC7C4tXS2^o3bK0DubGvhw^V`lxod4u}()mA~gU+`x(ifZ; zo#`%(>pIswm*6ULt#SEXO|EuV$hE_Dzw3Lh0oPvFPhHPpuAOwf;~H^&?3z<>ZGpL9 zCuZG`3Jw%JUl1#}P;iag;J(Sdz-@Lr-8JsD?v3uv?iP2KdxtyX{-*oy-2dSI(9H^G z7HSK#3vVv87uFXB3Oft$F8p5M4+@_ye6jF!;Yi{8h0}{PML9+JMT=lhl||J>n~Js< zJzVry(NBtAEIL&bD>_$nUGW!-Zz^6;EMUe~6}J_CwfH;5?-hTpWNpdLl7~zBOMY1L z%aRvM-Y6L@VWoJ_1qZ7(U1eHjsx^g7_n4gUT&v8j<{j`_e=>h${?yE1Uvn*H%Sz1F z-Ik{3gxypM)v%oPf*-TDNBD;DpzyHpn6O9qk?s2Ht@Q zYC$993uQuufQAjqcLN%e!DKR7O{JzX(_Z+PQOp;eIooVB=bN3FE0t!Cd4t(+7R}w} zo#tKU$IQFUPnw@HAH?iAVLoX-V;+TMDoeH{$C7VZ0KZ&n@xU+p;g`EDTak77+wuRS G2L3lh1q!YJ literal 0 HcmV?d00001 diff --git a/QScrollArea/Lib/SettingUi.py b/QScrollArea/Lib/SettingUi.py new file mode 100644 index 0000000..a9bfdff --- /dev/null +++ b/QScrollArea/Lib/SettingUi.py @@ -0,0 +1,494 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'setting.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Setting(object): + def setupUi(self, Setting): + Setting.setObjectName("Setting") + Setting.resize(498, 498) + self.horizontalLayout = QtWidgets.QHBoxLayout(Setting) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setSpacing(0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.listWidget = QtWidgets.QListWidget(Setting) + self.listWidget.setFrameShape(QtWidgets.QFrame.NoFrame) + self.listWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.listWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.listWidget.setObjectName("listWidget") + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + item = QtWidgets.QListWidgetItem() + self.listWidget.addItem(item) + self.horizontalLayout.addWidget(self.listWidget) + self.scrollArea = QtWidgets.QScrollArea(Setting) + self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) + self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, -810, 460, 1308)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents) + self.verticalLayout.setContentsMargins(35, 20, 35, 20) + self.verticalLayout.setSpacing(20) + self.verticalLayout.setObjectName("verticalLayout") + self.widget_0 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_0.setObjectName("widget_0") + self.formLayout = QtWidgets.QFormLayout(self.widget_0) + self.formLayout.setContentsMargins(0, 0, 0, 0) + self.formLayout.setObjectName("formLayout") + self.titleLabel1 = QtWidgets.QLabel(self.widget_0) + self.titleLabel1.setObjectName("titleLabel1") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel1) + self.CheckBox = QtWidgets.QCheckBox(self.widget_0) + self.CheckBox.setObjectName("CheckBox") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.CheckBox) + self.checkBox = QtWidgets.QCheckBox(self.widget_0) + self.checkBox.setChecked(True) + self.checkBox.setObjectName("checkBox") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox) + self.checkBox_2 = QtWidgets.QCheckBox(self.widget_0) + self.checkBox_2.setChecked(True) + self.checkBox_2.setObjectName("checkBox_2") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.checkBox_2) + self.checkBox_3 = QtWidgets.QCheckBox(self.widget_0) + self.checkBox_3.setObjectName("checkBox_3") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_3) + self.checkBox_4 = QtWidgets.QCheckBox(self.widget_0) + self.checkBox_4.setObjectName("checkBox_4") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.checkBox_4) + self.checkBox_5 = QtWidgets.QCheckBox(self.widget_0) + self.checkBox_5.setObjectName("checkBox_5") + self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.checkBox_5) + self.checkBox_6 = QtWidgets.QCheckBox(self.widget_0) + self.checkBox_6.setObjectName("checkBox_6") + self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.checkBox_6) + self.verticalLayout.addWidget(self.widget_0) + self.widget_1 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_1.setObjectName("widget_1") + self.formLayout_8 = QtWidgets.QFormLayout(self.widget_1) + self.formLayout_8.setContentsMargins(0, 0, 0, 0) + self.formLayout_8.setObjectName("formLayout_8") + self.titleLabel2 = QtWidgets.QLabel(self.widget_1) + self.titleLabel2.setObjectName("titleLabel2") + self.formLayout_8.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel2) + self.checkBox_26 = QtWidgets.QCheckBox(self.widget_1) + self.checkBox_26.setObjectName("checkBox_26") + self.formLayout_8.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.checkBox_26) + self.checkBox_27 = QtWidgets.QCheckBox(self.widget_1) + self.checkBox_27.setObjectName("checkBox_27") + self.formLayout_8.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox_27) + self.checkBox_28 = QtWidgets.QCheckBox(self.widget_1) + self.checkBox_28.setObjectName("checkBox_28") + self.formLayout_8.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.checkBox_28) + self.checkBox_29 = QtWidgets.QCheckBox(self.widget_1) + self.checkBox_29.setObjectName("checkBox_29") + self.formLayout_8.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_29) + self.label_10 = QtWidgets.QLabel(self.widget_1) + self.label_10.setObjectName("label_10") + self.formLayout_8.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.label_10) + self.right1 = QtWidgets.QRadioButton(self.widget_1) + self.right1.setObjectName("right1") + self.formLayout_8.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.right1) + self.right2 = QtWidgets.QRadioButton(self.widget_1) + self.right2.setChecked(True) + self.right2.setObjectName("right2") + self.formLayout_8.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.right2) + self.label_11 = QtWidgets.QLabel(self.widget_1) + self.label_11.setObjectName("label_11") + self.formLayout_8.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.label_11) + self.right3 = QtWidgets.QPushButton(self.widget_1) + self.right3.setObjectName("right3") + self.formLayout_8.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.right3) + self.verticalLayout.addWidget(self.widget_1) + self.widget_2 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_2.setObjectName("widget_2") + self.formLayout_9 = QtWidgets.QFormLayout(self.widget_2) + self.formLayout_9.setContentsMargins(0, 0, 0, 0) + self.formLayout_9.setObjectName("formLayout_9") + self.titleLabel3 = QtWidgets.QLabel(self.widget_2) + self.titleLabel3.setObjectName("titleLabel3") + self.formLayout_9.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel3) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.label_13 = QtWidgets.QLabel(self.widget_2) + self.label_13.setObjectName("label_13") + self.horizontalLayout_2.addWidget(self.label_13) + self.comboBox = QtWidgets.QComboBox(self.widget_2) + self.comboBox.setObjectName("comboBox") + self.comboBox.addItem("") + self.comboBox.addItem("") + self.comboBox.addItem("") + self.comboBox.addItem("") + self.comboBox.addItem("") + self.comboBox.addItem("") + self.horizontalLayout_2.addWidget(self.comboBox) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_2.addItem(spacerItem) + self.formLayout_9.setLayout(0, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_2) + self.checkBox_30 = QtWidgets.QCheckBox(self.widget_2) + self.checkBox_30.setObjectName("checkBox_30") + self.formLayout_9.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox_30) + self.right4 = QtWidgets.QLabel(self.widget_2) + self.right4.setObjectName("right4") + self.formLayout_9.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.right4) + self.checkBox_31 = QtWidgets.QCheckBox(self.widget_2) + self.checkBox_31.setObjectName("checkBox_31") + self.formLayout_9.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_31) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.pushButton_5 = QtWidgets.QPushButton(self.widget_2) + self.pushButton_5.setObjectName("pushButton_5") + self.horizontalLayout_3.addWidget(self.pushButton_5) + self.pushButton_4 = QtWidgets.QPushButton(self.widget_2) + self.pushButton_4.setObjectName("pushButton_4") + self.horizontalLayout_3.addWidget(self.pushButton_4) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_3.addItem(spacerItem1) + self.formLayout_9.setLayout(4, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_3) + self.verticalLayout.addWidget(self.widget_2) + self.widget_3 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_3.setObjectName("widget_3") + self.formLayout_2 = QtWidgets.QFormLayout(self.widget_3) + self.formLayout_2.setContentsMargins(0, 0, 0, 0) + self.formLayout_2.setObjectName("formLayout_2") + self.titleLabel4 = QtWidgets.QLabel(self.widget_3) + self.titleLabel4.setObjectName("titleLabel4") + self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel4) + self.CheckBox_2 = QtWidgets.QCheckBox(self.widget_3) + self.CheckBox_2.setChecked(True) + self.CheckBox_2.setObjectName("CheckBox_2") + self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.CheckBox_2) + self.checkBox_7 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_7.setObjectName("checkBox_7") + self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox_7) + self.checkBox_8 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_8.setObjectName("checkBox_8") + self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.checkBox_8) + self.checkBox_9 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_9.setChecked(True) + self.checkBox_9.setObjectName("checkBox_9") + self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_9) + self.checkBox_10 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_10.setChecked(True) + self.checkBox_10.setObjectName("checkBox_10") + self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.checkBox_10) + self.checkBox_11 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_11.setChecked(True) + self.checkBox_11.setObjectName("checkBox_11") + self.formLayout_2.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.checkBox_11) + self.checkBox_12 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_12.setChecked(True) + self.checkBox_12.setObjectName("checkBox_12") + self.formLayout_2.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.checkBox_12) + self.checkBox_13 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_13.setChecked(True) + self.checkBox_13.setObjectName("checkBox_13") + self.formLayout_2.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.checkBox_13) + self.checkBox_14 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_14.setChecked(True) + self.checkBox_14.setObjectName("checkBox_14") + self.formLayout_2.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.checkBox_14) + self.checkBox_15 = QtWidgets.QCheckBox(self.widget_3) + self.checkBox_15.setChecked(True) + self.checkBox_15.setObjectName("checkBox_15") + self.formLayout_2.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.checkBox_15) + self.verticalLayout.addWidget(self.widget_3) + self.widget_4 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_4.setObjectName("widget_4") + self.formLayout_3 = QtWidgets.QFormLayout(self.widget_4) + self.formLayout_3.setContentsMargins(0, 0, 0, 0) + self.formLayout_3.setObjectName("formLayout_3") + self.titleLabel5 = QtWidgets.QLabel(self.widget_4) + self.titleLabel5.setObjectName("titleLabel5") + self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel5) + self.checkBox_16 = QtWidgets.QCheckBox(self.widget_4) + self.checkBox_16.setChecked(True) + self.checkBox_16.setObjectName("checkBox_16") + self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.checkBox_16) + self.checkBox_17 = QtWidgets.QCheckBox(self.widget_4) + self.checkBox_17.setChecked(True) + self.checkBox_17.setObjectName("checkBox_17") + self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox_17) + self.checkBox_18 = QtWidgets.QCheckBox(self.widget_4) + self.checkBox_18.setChecked(True) + self.checkBox_18.setObjectName("checkBox_18") + self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.checkBox_18) + self.checkBox_19 = QtWidgets.QCheckBox(self.widget_4) + self.checkBox_19.setChecked(True) + self.checkBox_19.setObjectName("checkBox_19") + self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_19) + self.verticalLayout.addWidget(self.widget_4) + self.widget_5 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_5.setObjectName("widget_5") + self.formLayout_4 = QtWidgets.QFormLayout(self.widget_5) + self.formLayout_4.setContentsMargins(0, 0, 0, 0) + self.formLayout_4.setObjectName("formLayout_4") + self.titleLabel6 = QtWidgets.QLabel(self.widget_5) + self.titleLabel6.setObjectName("titleLabel6") + self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel6) + self.checkBox_20 = QtWidgets.QCheckBox(self.widget_5) + self.checkBox_20.setObjectName("checkBox_20") + self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.checkBox_20) + self.checkBox_21 = QtWidgets.QCheckBox(self.widget_5) + self.checkBox_21.setObjectName("checkBox_21") + self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox_21) + self.checkBox_22 = QtWidgets.QCheckBox(self.widget_5) + self.checkBox_22.setObjectName("checkBox_22") + self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.checkBox_22) + self.checkBox_23 = QtWidgets.QCheckBox(self.widget_5) + self.checkBox_23.setObjectName("checkBox_23") + self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_23) + self.checkBox_24 = QtWidgets.QCheckBox(self.widget_5) + self.checkBox_24.setObjectName("checkBox_24") + self.formLayout_4.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.checkBox_24) + self.right5 = QtWidgets.QLabel(self.widget_5) + self.right5.setObjectName("right5") + self.formLayout_4.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.right5) + self.label_3 = QtWidgets.QLabel(self.widget_5) + self.label_3.setObjectName("label_3") + self.formLayout_4.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.label_3) + self.label_4 = QtWidgets.QLabel(self.widget_5) + self.label_4.setObjectName("label_4") + self.formLayout_4.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.label_4) + self.radioButton = QtWidgets.QRadioButton(self.widget_5) + self.radioButton.setObjectName("radioButton") + self.formLayout_4.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.radioButton) + self.radioButton_2 = QtWidgets.QRadioButton(self.widget_5) + self.radioButton_2.setObjectName("radioButton_2") + self.formLayout_4.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.radioButton_2) + self.radioButton_3 = QtWidgets.QRadioButton(self.widget_5) + self.radioButton_3.setChecked(True) + self.radioButton_3.setObjectName("radioButton_3") + self.formLayout_4.setWidget(10, QtWidgets.QFormLayout.FieldRole, self.radioButton_3) + self.formLayout_5 = QtWidgets.QFormLayout() + self.formLayout_5.setObjectName("formLayout_5") + self.listWidgetUser = QtWidgets.QListWidget(self.widget_5) + self.listWidgetUser.setFrameShape(QtWidgets.QFrame.NoFrame) + self.listWidgetUser.setObjectName("listWidgetUser") + self.formLayout_5.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.listWidgetUser) + self.pushButton = QtWidgets.QPushButton(self.widget_5) + self.pushButton.setObjectName("pushButton") + self.formLayout_5.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.pushButton) + self.formLayout_4.setLayout(11, QtWidgets.QFormLayout.FieldRole, self.formLayout_5) + self.verticalLayout.addWidget(self.widget_5) + self.widget_6 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_6.setObjectName("widget_6") + self.formLayout_6 = QtWidgets.QFormLayout(self.widget_6) + self.formLayout_6.setContentsMargins(0, 0, 0, 0) + self.formLayout_6.setObjectName("formLayout_6") + self.titleLabel7 = QtWidgets.QLabel(self.widget_6) + self.titleLabel7.setObjectName("titleLabel7") + self.formLayout_6.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel7) + self.label_6 = QtWidgets.QLabel(self.widget_6) + self.label_6.setObjectName("label_6") + self.formLayout_6.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.label_6) + self.pushButton_2 = QtWidgets.QPushButton(self.widget_6) + self.pushButton_2.setObjectName("pushButton_2") + self.formLayout_6.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.pushButton_2) + self.verticalLayout.addWidget(self.widget_6) + self.widget_7 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_7.setObjectName("widget_7") + self.formLayout_7 = QtWidgets.QFormLayout(self.widget_7) + self.formLayout_7.setContentsMargins(0, 0, 0, 0) + self.formLayout_7.setObjectName("formLayout_7") + self.titleLabel8 = QtWidgets.QLabel(self.widget_7) + self.titleLabel8.setObjectName("titleLabel8") + self.formLayout_7.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.titleLabel8) + self.checkBox_25 = QtWidgets.QCheckBox(self.widget_7) + self.checkBox_25.setObjectName("checkBox_25") + self.formLayout_7.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.checkBox_25) + self.right6 = QtWidgets.QLabel(self.widget_7) + self.right6.setObjectName("right6") + self.formLayout_7.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.right6) + self.verticalLayout.addWidget(self.widget_7) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout.addWidget(self.scrollArea) + + self.retranslateUi(Setting) + self.listWidget.setCurrentRow(0) + QtCore.QMetaObject.connectSlotsByName(Setting) + Setting.setTabOrder(self.listWidget, self.scrollArea) + Setting.setTabOrder(self.scrollArea, self.CheckBox) + Setting.setTabOrder(self.CheckBox, self.checkBox) + Setting.setTabOrder(self.checkBox, self.checkBox_2) + Setting.setTabOrder(self.checkBox_2, self.checkBox_3) + Setting.setTabOrder(self.checkBox_3, self.checkBox_4) + Setting.setTabOrder(self.checkBox_4, self.checkBox_5) + Setting.setTabOrder(self.checkBox_5, self.checkBox_6) + Setting.setTabOrder(self.checkBox_6, self.checkBox_26) + Setting.setTabOrder(self.checkBox_26, self.checkBox_27) + Setting.setTabOrder(self.checkBox_27, self.checkBox_28) + Setting.setTabOrder(self.checkBox_28, self.checkBox_29) + Setting.setTabOrder(self.checkBox_29, self.right1) + Setting.setTabOrder(self.right1, self.right2) + Setting.setTabOrder(self.right2, self.right3) + Setting.setTabOrder(self.right3, self.comboBox) + Setting.setTabOrder(self.comboBox, self.checkBox_30) + Setting.setTabOrder(self.checkBox_30, self.checkBox_31) + Setting.setTabOrder(self.checkBox_31, self.pushButton_5) + Setting.setTabOrder(self.pushButton_5, self.pushButton_4) + Setting.setTabOrder(self.pushButton_4, self.CheckBox_2) + Setting.setTabOrder(self.CheckBox_2, self.checkBox_7) + Setting.setTabOrder(self.checkBox_7, self.checkBox_8) + Setting.setTabOrder(self.checkBox_8, self.checkBox_9) + Setting.setTabOrder(self.checkBox_9, self.checkBox_10) + Setting.setTabOrder(self.checkBox_10, self.checkBox_11) + Setting.setTabOrder(self.checkBox_11, self.checkBox_12) + Setting.setTabOrder(self.checkBox_12, self.checkBox_13) + Setting.setTabOrder(self.checkBox_13, self.checkBox_14) + Setting.setTabOrder(self.checkBox_14, self.checkBox_15) + Setting.setTabOrder(self.checkBox_15, self.checkBox_16) + Setting.setTabOrder(self.checkBox_16, self.checkBox_17) + Setting.setTabOrder(self.checkBox_17, self.checkBox_18) + Setting.setTabOrder(self.checkBox_18, self.checkBox_19) + Setting.setTabOrder(self.checkBox_19, self.checkBox_20) + Setting.setTabOrder(self.checkBox_20, self.checkBox_21) + Setting.setTabOrder(self.checkBox_21, self.checkBox_22) + Setting.setTabOrder(self.checkBox_22, self.checkBox_23) + Setting.setTabOrder(self.checkBox_23, self.checkBox_24) + Setting.setTabOrder(self.checkBox_24, self.radioButton) + Setting.setTabOrder(self.radioButton, self.radioButton_2) + Setting.setTabOrder(self.radioButton_2, self.radioButton_3) + Setting.setTabOrder(self.radioButton_3, self.listWidgetUser) + Setting.setTabOrder(self.listWidgetUser, self.pushButton) + Setting.setTabOrder(self.pushButton, self.pushButton_2) + Setting.setTabOrder(self.pushButton_2, self.checkBox_25) + + def retranslateUi(self, Setting): + _translate = QtCore.QCoreApplication.translate + Setting.setWindowTitle(_translate("Setting", "仿QQ设置面板")) + __sortingEnabled = self.listWidget.isSortingEnabled() + self.listWidget.setSortingEnabled(False) + item = self.listWidget.item(0) + item.setText(_translate("Setting", "登录")) + item = self.listWidget.item(1) + item.setText(_translate("Setting", "主面板")) + item = self.listWidget.item(2) + item.setText(_translate("Setting", "状态")) + item = self.listWidget.item(3) + item.setText(_translate("Setting", "会话窗口")) + item = self.listWidget.item(4) + item.setText(_translate("Setting", "信息展示")) + item = self.listWidget.item(5) + item.setText(_translate("Setting", "提醒")) + item = self.listWidget.item(6) + item.setText(_translate("Setting", "热键")) + item = self.listWidget.item(7) + item.setText(_translate("Setting", "显示")) + item = self.listWidget.item(8) + item.setText(_translate("Setting", "声音")) + item = self.listWidget.item(9) + item.setText(_translate("Setting", "软件更新")) + item = self.listWidget.item(10) + item.setText(_translate("Setting", "文件管理")) + item = self.listWidget.item(11) + item.setText(_translate("Setting", "文件共享")) + item = self.listWidget.item(12) + item.setText(_translate("Setting", "音视频通话")) + self.listWidget.setSortingEnabled(__sortingEnabled) + self.titleLabel1.setText(_translate("Setting", "登录:")) + self.CheckBox.setText(_translate("Setting", "开机时自动启动QQ")) + self.checkBox.setText(_translate("Setting", "启动QQ时为我自动登录")) + self.checkBox_2.setText(_translate("Setting", "总是打开登录提示")) + self.checkBox_3.setText(_translate("Setting", "离线自动启动QQ手机版(仅支持Android)")) + self.checkBox_4.setText(_translate("Setting", "登录后自动运行QQ宠物")) + self.checkBox_5.setText(_translate("Setting", "订阅“腾讯视频”,获取量身定制视频资讯")) + self.checkBox_6.setText(_translate("Setting", "订阅“每日精选”,了解最新商品资讯")) + self.titleLabel2.setText(_translate("Setting", "主面板:")) + self.checkBox_26.setText(_translate("Setting", "始终保持在其他窗口前端")) + self.checkBox_27.setText(_translate("Setting", "停靠在桌面边缘时自动隐藏")) + self.checkBox_28.setText(_translate("Setting", "在任务栏通知区域显示QQ图标")) + self.checkBox_29.setText(_translate("Setting", "显示天气")) + self.label_10.setText(_translate("Setting", "关闭主面板时:")) + self.right1.setText(_translate("Setting", "隐藏到任务栏通知区域,不退出程序")) + self.right2.setText(_translate("Setting", "退出程序")) + self.label_11.setText(_translate("Setting", "您可以自由定制适合您的面板和功能,使用QQ更有效率")) + self.right3.setText(_translate("Setting", "界面管理器")) + self.titleLabel3.setText(_translate("Setting", "状态:")) + self.label_13.setText(_translate("Setting", "登陆后状态为:")) + self.comboBox.setItemText(0, _translate("Setting", "我在线上")) + self.comboBox.setItemText(1, _translate("Setting", "Q我吧")) + self.comboBox.setItemText(2, _translate("Setting", "离开")) + self.comboBox.setItemText(3, _translate("Setting", "忙碌")) + self.comboBox.setItemText(4, _translate("Setting", "请勿打扰")) + self.comboBox.setItemText(5, _translate("Setting", "隐身")) + self.checkBox_30.setText(_translate("Setting", "运行全屏程序时切换至“忙碌“状态””")) + self.right4.setText(_translate("Setting", "仅在“Q我吧”和“我在线上”状态下生效")) + self.checkBox_31.setText(_translate("Setting", "离开、忙碌、请勿打扰时自动回复(100字以内)")) + self.pushButton_5.setText(_translate("Setting", "自动回复设置")) + self.pushButton_4.setText(_translate("Setting", "快捷回复设置")) + self.titleLabel4.setText(_translate("Setting", "会话窗口:")) + self.CheckBox_2.setText(_translate("Setting", "使用多彩气泡聊天")) + self.checkBox_7.setText(_translate("Setting", "不显示广告(会员设置项)")) + self.checkBox_8.setText(_translate("Setting", "允许来消息时自动弹出窗口")) + self.checkBox_9.setText(_translate("Setting", "默认使用腾讯视频播放视频文件")) + self.checkBox_10.setText(_translate("Setting", "允许自动播放魔法表情和超级表情")) + self.checkBox_11.setText(_translate("Setting", "允许使用QQ秀聊天随动表情")) + self.checkBox_12.setText(_translate("Setting", "总是显示好友聊天窗口侧边栏")) + self.checkBox_13.setText(_translate("Setting", "允许接收窗口抖动")) + self.checkBox_14.setText(_translate("Setting", "显示热词搜索提示")) + self.checkBox_15.setText(_translate("Setting", "显示历史消息记录")) + self.titleLabel5.setText(_translate("Setting", "信息展示:")) + self.checkBox_16.setText(_translate("Setting", "在资料卡和迷你信息卡上显示等级图标")) + self.checkBox_17.setText(_translate("Setting", "在资料卡和迷你卡上显示更新搜索")) + self.checkBox_18.setText(_translate("Setting", "在聊天窗口内展示好友的更新摘要")) + self.checkBox_19.setText(_translate("Setting", "在聊天窗口内展示好友互动标识")) + self.titleLabel6.setText(_translate("Setting", "提醒:")) + self.checkBox_20.setText(_translate("Setting", "会话消息提醒")) + self.checkBox_21.setText(_translate("Setting", "新邮件提醒")) + self.checkBox_22.setText(_translate("Setting", "启用QQ看点消息")) + self.checkBox_23.setText(_translate("Setting", "启用一声问候消息")) + self.checkBox_24.setText(_translate("Setting", "启用设备连接提醒")) + self.right5.setText(_translate("Setting", "当插入安卓设备时,提示安装或者更新QQ手机版")) + self.label_3.setText(_translate("Setting", "

您可以设置是否在屏幕右下角收到来自QQ空间的通知,进入设置

")) + self.label_4.setText(_translate("Setting", "好友上线提醒")) + self.radioButton.setText(_translate("Setting", "关闭好友上线提醒")) + self.radioButton_2.setText(_translate("Setting", "全部好友上线提醒")) + self.radioButton_3.setText(_translate("Setting", "以下好友上线提醒")) + self.pushButton.setText(_translate("Setting", "添加")) + self.titleLabel7.setText(_translate("Setting", "热键:")) + self.label_6.setText(_translate("Setting", "您可以通过点击选择要更改的热键")) + self.pushButton_2.setText(_translate("Setting", "设置热键")) + self.titleLabel8.setText(_translate("Setting", "显示:")) + self.checkBox_25.setText(_translate("Setting", "开启QQ适配屏幕DPI")) + self.right6.setText(_translate("Setting", "关闭选项后QQ将保持默认大小,设置后需要重新登录才能生效")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + Setting = QtWidgets.QWidget() + ui = Ui_Setting() + ui.setupUi(Setting) + Setting.show() + sys.exit(app.exec_()) + diff --git a/QSerialPort/Lib/UiSerialPort.py b/QSerialPort/Lib/UiSerialPort.py new file mode 100644 index 0000000..0da8c35 --- /dev/null +++ b/QSerialPort/Lib/UiSerialPort.py @@ -0,0 +1,175 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'UiSerialPort.ui' +# +# Created by: PyQt5 UI code generator 5.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_FormSerialPort(object): + def setupUi(self, FormSerialPort): + FormSerialPort.setObjectName("FormSerialPort") + FormSerialPort.resize(721, 597) + FormSerialPort.setStyleSheet("#labelStatus {\n" +" border-radius: 13px;\n" +" background-color: gray;\n" +"}\n" +"#labelStatus[isOn=\"true\"] {\n" +" background-color: green;\n" +"}") + self.gridLayout = QtWidgets.QGridLayout(FormSerialPort) + self.gridLayout.setObjectName("gridLayout") + self.groupBox = QtWidgets.QGroupBox(FormSerialPort) + self.groupBox.setTitle("") + self.groupBox.setObjectName("groupBox") + self.formLayout = QtWidgets.QFormLayout(self.groupBox) + self.formLayout.setLabelAlignment(QtCore.Qt.AlignCenter) + self.formLayout.setObjectName("formLayout") + self.label = QtWidgets.QLabel(self.groupBox) + self.label.setObjectName("label") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label) + self.comboBoxPort = QtWidgets.QComboBox(self.groupBox) + self.comboBoxPort.setObjectName("comboBoxPort") + self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.comboBoxPort) + self.label_2 = QtWidgets.QLabel(self.groupBox) + self.label_2.setObjectName("label_2") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_2) + self.comboBoxBaud = QtWidgets.QComboBox(self.groupBox) + self.comboBoxBaud.setObjectName("comboBoxBaud") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.comboBoxBaud.addItem("") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.comboBoxBaud) + self.label_3 = QtWidgets.QLabel(self.groupBox) + self.label_3.setObjectName("label_3") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3) + self.comboBoxParity = QtWidgets.QComboBox(self.groupBox) + self.comboBoxParity.setObjectName("comboBoxParity") + self.comboBoxParity.addItem("") + self.comboBoxParity.addItem("") + self.comboBoxParity.addItem("") + self.comboBoxParity.addItem("") + self.comboBoxParity.addItem("") + self.comboBoxParity.addItem("") + self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.comboBoxParity) + self.label_4 = QtWidgets.QLabel(self.groupBox) + self.label_4.setObjectName("label_4") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4) + self.comboBoxData = QtWidgets.QComboBox(self.groupBox) + self.comboBoxData.setObjectName("comboBoxData") + self.comboBoxData.addItem("") + self.comboBoxData.addItem("") + self.comboBoxData.addItem("") + self.comboBoxData.addItem("") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.comboBoxData) + self.label_5 = QtWidgets.QLabel(self.groupBox) + self.label_5.setObjectName("label_5") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_5) + self.comboBoxStop = QtWidgets.QComboBox(self.groupBox) + self.comboBoxStop.setObjectName("comboBoxStop") + self.comboBoxStop.addItem("") + self.comboBoxStop.addItem("") + self.comboBoxStop.addItem("") + self.comboBoxStop.addItem("") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.comboBoxStop) + self.buttonConnect = QtWidgets.QPushButton(self.groupBox) + self.buttonConnect.setObjectName("buttonConnect") + self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.buttonConnect) + self.labelStatus = QtWidgets.QLabel(self.groupBox) + self.labelStatus.setProperty("isOn", False) + self.labelStatus.setObjectName("labelStatus") + self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.labelStatus) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.formLayout.setItem(6, QtWidgets.QFormLayout.FieldRole, spacerItem) + self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 1) + self.textBrowser = QtWidgets.QTextBrowser(FormSerialPort) + self.textBrowser.setObjectName("textBrowser") + self.gridLayout.addWidget(self.textBrowser, 0, 1, 2, 1) + self.widget = QtWidgets.QWidget(FormSerialPort) + self.widget.setObjectName("widget") + self.verticalLayout = QtWidgets.QVBoxLayout(self.widget) + self.verticalLayout.setObjectName("verticalLayout") + self.pushButton_2 = QtWidgets.QPushButton(self.widget) + self.pushButton_2.setObjectName("pushButton_2") + self.verticalLayout.addWidget(self.pushButton_2) + self.checkBoxHexView = QtWidgets.QCheckBox(self.widget) + self.checkBoxHexView.setObjectName("checkBoxHexView") + self.verticalLayout.addWidget(self.checkBoxHexView) + self.gridLayout.addWidget(self.widget, 1, 0, 1, 1) + self.widget_2 = QtWidgets.QWidget(FormSerialPort) + self.widget_2.setObjectName("widget_2") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget_2) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.buttonSend = QtWidgets.QPushButton(self.widget_2) + self.buttonSend.setObjectName("buttonSend") + self.verticalLayout_2.addWidget(self.buttonSend) + self.checkBoxHexSend = QtWidgets.QCheckBox(self.widget_2) + self.checkBoxHexSend.setObjectName("checkBoxHexSend") + self.verticalLayout_2.addWidget(self.checkBoxHexSend) + self.gridLayout.addWidget(self.widget_2, 2, 0, 1, 1) + self.plainTextEdit = QtWidgets.QPlainTextEdit(FormSerialPort) + self.plainTextEdit.setObjectName("plainTextEdit") + self.gridLayout.addWidget(self.plainTextEdit, 2, 1, 1, 1) + self.gridLayout.setColumnStretch(1, 2) + self.gridLayout.setRowStretch(0, 3) + + self.retranslateUi(FormSerialPort) + self.comboBoxBaud.setCurrentIndex(3) + self.comboBoxData.setCurrentIndex(3) + self.pushButton_2.clicked.connect(self.textBrowser.clear) + QtCore.QMetaObject.connectSlotsByName(FormSerialPort) + + def retranslateUi(self, FormSerialPort): + _translate = QtCore.QCoreApplication.translate + FormSerialPort.setWindowTitle(_translate("FormSerialPort", "串口调试小助手")) + self.label.setText(_translate("FormSerialPort", "端 口")) + self.label_2.setText(_translate("FormSerialPort", "波特率")) + self.comboBoxBaud.setItemText(0, _translate("FormSerialPort", "1200")) + self.comboBoxBaud.setItemText(1, _translate("FormSerialPort", "2400")) + self.comboBoxBaud.setItemText(2, _translate("FormSerialPort", "4800")) + self.comboBoxBaud.setItemText(3, _translate("FormSerialPort", "9600")) + self.comboBoxBaud.setItemText(4, _translate("FormSerialPort", "19200")) + self.comboBoxBaud.setItemText(5, _translate("FormSerialPort", "38400")) + self.comboBoxBaud.setItemText(6, _translate("FormSerialPort", "57600")) + self.comboBoxBaud.setItemText(7, _translate("FormSerialPort", "115200")) + self.label_3.setText(_translate("FormSerialPort", "校验位")) + self.comboBoxParity.setItemText(0, _translate("FormSerialPort", "No")) + self.comboBoxParity.setItemText(1, _translate("FormSerialPort", "Even")) + self.comboBoxParity.setItemText(2, _translate("FormSerialPort", "Odd")) + self.comboBoxParity.setItemText(3, _translate("FormSerialPort", "Space")) + self.comboBoxParity.setItemText(4, _translate("FormSerialPort", "Mark")) + self.comboBoxParity.setItemText(5, _translate("FormSerialPort", "Unknown")) + self.label_4.setText(_translate("FormSerialPort", "数据位")) + self.comboBoxData.setItemText(0, _translate("FormSerialPort", "5")) + self.comboBoxData.setItemText(1, _translate("FormSerialPort", "6")) + self.comboBoxData.setItemText(2, _translate("FormSerialPort", "7")) + self.comboBoxData.setItemText(3, _translate("FormSerialPort", "8")) + self.label_5.setText(_translate("FormSerialPort", "停止位")) + self.comboBoxStop.setItemText(0, _translate("FormSerialPort", "OneStop")) + self.comboBoxStop.setItemText(1, _translate("FormSerialPort", "OneAndHalfStop")) + self.comboBoxStop.setItemText(2, _translate("FormSerialPort", "TwoStop")) + self.comboBoxStop.setItemText(3, _translate("FormSerialPort", "UnknownStopBits")) + self.buttonConnect.setText(_translate("FormSerialPort", "打开串口")) + self.labelStatus.setText(_translate("FormSerialPort", " ")) + self.pushButton_2.setText(_translate("FormSerialPort", "清空接收区")) + self.checkBoxHexView.setText(_translate("FormSerialPort", "十六进制显示")) + self.buttonSend.setText(_translate("FormSerialPort", "手动发送")) + self.checkBoxHexSend.setText(_translate("FormSerialPort", "十六进制发送")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + FormSerialPort = QtWidgets.QWidget() + ui = Ui_FormSerialPort() + ui.setupUi(FormSerialPort) + FormSerialPort.show() + sys.exit(app.exec_()) + diff --git a/QSerialPort/Lib/__init__.py b/QSerialPort/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QTableWidget/Lib/__init__.py b/QTableWidget/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QTableWidget/Lib/mainui.py b/QTableWidget/Lib/mainui.py new file mode 100644 index 0000000..d5f7041 --- /dev/null +++ b/QTableWidget/Lib/mainui.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'mainui.ui' +# +# Created by: PyQt5 UI code generator 5.5.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Form(object): + def setupUi(self, Form): + Form.setObjectName("Form") + Form.resize(400, 362) + self.gridLayout = QtWidgets.QGridLayout(Form) + self.gridLayout.setObjectName("gridLayout") + self.checkBoxName = QtWidgets.QCheckBox(Form) + self.checkBoxName.setObjectName("checkBoxName") + self.gridLayout.addWidget(self.checkBoxName, 0, 0, 1, 1) + self.checkBoxSeat = QtWidgets.QCheckBox(Form) + self.checkBoxSeat.setObjectName("checkBoxSeat") + self.gridLayout.addWidget(self.checkBoxSeat, 0, 2, 1, 1) + self.lineEditName = QtWidgets.QLineEdit(Form) + self.lineEditName.setObjectName("lineEditName") + self.gridLayout.addWidget(self.lineEditName, 0, 1, 1, 1) + self.tableWidget = QtWidgets.QTableWidget(Form) + self.tableWidget.setObjectName("tableWidget") + self.tableWidget.setColumnCount(10) + self.tableWidget.setRowCount(0) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(0, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(1, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(2, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(3, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(4, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(5, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(6, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(7, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(8, item) + item = QtWidgets.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(9, item) + self.gridLayout.addWidget(self.tableWidget, 3, 0, 1, 4) + self.lineEditSeat = QtWidgets.QLineEdit(Form) + self.lineEditSeat.setObjectName("lineEditSeat") + self.gridLayout.addWidget(self.lineEditSeat, 0, 3, 1, 1) + self.lineEditPort = QtWidgets.QLineEdit(Form) + self.lineEditPort.setObjectName("lineEditPort") + self.gridLayout.addWidget(self.lineEditPort, 1, 3, 1, 1) + self.checkBoxPort = QtWidgets.QCheckBox(Form) + self.checkBoxPort.setObjectName("checkBoxPort") + self.gridLayout.addWidget(self.checkBoxPort, 1, 2, 1, 1) + self.checkBoxLicense = QtWidgets.QCheckBox(Form) + self.checkBoxLicense.setObjectName("checkBoxLicense") + self.gridLayout.addWidget(self.checkBoxLicense, 1, 0, 1, 1) + self.lineEditLicense = QtWidgets.QLineEdit(Form) + self.lineEditLicense.setObjectName("lineEditLicense") + self.gridLayout.addWidget(self.lineEditLicense, 1, 1, 1, 1) + self.pushButtonQuery = QtWidgets.QPushButton(Form) + self.pushButtonQuery.setObjectName("pushButtonQuery") + self.gridLayout.addWidget(self.pushButtonQuery, 2, 0, 1, 4) + + self.retranslateUi(Form) + QtCore.QMetaObject.connectSlotsByName(Form) + + def retranslateUi(self, Form): + _translate = QtCore.QCoreApplication.translate + Form.setWindowTitle(_translate("Form", "Form")) + self.checkBoxName.setText(_translate("Form", "姓名")) + self.checkBoxSeat.setText(_translate("Form", "座位号")) + item = self.tableWidget.horizontalHeaderItem(0) + item.setText(_translate("Form", "编号")) + item = self.tableWidget.horizontalHeaderItem(1) + item.setText(_translate("Form", "姓名")) + item = self.tableWidget.horizontalHeaderItem(2) + item.setText(_translate("Form", "证件号")) + item = self.tableWidget.horizontalHeaderItem(3) + item.setText(_translate("Form", "航班号")) + item = self.tableWidget.horizontalHeaderItem(4) + item.setText(_translate("Form", "航班日期")) + item = self.tableWidget.horizontalHeaderItem(5) + item.setText(_translate("Form", "座位号")) + item = self.tableWidget.horizontalHeaderItem(6) + item.setText(_translate("Form", "登机口")) + item = self.tableWidget.horizontalHeaderItem(7) + item.setText(_translate("Form", "序号")) + item = self.tableWidget.horizontalHeaderItem(8) + item.setText(_translate("Form", "出发地")) + item = self.tableWidget.horizontalHeaderItem(9) + item.setText(_translate("Form", "目的地")) + self.checkBoxPort.setText(_translate("Form", "登机口")) + self.checkBoxLicense.setText(_translate("Form", "证件号")) + self.pushButtonQuery.setText(_translate("Form", "查询")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + Form = QtWidgets.QWidget() + ui = Ui_Form() + ui.setupUi(Form) + Form.show() + sys.exit(app.exec_()) + diff --git a/QWebView/Lib/__init__.py b/QWebView/Lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/QWebView/Lib/data_rc.py b/QWebView/Lib/data_rc.py new file mode 100644 index 0000000..59b9117 --- /dev/null +++ b/QWebView/Lib/data_rc.py @@ -0,0 +1,6225 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt5 (Qt v5.5.1) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = b"\ +\x00\x01\x78\x7c\ +\x2f\ +\x2a\x21\x20\x6a\x51\x75\x65\x72\x79\x20\x76\x31\x2e\x31\x31\x2e\ +\x30\x20\x7c\x20\x28\x63\x29\x20\x32\x30\x30\x35\x2c\x20\x32\x30\ +\x31\x34\x20\x6a\x51\x75\x65\x72\x79\x20\x46\x6f\x75\x6e\x64\x61\ +\x74\x69\x6f\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x7c\x20\x6a\x71\x75\ +\x65\x72\x79\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x20\ +\x2a\x2f\x0a\x21\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x29\x7b\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\ +\x6f\x66\x20\x6d\x6f\x64\x75\x6c\x65\x26\x26\x22\x6f\x62\x6a\x65\ +\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x6d\x6f\x64\x75\ +\x6c\x65\x2e\x65\x78\x70\x6f\x72\x74\x73\x3f\x6d\x6f\x64\x75\x6c\ +\x65\x2e\x65\x78\x70\x6f\x72\x74\x73\x3d\x61\x2e\x64\x6f\x63\x75\ +\x6d\x65\x6e\x74\x3f\x62\x28\x61\x2c\x21\x30\x29\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x21\x61\x2e\x64\ +\x6f\x63\x75\x6d\x65\x6e\x74\x29\x74\x68\x72\x6f\x77\x20\x6e\x65\ +\x77\x20\x45\x72\x72\x6f\x72\x28\x22\x6a\x51\x75\x65\x72\x79\x20\ +\x72\x65\x71\x75\x69\x72\x65\x73\x20\x61\x20\x77\x69\x6e\x64\x6f\ +\x77\x20\x77\x69\x74\x68\x20\x61\x20\x64\x6f\x63\x75\x6d\x65\x6e\ +\x74\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x28\x61\x29\x7d\ +\x3a\x62\x28\x61\x29\x7d\x28\x22\x75\x6e\x64\x65\x66\x69\x6e\x65\ +\x64\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x77\x69\x6e\x64\x6f\ +\x77\x3f\x77\x69\x6e\x64\x6f\x77\x3a\x74\x68\x69\x73\x2c\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ +\x63\x3d\x5b\x5d\x2c\x64\x3d\x63\x2e\x73\x6c\x69\x63\x65\x2c\x65\ +\x3d\x63\x2e\x63\x6f\x6e\x63\x61\x74\x2c\x66\x3d\x63\x2e\x70\x75\ +\x73\x68\x2c\x67\x3d\x63\x2e\x69\x6e\x64\x65\x78\x4f\x66\x2c\x68\ +\x3d\x7b\x7d\x2c\x69\x3d\x68\x2e\x74\x6f\x53\x74\x72\x69\x6e\x67\ +\x2c\x6a\x3d\x68\x2e\x68\x61\x73\x4f\x77\x6e\x50\x72\x6f\x70\x65\ +\x72\x74\x79\x2c\x6b\x3d\x22\x22\x2e\x74\x72\x69\x6d\x2c\x6c\x3d\ +\x7b\x7d\x2c\x6d\x3d\x22\x31\x2e\x31\x31\x2e\x30\x22\x2c\x6e\x3d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x6e\x2e\x66\x6e\x2e\x69\x6e\ +\x69\x74\x28\x61\x2c\x62\x29\x7d\x2c\x6f\x3d\x2f\x5e\x5b\x5c\x73\ +\x5c\x75\x46\x45\x46\x46\x5c\x78\x41\x30\x5d\x2b\x7c\x5b\x5c\x73\ +\x5c\x75\x46\x45\x46\x46\x5c\x78\x41\x30\x5d\x2b\x24\x2f\x67\x2c\ +\x70\x3d\x2f\x5e\x2d\x6d\x73\x2d\x2f\x2c\x71\x3d\x2f\x2d\x28\x5b\ +\x5c\x64\x61\x2d\x7a\x5d\x29\x2f\x67\x69\x2c\x72\x3d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x62\x2e\x74\x6f\x55\x70\x70\x65\x72\x43\x61\x73\x65\x28\ +\x29\x7d\x3b\x6e\x2e\x66\x6e\x3d\x6e\x2e\x70\x72\x6f\x74\x6f\x74\ +\x79\x70\x65\x3d\x7b\x6a\x71\x75\x65\x72\x79\x3a\x6d\x2c\x63\x6f\ +\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3a\x6e\x2c\x73\x65\x6c\x65\ +\x63\x74\x6f\x72\x3a\x22\x22\x2c\x6c\x65\x6e\x67\x74\x68\x3a\x30\ +\x2c\x74\x6f\x41\x72\x72\x61\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x63\x61\x6c\ +\x6c\x28\x74\x68\x69\x73\x29\x7d\x2c\x67\x65\x74\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x75\x6c\x6c\x21\x3d\x61\x3f\x30\x3e\x61\x3f\x74\x68\x69\x73\ +\x5b\x61\x2b\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x5d\x3a\ +\x74\x68\x69\x73\x5b\x61\x5d\x3a\x64\x2e\x63\x61\x6c\x6c\x28\x74\ +\x68\x69\x73\x29\x7d\x2c\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\ +\x62\x3d\x6e\x2e\x6d\x65\x72\x67\x65\x28\x74\x68\x69\x73\x2e\x63\ +\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x29\x2c\x61\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x62\x2e\x70\x72\x65\x76\x4f\x62\x6a\ +\x65\x63\x74\x3d\x74\x68\x69\x73\x2c\x62\x2e\x63\x6f\x6e\x74\x65\ +\x78\x74\x3d\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\x2c\ +\x62\x7d\x2c\x65\x61\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x65\ +\x61\x63\x68\x28\x74\x68\x69\x73\x2c\x61\x2c\x62\x29\x7d\x2c\x6d\ +\x61\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\ +\x74\x61\x63\x6b\x28\x6e\x2e\x6d\x61\x70\x28\x74\x68\x69\x73\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x61\x2e\x63\x61\x6c\x6c\x28\x62\x2c\x63\x2c\ +\x62\x29\x7d\x29\x29\x7d\x2c\x73\x6c\x69\x63\x65\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ +\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x64\x2e\ +\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\ +\x65\x6e\x74\x73\x29\x29\x7d\x2c\x66\x69\x72\x73\x74\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x74\x68\x69\x73\x2e\x65\x71\x28\x30\x29\x7d\x2c\x6c\x61\x73\x74\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x71\x28\x2d\x31\x29\x7d\x2c\ +\x65\x71\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ +\x61\x72\x20\x62\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x2c\x63\x3d\x2b\x61\x2b\x28\x30\x3e\x61\x3f\x62\x3a\x30\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\ +\x53\x74\x61\x63\x6b\x28\x63\x3e\x3d\x30\x26\x26\x62\x3e\x63\x3f\ +\x5b\x74\x68\x69\x73\x5b\x63\x5d\x5d\x3a\x5b\x5d\x29\x7d\x2c\x65\ +\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x72\x65\x76\x4f\x62\ +\x6a\x65\x63\x74\x7c\x7c\x74\x68\x69\x73\x2e\x63\x6f\x6e\x73\x74\ +\x72\x75\x63\x74\x6f\x72\x28\x6e\x75\x6c\x6c\x29\x7d\x2c\x70\x75\ +\x73\x68\x3a\x66\x2c\x73\x6f\x72\x74\x3a\x63\x2e\x73\x6f\x72\x74\ +\x2c\x73\x70\x6c\x69\x63\x65\x3a\x63\x2e\x73\x70\x6c\x69\x63\x65\ +\x7d\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x3d\x6e\x2e\x66\x6e\x2e\ +\x65\x78\x74\x65\x6e\x64\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x2c\ +\x66\x2c\x67\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x30\x5d\ +\x7c\x7c\x7b\x7d\x2c\x68\x3d\x31\x2c\x69\x3d\x61\x72\x67\x75\x6d\ +\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\x3d\x21\x31\ +\x3b\x66\x6f\x72\x28\x22\x62\x6f\x6f\x6c\x65\x61\x6e\x22\x3d\x3d\ +\x74\x79\x70\x65\x6f\x66\x20\x67\x26\x26\x28\x6a\x3d\x67\x2c\x67\ +\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x68\x5d\x7c\x7c\x7b\ +\x7d\x2c\x68\x2b\x2b\x29\x2c\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\ +\x3d\x74\x79\x70\x65\x6f\x66\x20\x67\x7c\x7c\x6e\x2e\x69\x73\x46\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x67\x29\x7c\x7c\x28\x67\x3d\x7b\ +\x7d\x29\x2c\x68\x3d\x3d\x3d\x69\x26\x26\x28\x67\x3d\x74\x68\x69\ +\x73\x2c\x68\x2d\x2d\x29\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\x29\x69\ +\x66\x28\x6e\x75\x6c\x6c\x21\x3d\x28\x65\x3d\x61\x72\x67\x75\x6d\ +\x65\x6e\x74\x73\x5b\x68\x5d\x29\x29\x66\x6f\x72\x28\x64\x20\x69\ +\x6e\x20\x65\x29\x61\x3d\x67\x5b\x64\x5d\x2c\x63\x3d\x65\x5b\x64\ +\x5d\x2c\x67\x21\x3d\x3d\x63\x26\x26\x28\x6a\x26\x26\x63\x26\x26\ +\x28\x6e\x2e\x69\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\ +\x28\x63\x29\x7c\x7c\x28\x62\x3d\x6e\x2e\x69\x73\x41\x72\x72\x61\ +\x79\x28\x63\x29\x29\x29\x3f\x28\x62\x3f\x28\x62\x3d\x21\x31\x2c\ +\x66\x3d\x61\x26\x26\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x61\ +\x29\x3f\x61\x3a\x5b\x5d\x29\x3a\x66\x3d\x61\x26\x26\x6e\x2e\x69\ +\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\x28\x61\x29\x3f\ +\x61\x3a\x7b\x7d\x2c\x67\x5b\x64\x5d\x3d\x6e\x2e\x65\x78\x74\x65\ +\x6e\x64\x28\x6a\x2c\x66\x2c\x63\x29\x29\x3a\x76\x6f\x69\x64\x20\ +\x30\x21\x3d\x3d\x63\x26\x26\x28\x67\x5b\x64\x5d\x3d\x63\x29\x29\ +\x3b\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\x2c\x6e\x2e\x65\x78\x74\ +\x65\x6e\x64\x28\x7b\x65\x78\x70\x61\x6e\x64\x6f\x3a\x22\x6a\x51\ +\x75\x65\x72\x79\x22\x2b\x28\x6d\x2b\x4d\x61\x74\x68\x2e\x72\x61\ +\x6e\x64\x6f\x6d\x28\x29\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\ +\x2f\x5c\x44\x2f\x67\x2c\x22\x22\x29\x2c\x69\x73\x52\x65\x61\x64\ +\x79\x3a\x21\x30\x2c\x65\x72\x72\x6f\x72\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x74\x68\x72\x6f\x77\x20\x6e\x65\x77\ +\x20\x45\x72\x72\x6f\x72\x28\x61\x29\x7d\x2c\x6e\x6f\x6f\x70\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x7d\x2c\x69\x73\x46\ +\x75\x6e\x63\x74\x69\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x22\x3d\x3d\x3d\x6e\x2e\x74\x79\x70\x65\x28\x61\x29\ +\x7d\x2c\x69\x73\x41\x72\x72\x61\x79\x3a\x41\x72\x72\x61\x79\x2e\ +\x69\x73\x41\x72\x72\x61\x79\x7c\x7c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x61\x72\x72\x61\ +\x79\x22\x3d\x3d\x3d\x6e\x2e\x74\x79\x70\x65\x28\x61\x29\x7d\x2c\ +\x69\x73\x57\x69\x6e\x64\x6f\x77\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ +\x21\x3d\x61\x26\x26\x61\x3d\x3d\x61\x2e\x77\x69\x6e\x64\x6f\x77\ +\x7d\x2c\x69\x73\x4e\x75\x6d\x65\x72\x69\x63\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x2d\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x61\x29\x3e\x3d\ +\x30\x7d\x2c\x69\x73\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\x74\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\ +\x20\x62\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x20\x61\x29\x72\x65\ +\x74\x75\x72\x6e\x21\x31\x3b\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\ +\x2c\x69\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ +\x3b\x69\x66\x28\x21\x61\x7c\x7c\x22\x6f\x62\x6a\x65\x63\x74\x22\ +\x21\x3d\x3d\x6e\x2e\x74\x79\x70\x65\x28\x61\x29\x7c\x7c\x61\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x6e\x2e\x69\x73\x57\x69\ +\x6e\x64\x6f\x77\x28\x61\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x31\ +\x3b\x74\x72\x79\x7b\x69\x66\x28\x61\x2e\x63\x6f\x6e\x73\x74\x72\ +\x75\x63\x74\x6f\x72\x26\x26\x21\x6a\x2e\x63\x61\x6c\x6c\x28\x61\ +\x2c\x22\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x22\x29\x26\ +\x26\x21\x6a\x2e\x63\x61\x6c\x6c\x28\x61\x2e\x63\x6f\x6e\x73\x74\ +\x72\x75\x63\x74\x6f\x72\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\ +\x2c\x22\x69\x73\x50\x72\x6f\x74\x6f\x74\x79\x70\x65\x4f\x66\x22\ +\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x63\x61\x74\x63\x68\ +\x28\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x69\x66\x28\ +\x6c\x2e\x6f\x77\x6e\x4c\x61\x73\x74\x29\x66\x6f\x72\x28\x62\x20\ +\x69\x6e\x20\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x2e\x63\x61\ +\x6c\x6c\x28\x61\x2c\x62\x29\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\ +\x20\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\ +\x30\x3d\x3d\x3d\x62\x7c\x7c\x6a\x2e\x63\x61\x6c\x6c\x28\x61\x2c\ +\x62\x29\x7d\x2c\x74\x79\x70\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ +\x3d\x3d\x61\x3f\x61\x2b\x22\x22\x3a\x22\x6f\x62\x6a\x65\x63\x74\ +\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x7c\x7c\x22\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ +\x61\x3f\x68\x5b\x69\x2e\x63\x61\x6c\x6c\x28\x61\x29\x5d\x7c\x7c\ +\x22\x6f\x62\x6a\x65\x63\x74\x22\x3a\x74\x79\x70\x65\x6f\x66\x20\ +\x61\x7d\x2c\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x6c\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x62\x26\x26\x6e\x2e\x74\ +\x72\x69\x6d\x28\x62\x29\x26\x26\x28\x61\x2e\x65\x78\x65\x63\x53\ +\x63\x72\x69\x70\x74\x7c\x7c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x62\x29\x7b\x61\x2e\x65\x76\x61\x6c\x2e\x63\x61\x6c\x6c\x28\x61\ +\x2c\x62\x29\x7d\x29\x28\x62\x29\x7d\x2c\x63\x61\x6d\x65\x6c\x43\ +\x61\x73\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\ +\x28\x70\x2c\x22\x6d\x73\x2d\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\ +\x65\x28\x71\x2c\x72\x29\x7d\x2c\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ +\x26\x26\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\ +\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3d\x3d\x3d\x62\x2e\x74\ +\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x7d\x2c\x65\x61\ +\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x3d\x30\x2c\x66\x3d\x61\ +\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x67\x3d\x73\x28\x61\x29\x3b\x69\ +\x66\x28\x63\x29\x7b\x69\x66\x28\x67\x29\x7b\x66\x6f\x72\x28\x3b\ +\x66\x3e\x65\x3b\x65\x2b\x2b\x29\x69\x66\x28\x64\x3d\x62\x2e\x61\ +\x70\x70\x6c\x79\x28\x61\x5b\x65\x5d\x2c\x63\x29\x2c\x64\x3d\x3d\ +\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x7d\x65\x6c\x73\x65\x20\x66\ +\x6f\x72\x28\x65\x20\x69\x6e\x20\x61\x29\x69\x66\x28\x64\x3d\x62\ +\x2e\x61\x70\x70\x6c\x79\x28\x61\x5b\x65\x5d\x2c\x63\x29\x2c\x64\ +\x3d\x3d\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x7d\x65\x6c\x73\x65\ +\x20\x69\x66\x28\x67\x29\x7b\x66\x6f\x72\x28\x3b\x66\x3e\x65\x3b\ +\x65\x2b\x2b\x29\x69\x66\x28\x64\x3d\x62\x2e\x63\x61\x6c\x6c\x28\ +\x61\x5b\x65\x5d\x2c\x65\x2c\x61\x5b\x65\x5d\x29\x2c\x64\x3d\x3d\ +\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x7d\x65\x6c\x73\x65\x20\x66\ +\x6f\x72\x28\x65\x20\x69\x6e\x20\x61\x29\x69\x66\x28\x64\x3d\x62\ +\x2e\x63\x61\x6c\x6c\x28\x61\x5b\x65\x5d\x2c\x65\x2c\x61\x5b\x65\ +\x5d\x29\x2c\x64\x3d\x3d\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x2c\x74\x72\x69\x6d\x3a\x6b\ +\x26\x26\x21\x6b\x2e\x63\x61\x6c\x6c\x28\x22\x5c\x75\x66\x65\x66\ +\x66\x5c\x78\x61\x30\x22\x29\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\ +\x3d\x61\x3f\x22\x22\x3a\x6b\x2e\x63\x61\x6c\x6c\x28\x61\x29\x7d\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x61\x3f\x22\x22\x3a\x28\ +\x61\x2b\x22\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x6f\x2c\ +\x22\x22\x29\x7d\x2c\x6d\x61\x6b\x65\x41\x72\x72\x61\x79\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\ +\x20\x63\x3d\x62\x7c\x7c\x5b\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x75\x6c\x6c\x21\x3d\x61\x26\x26\x28\x73\x28\x4f\x62\x6a\x65\ +\x63\x74\x28\x61\x29\x29\x3f\x6e\x2e\x6d\x65\x72\x67\x65\x28\x63\ +\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\ +\x66\x20\x61\x3f\x5b\x61\x5d\x3a\x61\x29\x3a\x66\x2e\x63\x61\x6c\ +\x6c\x28\x63\x2c\x61\x29\x29\x2c\x63\x7d\x2c\x69\x6e\x41\x72\x72\ +\x61\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x69\x66\x28\x62\x29\x7b\x69\ +\x66\x28\x67\x29\x72\x65\x74\x75\x72\x6e\x20\x67\x2e\x63\x61\x6c\ +\x6c\x28\x62\x2c\x61\x2c\x63\x29\x3b\x66\x6f\x72\x28\x64\x3d\x62\ +\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x63\x3d\x63\x3f\x30\x3e\x63\x3f\ +\x4d\x61\x74\x68\x2e\x6d\x61\x78\x28\x30\x2c\x64\x2b\x63\x29\x3a\ +\x63\x3a\x30\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x69\x66\x28\x63\ +\x20\x69\x6e\x20\x62\x26\x26\x62\x5b\x63\x5d\x3d\x3d\x3d\x61\x29\ +\x72\x65\x74\x75\x72\x6e\x20\x63\x7d\x72\x65\x74\x75\x72\x6e\x2d\ +\x31\x7d\x2c\x6d\x65\x72\x67\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x2b\x62\x2e\ +\x6c\x65\x6e\x67\x74\x68\x2c\x64\x3d\x30\x2c\x65\x3d\x61\x2e\x6c\ +\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x63\x3e\x64\x29\ +\x61\x5b\x65\x2b\x2b\x5d\x3d\x62\x5b\x64\x2b\x2b\x5d\x3b\x69\x66\ +\x28\x63\x21\x3d\x3d\x63\x29\x77\x68\x69\x6c\x65\x28\x76\x6f\x69\ +\x64\x20\x30\x21\x3d\x3d\x62\x5b\x64\x5d\x29\x61\x5b\x65\x2b\x2b\ +\x5d\x3d\x62\x5b\x64\x2b\x2b\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3d\x65\x2c\x61\x7d\x2c\x67\x72\ +\x65\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x64\x2c\x65\x3d\x5b\ +\x5d\x2c\x66\x3d\x30\x2c\x67\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\ +\x2c\x68\x3d\x21\x63\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\x29\x64\x3d\ +\x21\x62\x28\x61\x5b\x66\x5d\x2c\x66\x29\x2c\x64\x21\x3d\x3d\x68\ +\x26\x26\x65\x2e\x70\x75\x73\x68\x28\x61\x5b\x66\x5d\x29\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x65\x7d\x2c\x6d\x61\x70\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ +\x20\x64\x2c\x66\x3d\x30\x2c\x67\x3d\x61\x2e\x6c\x65\x6e\x67\x74\ +\x68\x2c\x68\x3d\x73\x28\x61\x29\x2c\x69\x3d\x5b\x5d\x3b\x69\x66\ +\x28\x68\x29\x66\x6f\x72\x28\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\x29\ +\x64\x3d\x62\x28\x61\x5b\x66\x5d\x2c\x66\x2c\x63\x29\x2c\x6e\x75\ +\x6c\x6c\x21\x3d\x64\x26\x26\x69\x2e\x70\x75\x73\x68\x28\x64\x29\ +\x3b\x65\x6c\x73\x65\x20\x66\x6f\x72\x28\x66\x20\x69\x6e\x20\x61\ +\x29\x64\x3d\x62\x28\x61\x5b\x66\x5d\x2c\x66\x2c\x63\x29\x2c\x6e\ +\x75\x6c\x6c\x21\x3d\x64\x26\x26\x69\x2e\x70\x75\x73\x68\x28\x64\ +\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x2e\x61\x70\x70\x6c\x79\ +\x28\x5b\x5d\x2c\x69\x29\x7d\x2c\x67\x75\x69\x64\x3a\x31\x2c\x70\ +\x72\x6f\x78\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x65\x2c\x66\x3b\x72\x65\x74\ +\x75\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\ +\x65\x6f\x66\x20\x62\x26\x26\x28\x66\x3d\x61\x5b\x62\x5d\x2c\x62\ +\x3d\x61\x2c\x61\x3d\x66\x29\x2c\x6e\x2e\x69\x73\x46\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x3f\x28\x63\x3d\x64\x2e\x63\x61\x6c\ +\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2c\x32\x29\x2c\x65\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x61\x2e\x61\x70\x70\x6c\x79\x28\x62\x7c\x7c\x74\x68\ +\x69\x73\x2c\x63\x2e\x63\x6f\x6e\x63\x61\x74\x28\x64\x2e\x63\x61\ +\x6c\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x29\x29\x7d\ +\x2c\x65\x2e\x67\x75\x69\x64\x3d\x61\x2e\x67\x75\x69\x64\x3d\x61\ +\x2e\x67\x75\x69\x64\x7c\x7c\x6e\x2e\x67\x75\x69\x64\x2b\x2b\x2c\ +\x65\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x6e\x6f\x77\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x2b\x6e\x65\x77\x20\x44\x61\x74\x65\x7d\x2c\x73\x75\x70\x70\x6f\ +\x72\x74\x3a\x6c\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x22\x42\ +\x6f\x6f\x6c\x65\x61\x6e\x20\x4e\x75\x6d\x62\x65\x72\x20\x53\x74\ +\x72\x69\x6e\x67\x20\x46\x75\x6e\x63\x74\x69\x6f\x6e\x20\x41\x72\ +\x72\x61\x79\x20\x44\x61\x74\x65\x20\x52\x65\x67\x45\x78\x70\x20\ +\x4f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x22\x2e\x73\x70\ +\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x68\x5b\x22\x5b\x6f\x62\x6a\x65\x63\ +\x74\x20\x22\x2b\x62\x2b\x22\x5d\x22\x5d\x3d\x62\x2e\x74\x6f\x4c\ +\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x7d\x29\x3b\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x73\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ +\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x63\x3d\x6e\x2e\x74\x79\ +\x70\x65\x28\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x22\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x3d\x63\x7c\x7c\x6e\x2e\x69\x73\ +\x57\x69\x6e\x64\x6f\x77\x28\x61\x29\x3f\x21\x31\x3a\x31\x3d\x3d\ +\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x62\x3f\x21\ +\x30\x3a\x22\x61\x72\x72\x61\x79\x22\x3d\x3d\x3d\x63\x7c\x7c\x30\ +\x3d\x3d\x3d\x62\x7c\x7c\x22\x6e\x75\x6d\x62\x65\x72\x22\x3d\x3d\ +\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\x62\x3e\x30\x26\x26\x62\ +\x2d\x31\x20\x69\x6e\x20\x61\x7d\x76\x61\x72\x20\x74\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\ +\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\x6a\x2c\ +\x6b\x2c\x6c\x2c\x6d\x2c\x6e\x2c\x6f\x2c\x70\x2c\x71\x2c\x72\x2c\ +\x73\x3d\x22\x73\x69\x7a\x7a\x6c\x65\x22\x2b\x2d\x6e\x65\x77\x20\ +\x44\x61\x74\x65\x2c\x74\x3d\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\ +\x74\x2c\x75\x3d\x30\x2c\x76\x3d\x30\x2c\x77\x3d\x65\x62\x28\x29\ +\x2c\x78\x3d\x65\x62\x28\x29\x2c\x79\x3d\x65\x62\x28\x29\x2c\x7a\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x62\x26\x26\x28\x6a\x3d\ +\x21\x30\x29\x2c\x30\x7d\x2c\x41\x3d\x22\x75\x6e\x64\x65\x66\x69\ +\x6e\x65\x64\x22\x2c\x42\x3d\x31\x3c\x3c\x33\x31\x2c\x43\x3d\x7b\ +\x7d\x2e\x68\x61\x73\x4f\x77\x6e\x50\x72\x6f\x70\x65\x72\x74\x79\ +\x2c\x44\x3d\x5b\x5d\x2c\x45\x3d\x44\x2e\x70\x6f\x70\x2c\x46\x3d\ +\x44\x2e\x70\x75\x73\x68\x2c\x47\x3d\x44\x2e\x70\x75\x73\x68\x2c\ +\x48\x3d\x44\x2e\x73\x6c\x69\x63\x65\x2c\x49\x3d\x44\x2e\x69\x6e\ +\x64\x65\x78\x4f\x66\x7c\x7c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x62\x3d\x30\x2c\x63\ +\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x63\x3e\x62\ +\x3b\x62\x2b\x2b\x29\x69\x66\x28\x74\x68\x69\x73\x5b\x62\x5d\x3d\ +\x3d\x3d\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x62\x3b\x72\x65\x74\ +\x75\x72\x6e\x2d\x31\x7d\x2c\x4a\x3d\x22\x63\x68\x65\x63\x6b\x65\ +\x64\x7c\x73\x65\x6c\x65\x63\x74\x65\x64\x7c\x61\x73\x79\x6e\x63\ +\x7c\x61\x75\x74\x6f\x66\x6f\x63\x75\x73\x7c\x61\x75\x74\x6f\x70\ +\x6c\x61\x79\x7c\x63\x6f\x6e\x74\x72\x6f\x6c\x73\x7c\x64\x65\x66\ +\x65\x72\x7c\x64\x69\x73\x61\x62\x6c\x65\x64\x7c\x68\x69\x64\x64\ +\x65\x6e\x7c\x69\x73\x6d\x61\x70\x7c\x6c\x6f\x6f\x70\x7c\x6d\x75\ +\x6c\x74\x69\x70\x6c\x65\x7c\x6f\x70\x65\x6e\x7c\x72\x65\x61\x64\ +\x6f\x6e\x6c\x79\x7c\x72\x65\x71\x75\x69\x72\x65\x64\x7c\x73\x63\ +\x6f\x70\x65\x64\x22\x2c\x4b\x3d\x22\x5b\x5c\x5c\x78\x32\x30\x5c\ +\x5c\x74\x5c\x5c\x72\x5c\x5c\x6e\x5c\x5c\x66\x5d\x22\x2c\x4c\x3d\ +\x22\x28\x3f\x3a\x5c\x5c\x5c\x5c\x2e\x7c\x5b\x5c\x5c\x77\x2d\x5d\ +\x7c\x5b\x5e\x5c\x5c\x78\x30\x30\x2d\x5c\x5c\x78\x61\x30\x5d\x29\ +\x2b\x22\x2c\x4d\x3d\x4c\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x22\ +\x77\x22\x2c\x22\x77\x23\x22\x29\x2c\x4e\x3d\x22\x5c\x5c\x5b\x22\ +\x2b\x4b\x2b\x22\x2a\x28\x22\x2b\x4c\x2b\x22\x29\x22\x2b\x4b\x2b\ +\x22\x2a\x28\x3f\x3a\x28\x5b\x2a\x5e\x24\x7c\x21\x7e\x5d\x3f\x3d\ +\x29\x22\x2b\x4b\x2b\x22\x2a\x28\x3f\x3a\x28\x5b\x27\x5c\x22\x5d\ +\x29\x28\x28\x3f\x3a\x5c\x5c\x5c\x5c\x2e\x7c\x5b\x5e\x5c\x5c\x5c\ +\x5c\x5d\x29\x2a\x3f\x29\x5c\x5c\x33\x7c\x28\x22\x2b\x4d\x2b\x22\ +\x29\x7c\x29\x7c\x29\x22\x2b\x4b\x2b\x22\x2a\x5c\x5c\x5d\x22\x2c\ +\x4f\x3d\x22\x3a\x28\x22\x2b\x4c\x2b\x22\x29\x28\x3f\x3a\x5c\x5c\ +\x28\x28\x28\x5b\x27\x5c\x22\x5d\x29\x28\x28\x3f\x3a\x5c\x5c\x5c\ +\x5c\x2e\x7c\x5b\x5e\x5c\x5c\x5c\x5c\x5d\x29\x2a\x3f\x29\x5c\x5c\ +\x33\x7c\x28\x28\x3f\x3a\x5c\x5c\x5c\x5c\x2e\x7c\x5b\x5e\x5c\x5c\ +\x5c\x5c\x28\x29\x5b\x5c\x5c\x5d\x5d\x7c\x22\x2b\x4e\x2e\x72\x65\ +\x70\x6c\x61\x63\x65\x28\x33\x2c\x38\x29\x2b\x22\x29\x2a\x29\x7c\ +\x2e\x2a\x29\x5c\x5c\x29\x7c\x29\x22\x2c\x50\x3d\x6e\x65\x77\x20\ +\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x22\x2b\x4b\x2b\x22\x2b\x7c\ +\x28\x28\x3f\x3a\x5e\x7c\x5b\x5e\x5c\x5c\x5c\x5c\x5d\x29\x28\x3f\ +\x3a\x5c\x5c\x5c\x5c\x2e\x29\x2a\x29\x22\x2b\x4b\x2b\x22\x2b\x24\ +\x22\x2c\x22\x67\x22\x29\x2c\x51\x3d\x6e\x65\x77\x20\x52\x65\x67\ +\x45\x78\x70\x28\x22\x5e\x22\x2b\x4b\x2b\x22\x2a\x2c\x22\x2b\x4b\ +\x2b\x22\x2a\x22\x29\x2c\x52\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\ +\x78\x70\x28\x22\x5e\x22\x2b\x4b\x2b\x22\x2a\x28\x5b\x3e\x2b\x7e\ +\x5d\x7c\x22\x2b\x4b\x2b\x22\x29\x22\x2b\x4b\x2b\x22\x2a\x22\x29\ +\x2c\x53\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x3d\ +\x22\x2b\x4b\x2b\x22\x2a\x28\x5b\x5e\x5c\x5c\x5d\x27\x5c\x22\x5d\ +\x2a\x3f\x29\x22\x2b\x4b\x2b\x22\x2a\x5c\x5c\x5d\x22\x2c\x22\x67\ +\x22\x29\x2c\x54\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ +\x4f\x29\x2c\x55\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ +\x22\x5e\x22\x2b\x4d\x2b\x22\x24\x22\x29\x2c\x56\x3d\x7b\x49\x44\ +\x3a\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x23\x28\ +\x22\x2b\x4c\x2b\x22\x29\x22\x29\x2c\x43\x4c\x41\x53\x53\x3a\x6e\ +\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x5c\x5c\x2e\x28\ +\x22\x2b\x4c\x2b\x22\x29\x22\x29\x2c\x54\x41\x47\x3a\x6e\x65\x77\ +\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x28\x22\x2b\x4c\x2e\x72\ +\x65\x70\x6c\x61\x63\x65\x28\x22\x77\x22\x2c\x22\x77\x2a\x22\x29\ +\x2b\x22\x29\x22\x29\x2c\x41\x54\x54\x52\x3a\x6e\x65\x77\x20\x52\ +\x65\x67\x45\x78\x70\x28\x22\x5e\x22\x2b\x4e\x29\x2c\x50\x53\x45\ +\x55\x44\x4f\x3a\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\ +\x5e\x22\x2b\x4f\x29\x2c\x43\x48\x49\x4c\x44\x3a\x6e\x65\x77\x20\ +\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x3a\x28\x6f\x6e\x6c\x79\x7c\ +\x66\x69\x72\x73\x74\x7c\x6c\x61\x73\x74\x7c\x6e\x74\x68\x7c\x6e\ +\x74\x68\x2d\x6c\x61\x73\x74\x29\x2d\x28\x63\x68\x69\x6c\x64\x7c\ +\x6f\x66\x2d\x74\x79\x70\x65\x29\x28\x3f\x3a\x5c\x5c\x28\x22\x2b\ +\x4b\x2b\x22\x2a\x28\x65\x76\x65\x6e\x7c\x6f\x64\x64\x7c\x28\x28\ +\x5b\x2b\x2d\x5d\x7c\x29\x28\x5c\x5c\x64\x2a\x29\x6e\x7c\x29\x22\ +\x2b\x4b\x2b\x22\x2a\x28\x3f\x3a\x28\x5b\x2b\x2d\x5d\x7c\x29\x22\ +\x2b\x4b\x2b\x22\x2a\x28\x5c\x5c\x64\x2b\x29\x7c\x29\x29\x22\x2b\ +\x4b\x2b\x22\x2a\x5c\x5c\x29\x7c\x29\x22\x2c\x22\x69\x22\x29\x2c\ +\x62\x6f\x6f\x6c\x3a\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ +\x22\x5e\x28\x3f\x3a\x22\x2b\x4a\x2b\x22\x29\x24\x22\x2c\x22\x69\ +\x22\x29\x2c\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\x3a\ +\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x22\x2b\x4b\ +\x2b\x22\x2a\x5b\x3e\x2b\x7e\x5d\x7c\x3a\x28\x65\x76\x65\x6e\x7c\ +\x6f\x64\x64\x7c\x65\x71\x7c\x67\x74\x7c\x6c\x74\x7c\x6e\x74\x68\ +\x7c\x66\x69\x72\x73\x74\x7c\x6c\x61\x73\x74\x29\x28\x3f\x3a\x5c\ +\x5c\x28\x22\x2b\x4b\x2b\x22\x2a\x28\x28\x3f\x3a\x2d\x5c\x5c\x64\ +\x29\x3f\x5c\x5c\x64\x2a\x29\x22\x2b\x4b\x2b\x22\x2a\x5c\x5c\x29\ +\x7c\x29\x28\x3f\x3d\x5b\x5e\x2d\x5d\x7c\x24\x29\x22\x2c\x22\x69\ +\x22\x29\x7d\x2c\x57\x3d\x2f\x5e\x28\x3f\x3a\x69\x6e\x70\x75\x74\ +\x7c\x73\x65\x6c\x65\x63\x74\x7c\x74\x65\x78\x74\x61\x72\x65\x61\ +\x7c\x62\x75\x74\x74\x6f\x6e\x29\x24\x2f\x69\x2c\x58\x3d\x2f\x5e\ +\x68\x5c\x64\x24\x2f\x69\x2c\x59\x3d\x2f\x5e\x5b\x5e\x7b\x5d\x2b\ +\x5c\x7b\x5c\x73\x2a\x5c\x5b\x6e\x61\x74\x69\x76\x65\x20\x5c\x77\ +\x2f\x2c\x5a\x3d\x2f\x5e\x28\x3f\x3a\x23\x28\x5b\x5c\x77\x2d\x5d\ +\x2b\x29\x7c\x28\x5c\x77\x2b\x29\x7c\x5c\x2e\x28\x5b\x5c\x77\x2d\ +\x5d\x2b\x29\x29\x24\x2f\x2c\x24\x3d\x2f\x5b\x2b\x7e\x5d\x2f\x2c\ +\x5f\x3d\x2f\x27\x7c\x5c\x5c\x2f\x67\x2c\x61\x62\x3d\x6e\x65\x77\ +\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5c\x5c\x5c\x5c\x28\x5b\x5c\ +\x5c\x64\x61\x2d\x66\x5d\x7b\x31\x2c\x36\x7d\x22\x2b\x4b\x2b\x22\ +\x3f\x7c\x28\x22\x2b\x4b\x2b\x22\x29\x7c\x2e\x29\x22\x2c\x22\x69\ +\x67\x22\x29\x2c\x62\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x22\x30\x78\ +\x22\x2b\x62\x2d\x36\x35\x35\x33\x36\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x64\x21\x3d\x3d\x64\x7c\x7c\x63\x3f\x62\x3a\x30\x3e\x64\x3f\ +\x53\x74\x72\x69\x6e\x67\x2e\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\ +\x6f\x64\x65\x28\x64\x2b\x36\x35\x35\x33\x36\x29\x3a\x53\x74\x72\ +\x69\x6e\x67\x2e\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65\ +\x28\x64\x3e\x3e\x31\x30\x7c\x35\x35\x32\x39\x36\x2c\x31\x30\x32\ +\x33\x26\x64\x7c\x35\x36\x33\x32\x30\x29\x7d\x3b\x74\x72\x79\x7b\ +\x47\x2e\x61\x70\x70\x6c\x79\x28\x44\x3d\x48\x2e\x63\x61\x6c\x6c\ +\x28\x74\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\x2c\x74\ +\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\x2c\x44\x5b\x74\ +\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x2e\x6c\x65\x6e\x67\ +\x74\x68\x5d\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7d\x63\x61\x74\ +\x63\x68\x28\x63\x62\x29\x7b\x47\x3d\x7b\x61\x70\x70\x6c\x79\x3a\ +\x44\x2e\x6c\x65\x6e\x67\x74\x68\x3f\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x46\x2e\x61\x70\x70\x6c\x79\x28\x61\ +\x2c\x48\x2e\x63\x61\x6c\x6c\x28\x62\x29\x29\x7d\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\ +\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x64\x3d\x30\x3b\x77\x68\ +\x69\x6c\x65\x28\x61\x5b\x63\x2b\x2b\x5d\x3d\x62\x5b\x64\x2b\x2b\ +\x5d\x29\x3b\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3d\x63\x2d\x31\x7d\ +\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x64\x62\x28\x61\x2c\ +\x62\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\ +\x2c\x69\x2c\x6a\x2c\x6d\x2c\x70\x2c\x71\x2c\x75\x2c\x76\x3b\x69\ +\x66\x28\x28\x62\x3f\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\ +\x6d\x65\x6e\x74\x7c\x7c\x62\x3a\x74\x29\x21\x3d\x3d\x6c\x26\x26\ +\x6b\x28\x62\x29\x2c\x62\x3d\x62\x7c\x7c\x6c\x2c\x64\x3d\x64\x7c\ +\x7c\x5b\x5d\x2c\x21\x61\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\x22\ +\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x72\x65\x74\x75\x72\ +\x6e\x20\x64\x3b\x69\x66\x28\x31\x21\x3d\x3d\x28\x69\x3d\x62\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x26\x26\x39\x21\x3d\x3d\x69\ +\x29\x72\x65\x74\x75\x72\x6e\x5b\x5d\x3b\x69\x66\x28\x6e\x26\x26\ +\x21\x65\x29\x7b\x69\x66\x28\x66\x3d\x5a\x2e\x65\x78\x65\x63\x28\ +\x61\x29\x29\x69\x66\x28\x68\x3d\x66\x5b\x31\x5d\x29\x7b\x69\x66\ +\x28\x39\x3d\x3d\x3d\x69\x29\x7b\x69\x66\x28\x67\x3d\x62\x2e\x67\ +\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x68\x29\ +\x2c\x21\x67\x7c\x7c\x21\x67\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ +\x64\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x64\x3b\x69\x66\x28\x67\ +\x2e\x69\x64\x3d\x3d\x3d\x68\x29\x72\x65\x74\x75\x72\x6e\x20\x64\ +\x2e\x70\x75\x73\x68\x28\x67\x29\x2c\x64\x7d\x65\x6c\x73\x65\x20\ +\x69\x66\x28\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ +\x6e\x74\x26\x26\x28\x67\x3d\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\ +\x63\x75\x6d\x65\x6e\x74\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ +\x74\x42\x79\x49\x64\x28\x68\x29\x29\x26\x26\x72\x28\x62\x2c\x67\ +\x29\x26\x26\x67\x2e\x69\x64\x3d\x3d\x3d\x68\x29\x72\x65\x74\x75\ +\x72\x6e\x20\x64\x2e\x70\x75\x73\x68\x28\x67\x29\x2c\x64\x7d\x65\ +\x6c\x73\x65\x7b\x69\x66\x28\x66\x5b\x32\x5d\x29\x72\x65\x74\x75\ +\x72\x6e\x20\x47\x2e\x61\x70\x70\x6c\x79\x28\x64\x2c\x62\x2e\x67\ +\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\ +\x61\x6d\x65\x28\x61\x29\x29\x2c\x64\x3b\x69\x66\x28\x28\x68\x3d\ +\x66\x5b\x33\x5d\x29\x26\x26\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x26\ +\x26\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ +\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\x72\x65\x74\x75\x72\x6e\ +\x20\x47\x2e\x61\x70\x70\x6c\x79\x28\x64\x2c\x62\x2e\x67\x65\x74\ +\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\ +\x61\x6d\x65\x28\x68\x29\x29\x2c\x64\x7d\x69\x66\x28\x63\x2e\x71\ +\x73\x61\x26\x26\x28\x21\x6f\x7c\x7c\x21\x6f\x2e\x74\x65\x73\x74\ +\x28\x61\x29\x29\x29\x7b\x69\x66\x28\x71\x3d\x70\x3d\x73\x2c\x75\ +\x3d\x62\x2c\x76\x3d\x39\x3d\x3d\x3d\x69\x26\x26\x61\x2c\x31\x3d\ +\x3d\x3d\x69\x26\x26\x22\x6f\x62\x6a\x65\x63\x74\x22\x21\x3d\x3d\ +\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\ +\x65\x72\x43\x61\x73\x65\x28\x29\x29\x7b\x6d\x3d\x6f\x62\x28\x61\ +\x29\x2c\x28\x70\x3d\x62\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\ +\x75\x74\x65\x28\x22\x69\x64\x22\x29\x29\x3f\x71\x3d\x70\x2e\x72\ +\x65\x70\x6c\x61\x63\x65\x28\x5f\x2c\x22\x5c\x5c\x24\x26\x22\x29\ +\x3a\x62\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ +\x22\x69\x64\x22\x2c\x71\x29\x2c\x71\x3d\x22\x5b\x69\x64\x3d\x27\ +\x22\x2b\x71\x2b\x22\x27\x5d\x20\x22\x2c\x6a\x3d\x6d\x2e\x6c\x65\ +\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6a\x2d\x2d\x29\x6d\ +\x5b\x6a\x5d\x3d\x71\x2b\x70\x62\x28\x6d\x5b\x6a\x5d\x29\x3b\x75\ +\x3d\x24\x2e\x74\x65\x73\x74\x28\x61\x29\x26\x26\x6d\x62\x28\x62\ +\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x7c\x7c\x62\x2c\ +\x76\x3d\x6d\x2e\x6a\x6f\x69\x6e\x28\x22\x2c\x22\x29\x7d\x69\x66\ +\x28\x76\x29\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x20\x47\x2e\ +\x61\x70\x70\x6c\x79\x28\x64\x2c\x75\x2e\x71\x75\x65\x72\x79\x53\ +\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\x76\x29\x29\x2c\x64\ +\x7d\x63\x61\x74\x63\x68\x28\x77\x29\x7b\x7d\x66\x69\x6e\x61\x6c\ +\x6c\x79\x7b\x70\x7c\x7c\x62\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\ +\x74\x72\x69\x62\x75\x74\x65\x28\x22\x69\x64\x22\x29\x7d\x7d\x7d\ +\x72\x65\x74\x75\x72\x6e\x20\x78\x62\x28\x61\x2e\x72\x65\x70\x6c\ +\x61\x63\x65\x28\x50\x2c\x22\x24\x31\x22\x29\x2c\x62\x2c\x64\x2c\ +\x65\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x62\x28\x29\ +\x7b\x76\x61\x72\x20\x61\x3d\x5b\x5d\x3b\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x62\x28\x63\x2c\x65\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x61\x2e\x70\x75\x73\x68\x28\x63\x2b\x22\x20\x22\x29\x3e\x64\ +\x2e\x63\x61\x63\x68\x65\x4c\x65\x6e\x67\x74\x68\x26\x26\x64\x65\ +\x6c\x65\x74\x65\x20\x62\x5b\x61\x2e\x73\x68\x69\x66\x74\x28\x29\ +\x5d\x2c\x62\x5b\x63\x2b\x22\x20\x22\x5d\x3d\x65\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x62\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x66\ +\x62\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x5b\x73\x5d\ +\x3d\x21\x30\x2c\x61\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\ +\x62\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6c\x2e\x63\x72\x65\ +\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\ +\x29\x3b\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x21\x21\x61\x28\ +\x62\x29\x7d\x63\x61\x74\x63\x68\x28\x63\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x21\x31\x7d\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x62\x2e\x70\ +\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\x62\x2e\x70\x61\x72\ +\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\ +\x69\x6c\x64\x28\x62\x29\x2c\x62\x3d\x6e\x75\x6c\x6c\x7d\x7d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x68\x62\x28\x61\x2c\x62\x29\x7b\ +\x76\x61\x72\x20\x63\x3d\x61\x2e\x73\x70\x6c\x69\x74\x28\x22\x7c\ +\x22\x29\x2c\x65\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\ +\x69\x6c\x65\x28\x65\x2d\x2d\x29\x64\x2e\x61\x74\x74\x72\x48\x61\ +\x6e\x64\x6c\x65\x5b\x63\x5b\x65\x5d\x5d\x3d\x62\x7d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x69\x62\x28\x61\x2c\x62\x29\x7b\x76\x61\ +\x72\x20\x63\x3d\x62\x26\x26\x61\x2c\x64\x3d\x63\x26\x26\x31\x3d\ +\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x31\x3d\ +\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x7e\ +\x62\x2e\x73\x6f\x75\x72\x63\x65\x49\x6e\x64\x65\x78\x7c\x7c\x42\ +\x29\x2d\x28\x7e\x61\x2e\x73\x6f\x75\x72\x63\x65\x49\x6e\x64\x65\ +\x78\x7c\x7c\x42\x29\x3b\x69\x66\x28\x64\x29\x72\x65\x74\x75\x72\ +\x6e\x20\x64\x3b\x69\x66\x28\x63\x29\x77\x68\x69\x6c\x65\x28\x63\ +\x3d\x63\x2e\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x29\x69\ +\x66\x28\x63\x3d\x3d\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x2d\x31\ +\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x3f\x31\x3a\x2d\x31\x7d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6a\x62\x28\x61\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\ +\x7b\x76\x61\x72\x20\x63\x3d\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ +\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\ +\x63\x26\x26\x62\x2e\x74\x79\x70\x65\x3d\x3d\x3d\x61\x7d\x7d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6b\x62\x28\x61\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\ +\x7b\x76\x61\x72\x20\x63\x3d\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ +\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x28\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\ +\x3d\x63\x7c\x7c\x22\x62\x75\x74\x74\x6f\x6e\x22\x3d\x3d\x3d\x63\ +\x29\x26\x26\x62\x2e\x74\x79\x70\x65\x3d\x3d\x3d\x61\x7d\x7d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6c\x62\x28\x61\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x62\x3d\x2b\x62\x2c\ +\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x2c\x64\x29\ +\x7b\x76\x61\x72\x20\x65\x2c\x66\x3d\x61\x28\x5b\x5d\x2c\x63\x2e\ +\x6c\x65\x6e\x67\x74\x68\x2c\x62\x29\x2c\x67\x3d\x66\x2e\x6c\x65\ +\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x67\x2d\x2d\x29\x63\ +\x5b\x65\x3d\x66\x5b\x67\x5d\x5d\x26\x26\x28\x63\x5b\x65\x5d\x3d\ +\x21\x28\x64\x5b\x65\x5d\x3d\x63\x5b\x65\x5d\x29\x29\x7d\x29\x7d\ +\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6d\x62\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x26\x26\x74\x79\x70\x65\x6f\ +\x66\x20\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ +\x79\x54\x61\x67\x4e\x61\x6d\x65\x21\x3d\x3d\x41\x26\x26\x61\x7d\ +\x63\x3d\x64\x62\x2e\x73\x75\x70\x70\x6f\x72\x74\x3d\x7b\x7d\x2c\ +\x66\x3d\x64\x62\x2e\x69\x73\x58\x4d\x4c\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x26\x26\ +\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\ +\x7c\x7c\x61\x29\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\ +\x6d\x65\x6e\x74\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x22\x48\ +\x54\x4d\x4c\x22\x21\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ +\x65\x3a\x21\x31\x7d\x2c\x6b\x3d\x64\x62\x2e\x73\x65\x74\x44\x6f\ +\x63\x75\x6d\x65\x6e\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x65\x3d\x61\x3f\x61\x2e\x6f\ +\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x3a\ +\x74\x2c\x67\x3d\x65\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x69\x65\ +\x77\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x21\x3d\x3d\x6c\x26\x26\ +\x39\x3d\x3d\x3d\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\ +\x65\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\ +\x74\x3f\x28\x6c\x3d\x65\x2c\x6d\x3d\x65\x2e\x64\x6f\x63\x75\x6d\ +\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x2c\x6e\x3d\x21\x66\x28\ +\x65\x29\x2c\x67\x26\x26\x67\x21\x3d\x3d\x67\x2e\x74\x6f\x70\x26\ +\x26\x28\x67\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\ +\x65\x6e\x65\x72\x3f\x67\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\ +\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x75\x6e\x6c\x6f\x61\x64\x22\ +\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6b\x28\x29\x7d\ +\x2c\x21\x31\x29\x3a\x67\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\ +\x6e\x74\x26\x26\x67\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\ +\x74\x28\x22\x6f\x6e\x75\x6e\x6c\x6f\x61\x64\x22\x2c\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6b\x28\x29\x7d\x29\x29\x2c\x63\ +\x2e\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x3d\x67\x62\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x61\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\x22\x69\ +\x22\x2c\x21\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ +\x65\x28\x22\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x22\x29\x7d\x29\ +\x2c\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ +\x54\x61\x67\x4e\x61\x6d\x65\x3d\x67\x62\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\ +\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x65\x2e\x63\x72\ +\x65\x61\x74\x65\x43\x6f\x6d\x6d\x65\x6e\x74\x28\x22\x22\x29\x29\ +\x2c\x21\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ +\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x2a\x22\x29\x2e\x6c\x65\ +\x6e\x67\x74\x68\x7d\x29\x2c\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\ +\x59\x2e\x74\x65\x73\x74\x28\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\ +\x26\x26\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x69\x6e\x6e\x65\x72\x48\ +\x54\x4d\x4c\x3d\x22\x3c\x64\x69\x76\x20\x63\x6c\x61\x73\x73\x3d\ +\x27\x61\x27\x3e\x3c\x2f\x64\x69\x76\x3e\x3c\x64\x69\x76\x20\x63\ +\x6c\x61\x73\x73\x3d\x27\x61\x20\x69\x27\x3e\x3c\x2f\x64\x69\x76\ +\x3e\x22\x2c\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2e\ +\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\x22\x69\x22\x2c\x32\x3d\ +\x3d\x3d\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ +\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x28\x22\x69\x22\x29\x2e\ +\x6c\x65\x6e\x67\x74\x68\x7d\x29\x2c\x63\x2e\x67\x65\x74\x42\x79\ +\x49\x64\x3d\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6d\x2e\x61\x70\x70\x65\x6e\ +\x64\x43\x68\x69\x6c\x64\x28\x61\x29\x2e\x69\x64\x3d\x73\x2c\x21\ +\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x4e\ +\x61\x6d\x65\x7c\x7c\x21\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\ +\x6e\x74\x73\x42\x79\x4e\x61\x6d\x65\x28\x73\x29\x2e\x6c\x65\x6e\ +\x67\x74\x68\x7d\x29\x2c\x63\x2e\x67\x65\x74\x42\x79\x49\x64\x3f\ +\x28\x64\x2e\x66\x69\x6e\x64\x2e\x49\x44\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\x74\x79\x70\x65\ +\x6f\x66\x20\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\ +\x79\x49\x64\x21\x3d\x3d\x41\x26\x26\x6e\x29\x7b\x76\x61\x72\x20\ +\x63\x3d\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\ +\x49\x64\x28\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\ +\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x3f\x5b\x63\x5d\ +\x3a\x5b\x5d\x7d\x7d\x2c\x64\x2e\x66\x69\x6c\x74\x65\x72\x2e\x49\ +\x44\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\ +\x72\x20\x62\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\x62\ +\x2c\x62\x62\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x69\ +\x64\x22\x29\x3d\x3d\x3d\x62\x7d\x7d\x29\x3a\x28\x64\x65\x6c\x65\ +\x74\x65\x20\x64\x2e\x66\x69\x6e\x64\x2e\x49\x44\x2c\x64\x2e\x66\ +\x69\x6c\x74\x65\x72\x2e\x49\x44\x3d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x72\x65\x70\ +\x6c\x61\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x3b\x72\x65\x74\x75\ +\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ +\x61\x72\x20\x63\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x67\x65\ +\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4e\x6f\x64\x65\x21\x3d\ +\x3d\x41\x26\x26\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x4e\x6f\x64\x65\x28\x22\x69\x64\x22\x29\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x63\x26\x26\x63\x2e\x76\x61\x6c\x75\x65\x3d\x3d\ +\x3d\x62\x7d\x7d\x29\x2c\x64\x2e\x66\x69\x6e\x64\x2e\x54\x41\x47\ +\x3d\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ +\x54\x61\x67\x4e\x61\x6d\x65\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x79\x70\ +\x65\x6f\x66\x20\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\ +\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x21\x3d\x3d\x41\x3f\x62\ +\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\ +\x67\x4e\x61\x6d\x65\x28\x61\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\ +\x61\x72\x20\x63\x2c\x64\x3d\x5b\x5d\x2c\x65\x3d\x30\x2c\x66\x3d\ +\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\ +\x61\x67\x4e\x61\x6d\x65\x28\x61\x29\x3b\x69\x66\x28\x22\x2a\x22\ +\x3d\x3d\x3d\x61\x29\x7b\x77\x68\x69\x6c\x65\x28\x63\x3d\x66\x5b\ +\x65\x2b\x2b\x5d\x29\x31\x3d\x3d\x3d\x63\x2e\x6e\x6f\x64\x65\x54\ +\x79\x70\x65\x26\x26\x64\x2e\x70\x75\x73\x68\x28\x63\x29\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x64\x7d\x72\x65\x74\x75\x72\x6e\x20\x66\ +\x7d\x2c\x64\x2e\x66\x69\x6e\x64\x2e\x43\x4c\x41\x53\x53\x3d\x63\ +\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x43\x6c\ +\x61\x73\x73\x4e\x61\x6d\x65\x26\x26\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x79\ +\x70\x65\x6f\x66\x20\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ +\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x21\x3d\x3d\ +\x41\x26\x26\x6e\x3f\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ +\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x28\x61\x29\ +\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x70\x3d\x5b\x5d\x2c\x6f\x3d\ +\x5b\x5d\x2c\x28\x63\x2e\x71\x73\x61\x3d\x59\x2e\x74\x65\x73\x74\ +\x28\x65\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\ +\x41\x6c\x6c\x29\x29\x26\x26\x28\x67\x62\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x61\x2e\x69\x6e\x6e\x65\x72\x48\x54\ +\x4d\x4c\x3d\x22\x3c\x73\x65\x6c\x65\x63\x74\x20\x74\x3d\x27\x27\ +\x3e\x3c\x6f\x70\x74\x69\x6f\x6e\x20\x73\x65\x6c\x65\x63\x74\x65\ +\x64\x3d\x27\x27\x3e\x3c\x2f\x6f\x70\x74\x69\x6f\x6e\x3e\x3c\x2f\ +\x73\x65\x6c\x65\x63\x74\x3e\x22\x2c\x61\x2e\x71\x75\x65\x72\x79\ +\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\x22\x5b\x74\x5e\ +\x3d\x27\x27\x5d\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x6f\ +\x2e\x70\x75\x73\x68\x28\x22\x5b\x2a\x5e\x24\x5d\x3d\x22\x2b\x4b\ +\x2b\x22\x2a\x28\x3f\x3a\x27\x27\x7c\x5c\x22\x5c\x22\x29\x22\x29\ +\x2c\x61\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\ +\x41\x6c\x6c\x28\x22\x5b\x73\x65\x6c\x65\x63\x74\x65\x64\x5d\x22\ +\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x6f\x2e\x70\x75\x73\x68\ +\x28\x22\x5c\x5c\x5b\x22\x2b\x4b\x2b\x22\x2a\x28\x3f\x3a\x76\x61\ +\x6c\x75\x65\x7c\x22\x2b\x4a\x2b\x22\x29\x22\x29\x2c\x61\x2e\x71\ +\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\ +\x22\x3a\x63\x68\x65\x63\x6b\x65\x64\x22\x29\x2e\x6c\x65\x6e\x67\ +\x74\x68\x7c\x7c\x6f\x2e\x70\x75\x73\x68\x28\x22\x3a\x63\x68\x65\ +\x63\x6b\x65\x64\x22\x29\x7d\x29\x2c\x67\x62\x28\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x65\x2e\ +\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x69\ +\x6e\x70\x75\x74\x22\x29\x3b\x62\x2e\x73\x65\x74\x41\x74\x74\x72\ +\x69\x62\x75\x74\x65\x28\x22\x74\x79\x70\x65\x22\x2c\x22\x68\x69\ +\x64\x64\x65\x6e\x22\x29\x2c\x61\x2e\x61\x70\x70\x65\x6e\x64\x43\ +\x68\x69\x6c\x64\x28\x62\x29\x2e\x73\x65\x74\x41\x74\x74\x72\x69\ +\x62\x75\x74\x65\x28\x22\x6e\x61\x6d\x65\x22\x2c\x22\x44\x22\x29\ +\x2c\x61\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\ +\x41\x6c\x6c\x28\x22\x5b\x6e\x61\x6d\x65\x3d\x64\x5d\x22\x29\x2e\ +\x6c\x65\x6e\x67\x74\x68\x26\x26\x6f\x2e\x70\x75\x73\x68\x28\x22\ +\x6e\x61\x6d\x65\x22\x2b\x4b\x2b\x22\x2a\x5b\x2a\x5e\x24\x7c\x21\ +\x7e\x5d\x3f\x3d\x22\x29\x2c\x61\x2e\x71\x75\x65\x72\x79\x53\x65\ +\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\x22\x3a\x65\x6e\x61\x62\ +\x6c\x65\x64\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x6f\x2e\ +\x70\x75\x73\x68\x28\x22\x3a\x65\x6e\x61\x62\x6c\x65\x64\x22\x2c\ +\x22\x3a\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x2c\x61\x2e\x71\ +\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\ +\x22\x2a\x2c\x3a\x78\x22\x29\x2c\x6f\x2e\x70\x75\x73\x68\x28\x22\ +\x2c\x2e\x2a\x3a\x22\x29\x7d\x29\x29\x2c\x28\x63\x2e\x6d\x61\x74\ +\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x3d\x59\x2e\x74\ +\x65\x73\x74\x28\x71\x3d\x6d\x2e\x77\x65\x62\x6b\x69\x74\x4d\x61\ +\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x7c\x7c\x6d\ +\x2e\x6d\x6f\x7a\x4d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\ +\x74\x6f\x72\x7c\x7c\x6d\x2e\x6f\x4d\x61\x74\x63\x68\x65\x73\x53\ +\x65\x6c\x65\x63\x74\x6f\x72\x7c\x7c\x6d\x2e\x6d\x73\x4d\x61\x74\ +\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x29\x29\x26\x26\ +\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x63\ +\x2e\x64\x69\x73\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x4d\x61\x74\ +\x63\x68\x3d\x71\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x22\x64\x69\x76\ +\x22\x29\x2c\x71\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x22\x5b\x73\x21\ +\x3d\x27\x27\x5d\x3a\x78\x22\x29\x2c\x70\x2e\x70\x75\x73\x68\x28\ +\x22\x21\x3d\x22\x2c\x4f\x29\x7d\x29\x2c\x6f\x3d\x6f\x2e\x6c\x65\ +\x6e\x67\x74\x68\x26\x26\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\ +\x28\x6f\x2e\x6a\x6f\x69\x6e\x28\x22\x7c\x22\x29\x29\x2c\x70\x3d\ +\x70\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x6e\x65\x77\x20\x52\x65\ +\x67\x45\x78\x70\x28\x70\x2e\x6a\x6f\x69\x6e\x28\x22\x7c\x22\x29\ +\x29\x2c\x62\x3d\x59\x2e\x74\x65\x73\x74\x28\x6d\x2e\x63\x6f\x6d\ +\x70\x61\x72\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\ +\x74\x69\x6f\x6e\x29\x2c\x72\x3d\x62\x7c\x7c\x59\x2e\x74\x65\x73\ +\x74\x28\x6d\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x29\x3f\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ +\x63\x3d\x39\x3d\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ +\x3f\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ +\x6e\x74\x3a\x61\x2c\x64\x3d\x62\x26\x26\x62\x2e\x70\x61\x72\x65\ +\x6e\x74\x4e\x6f\x64\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\ +\x3d\x3d\x64\x7c\x7c\x21\x28\x21\x64\x7c\x7c\x31\x21\x3d\x3d\x64\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x21\x28\x63\x2e\x63\ +\x6f\x6e\x74\x61\x69\x6e\x73\x3f\x63\x2e\x63\x6f\x6e\x74\x61\x69\ +\x6e\x73\x28\x64\x29\x3a\x61\x2e\x63\x6f\x6d\x70\x61\x72\x65\x44\ +\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\x26\ +\x26\x31\x36\x26\x61\x2e\x63\x6f\x6d\x70\x61\x72\x65\x44\x6f\x63\ +\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\x28\x64\x29\ +\x29\x29\x7d\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x29\x7b\x69\x66\x28\x62\x29\x77\x68\x69\x6c\x65\x28\x62\x3d\x62\ +\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x69\x66\x28\x62\ +\x3d\x3d\x3d\x61\x29\x72\x65\x74\x75\x72\x6e\x21\x30\x3b\x72\x65\ +\x74\x75\x72\x6e\x21\x31\x7d\x2c\x7a\x3d\x62\x3f\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\x61\x3d\x3d\ +\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x3d\x21\x30\x2c\x30\ +\x3b\x76\x61\x72\x20\x64\x3d\x21\x61\x2e\x63\x6f\x6d\x70\x61\x72\ +\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\ +\x6e\x2d\x21\x62\x2e\x63\x6f\x6d\x70\x61\x72\x65\x44\x6f\x63\x75\ +\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x64\x3f\x64\x3a\x28\x64\x3d\x28\x61\x2e\x6f\x77\ +\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x29\x3d\ +\x3d\x3d\x28\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ +\x6e\x74\x7c\x7c\x62\x29\x3f\x61\x2e\x63\x6f\x6d\x70\x61\x72\x65\ +\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\ +\x28\x62\x29\x3a\x31\x2c\x31\x26\x64\x7c\x7c\x21\x63\x2e\x73\x6f\ +\x72\x74\x44\x65\x74\x61\x63\x68\x65\x64\x26\x26\x62\x2e\x63\x6f\ +\x6d\x70\x61\x72\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\ +\x69\x74\x69\x6f\x6e\x28\x61\x29\x3d\x3d\x3d\x64\x3f\x61\x3d\x3d\ +\x3d\x65\x7c\x7c\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ +\x65\x6e\x74\x3d\x3d\x3d\x74\x26\x26\x72\x28\x74\x2c\x61\x29\x3f\ +\x2d\x31\x3a\x62\x3d\x3d\x3d\x65\x7c\x7c\x62\x2e\x6f\x77\x6e\x65\ +\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x3d\x3d\x3d\x74\x26\x26\x72\ +\x28\x74\x2c\x62\x29\x3f\x31\x3a\x69\x3f\x49\x2e\x63\x61\x6c\x6c\ +\x28\x69\x2c\x61\x29\x2d\x49\x2e\x63\x61\x6c\x6c\x28\x69\x2c\x62\ +\x29\x3a\x30\x3a\x34\x26\x64\x3f\x2d\x31\x3a\x31\x29\x7d\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\ +\x61\x3d\x3d\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x3d\x21\ +\x30\x2c\x30\x3b\x76\x61\x72\x20\x63\x2c\x64\x3d\x30\x2c\x66\x3d\ +\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x67\x3d\x62\ +\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x68\x3d\x5b\x61\ +\x5d\x2c\x6b\x3d\x5b\x62\x5d\x3b\x69\x66\x28\x21\x66\x7c\x7c\x21\ +\x67\x29\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x65\x3f\x2d\ +\x31\x3a\x62\x3d\x3d\x3d\x65\x3f\x31\x3a\x66\x3f\x2d\x31\x3a\x67\ +\x3f\x31\x3a\x69\x3f\x49\x2e\x63\x61\x6c\x6c\x28\x69\x2c\x61\x29\ +\x2d\x49\x2e\x63\x61\x6c\x6c\x28\x69\x2c\x62\x29\x3a\x30\x3b\x69\ +\x66\x28\x66\x3d\x3d\x3d\x67\x29\x72\x65\x74\x75\x72\x6e\x20\x69\ +\x62\x28\x61\x2c\x62\x29\x3b\x63\x3d\x61\x3b\x77\x68\x69\x6c\x65\ +\x28\x63\x3d\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\ +\x68\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x63\x29\x3b\x63\x3d\x62\ +\x3b\x77\x68\x69\x6c\x65\x28\x63\x3d\x63\x2e\x70\x61\x72\x65\x6e\ +\x74\x4e\x6f\x64\x65\x29\x6b\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\ +\x63\x29\x3b\x77\x68\x69\x6c\x65\x28\x68\x5b\x64\x5d\x3d\x3d\x3d\ +\x6b\x5b\x64\x5d\x29\x64\x2b\x2b\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x64\x3f\x69\x62\x28\x68\x5b\x64\x5d\x2c\x6b\x5b\x64\x5d\x29\x3a\ +\x68\x5b\x64\x5d\x3d\x3d\x3d\x74\x3f\x2d\x31\x3a\x6b\x5b\x64\x5d\ +\x3d\x3d\x3d\x74\x3f\x31\x3a\x30\x7d\x2c\x65\x29\x3a\x6c\x7d\x2c\ +\x64\x62\x2e\x6d\x61\x74\x63\x68\x65\x73\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x64\x62\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\x6e\x75\x6c\x6c\x2c\x62\ +\x29\x7d\x2c\x64\x62\x2e\x6d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\ +\x65\x63\x74\x6f\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x69\x66\x28\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\ +\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x29\x21\x3d\x3d\x6c\x26\ +\x26\x6b\x28\x61\x29\x2c\x62\x3d\x62\x2e\x72\x65\x70\x6c\x61\x63\ +\x65\x28\x53\x2c\x22\x3d\x27\x24\x31\x27\x5d\x22\x29\x2c\x21\x28\ +\x21\x63\x2e\x6d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\ +\x6f\x72\x7c\x7c\x21\x6e\x7c\x7c\x70\x26\x26\x70\x2e\x74\x65\x73\ +\x74\x28\x62\x29\x7c\x7c\x6f\x26\x26\x6f\x2e\x74\x65\x73\x74\x28\ +\x62\x29\x29\x29\x74\x72\x79\x7b\x76\x61\x72\x20\x64\x3d\x71\x2e\ +\x63\x61\x6c\x6c\x28\x61\x2c\x62\x29\x3b\x69\x66\x28\x64\x7c\x7c\ +\x63\x2e\x64\x69\x73\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x4d\x61\ +\x74\x63\x68\x7c\x7c\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x26\ +\x26\x31\x31\x21\x3d\x3d\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x72\x65\x74\x75\x72\x6e\ +\x20\x64\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x64\x62\x28\x62\x2c\x6c\x2c\x6e\x75\x6c\x6c\x2c\ +\x5b\x61\x5d\x29\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x30\x7d\x2c\x64\ +\x62\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x28\ +\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\ +\x7c\x61\x29\x21\x3d\x3d\x6c\x26\x26\x6b\x28\x61\x29\x2c\x72\x28\ +\x61\x2c\x62\x29\x7d\x2c\x64\x62\x2e\x61\x74\x74\x72\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x28\x61\x2e\x6f\ +\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x29\ +\x21\x3d\x3d\x6c\x26\x26\x6b\x28\x61\x29\x3b\x76\x61\x72\x20\x65\ +\x3d\x64\x2e\x61\x74\x74\x72\x48\x61\x6e\x64\x6c\x65\x5b\x62\x2e\ +\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x2c\x66\ +\x3d\x65\x26\x26\x43\x2e\x63\x61\x6c\x6c\x28\x64\x2e\x61\x74\x74\ +\x72\x48\x61\x6e\x64\x6c\x65\x2c\x62\x2e\x74\x6f\x4c\x6f\x77\x65\ +\x72\x43\x61\x73\x65\x28\x29\x29\x3f\x65\x28\x61\x2c\x62\x2c\x21\ +\x6e\x29\x3a\x76\x6f\x69\x64\x20\x30\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x66\x3f\x66\x3a\x63\x2e\ +\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x7c\x7c\x21\x6e\x3f\x61\ +\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x62\x29\ +\x3a\x28\x66\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x29\x26\x26\x66\x2e\x73\x70\ +\x65\x63\x69\x66\x69\x65\x64\x3f\x66\x2e\x76\x61\x6c\x75\x65\x3a\ +\x6e\x75\x6c\x6c\x7d\x2c\x64\x62\x2e\x65\x72\x72\x6f\x72\x3d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x74\x68\x72\x6f\x77\ +\x20\x6e\x65\x77\x20\x45\x72\x72\x6f\x72\x28\x22\x53\x79\x6e\x74\ +\x61\x78\x20\x65\x72\x72\x6f\x72\x2c\x20\x75\x6e\x72\x65\x63\x6f\ +\x67\x6e\x69\x7a\x65\x64\x20\x65\x78\x70\x72\x65\x73\x73\x69\x6f\ +\x6e\x3a\x20\x22\x2b\x61\x29\x7d\x2c\x64\x62\x2e\x75\x6e\x69\x71\ +\x75\x65\x53\x6f\x72\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x64\x3d\x5b\x5d\x2c\x65\x3d\ +\x30\x2c\x66\x3d\x30\x3b\x69\x66\x28\x6a\x3d\x21\x63\x2e\x64\x65\ +\x74\x65\x63\x74\x44\x75\x70\x6c\x69\x63\x61\x74\x65\x73\x2c\x69\ +\x3d\x21\x63\x2e\x73\x6f\x72\x74\x53\x74\x61\x62\x6c\x65\x26\x26\ +\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\x29\x2c\x61\x2e\x73\x6f\x72\ +\x74\x28\x7a\x29\x2c\x6a\x29\x7b\x77\x68\x69\x6c\x65\x28\x62\x3d\ +\x61\x5b\x66\x2b\x2b\x5d\x29\x62\x3d\x3d\x3d\x61\x5b\x66\x5d\x26\ +\x26\x28\x65\x3d\x64\x2e\x70\x75\x73\x68\x28\x66\x29\x29\x3b\x77\ +\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x61\x2e\x73\x70\x6c\x69\x63\ +\x65\x28\x64\x5b\x65\x5d\x2c\x31\x29\x7d\x72\x65\x74\x75\x72\x6e\ +\x20\x69\x3d\x6e\x75\x6c\x6c\x2c\x61\x7d\x2c\x65\x3d\x64\x62\x2e\ +\x67\x65\x74\x54\x65\x78\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x22\x22\x2c\x64\ +\x3d\x30\x2c\x66\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3b\ +\x69\x66\x28\x66\x29\x7b\x69\x66\x28\x31\x3d\x3d\x3d\x66\x7c\x7c\ +\x39\x3d\x3d\x3d\x66\x7c\x7c\x31\x31\x3d\x3d\x3d\x66\x29\x7b\x69\ +\x66\x28\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\ +\x6f\x66\x20\x61\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74\ +\x29\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x74\x65\x78\x74\x43\x6f\ +\x6e\x74\x65\x6e\x74\x3b\x66\x6f\x72\x28\x61\x3d\x61\x2e\x66\x69\ +\x72\x73\x74\x43\x68\x69\x6c\x64\x3b\x61\x3b\x61\x3d\x61\x2e\x6e\ +\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x29\x63\x2b\x3d\x65\x28\ +\x61\x29\x7d\x65\x6c\x73\x65\x20\x69\x66\x28\x33\x3d\x3d\x3d\x66\ +\x7c\x7c\x34\x3d\x3d\x3d\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x2e\x6e\x6f\x64\x65\x56\x61\x6c\x75\x65\x7d\x65\x6c\x73\x65\x20\ +\x77\x68\x69\x6c\x65\x28\x62\x3d\x61\x5b\x64\x2b\x2b\x5d\x29\x63\ +\x2b\x3d\x65\x28\x62\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x7d\ +\x2c\x64\x3d\x64\x62\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x73\x3d\ +\x7b\x63\x61\x63\x68\x65\x4c\x65\x6e\x67\x74\x68\x3a\x35\x30\x2c\ +\x63\x72\x65\x61\x74\x65\x50\x73\x65\x75\x64\x6f\x3a\x66\x62\x2c\ +\x6d\x61\x74\x63\x68\x3a\x56\x2c\x61\x74\x74\x72\x48\x61\x6e\x64\ +\x6c\x65\x3a\x7b\x7d\x2c\x66\x69\x6e\x64\x3a\x7b\x7d\x2c\x72\x65\ +\x6c\x61\x74\x69\x76\x65\x3a\x7b\x22\x3e\x22\x3a\x7b\x64\x69\x72\ +\x3a\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\x2c\x66\x69\ +\x72\x73\x74\x3a\x21\x30\x7d\x2c\x22\x20\x22\x3a\x7b\x64\x69\x72\ +\x3a\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\x7d\x2c\x22\ +\x2b\x22\x3a\x7b\x64\x69\x72\x3a\x22\x70\x72\x65\x76\x69\x6f\x75\ +\x73\x53\x69\x62\x6c\x69\x6e\x67\x22\x2c\x66\x69\x72\x73\x74\x3a\ +\x21\x30\x7d\x2c\x22\x7e\x22\x3a\x7b\x64\x69\x72\x3a\x22\x70\x72\ +\x65\x76\x69\x6f\x75\x73\x53\x69\x62\x6c\x69\x6e\x67\x22\x7d\x7d\ +\x2c\x70\x72\x65\x46\x69\x6c\x74\x65\x72\x3a\x7b\x41\x54\x54\x52\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x61\x5b\x31\x5d\x3d\x61\x5b\x31\x5d\x2e\x72\x65\ +\x70\x6c\x61\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x2c\x61\x5b\x33\ +\x5d\x3d\x28\x61\x5b\x34\x5d\x7c\x7c\x61\x5b\x35\x5d\x7c\x7c\x22\ +\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\x62\x2c\x62\x62\ +\x29\x2c\x22\x7e\x3d\x22\x3d\x3d\x3d\x61\x5b\x32\x5d\x26\x26\x28\ +\x61\x5b\x33\x5d\x3d\x22\x20\x22\x2b\x61\x5b\x33\x5d\x2b\x22\x20\ +\x22\x29\x2c\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\x2c\x34\x29\x7d\ +\x2c\x43\x48\x49\x4c\x44\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x5b\x31\x5d\x3d\x61\ +\x5b\x31\x5d\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ +\x29\x2c\x22\x6e\x74\x68\x22\x3d\x3d\x3d\x61\x5b\x31\x5d\x2e\x73\ +\x6c\x69\x63\x65\x28\x30\x2c\x33\x29\x3f\x28\x61\x5b\x33\x5d\x7c\ +\x7c\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\x61\x5b\x30\x5d\x29\x2c\ +\x61\x5b\x34\x5d\x3d\x2b\x28\x61\x5b\x34\x5d\x3f\x61\x5b\x35\x5d\ +\x2b\x28\x61\x5b\x36\x5d\x7c\x7c\x31\x29\x3a\x32\x2a\x28\x22\x65\ +\x76\x65\x6e\x22\x3d\x3d\x3d\x61\x5b\x33\x5d\x7c\x7c\x22\x6f\x64\ +\x64\x22\x3d\x3d\x3d\x61\x5b\x33\x5d\x29\x29\x2c\x61\x5b\x35\x5d\ +\x3d\x2b\x28\x61\x5b\x37\x5d\x2b\x61\x5b\x38\x5d\x7c\x7c\x22\x6f\ +\x64\x64\x22\x3d\x3d\x3d\x61\x5b\x33\x5d\x29\x29\x3a\x61\x5b\x33\ +\x5d\x26\x26\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\x61\x5b\x30\x5d\ +\x29\x2c\x61\x7d\x2c\x50\x53\x45\x55\x44\x4f\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\ +\x21\x61\x5b\x35\x5d\x26\x26\x61\x5b\x32\x5d\x3b\x72\x65\x74\x75\ +\x72\x6e\x20\x56\x2e\x43\x48\x49\x4c\x44\x2e\x74\x65\x73\x74\x28\ +\x61\x5b\x30\x5d\x29\x3f\x6e\x75\x6c\x6c\x3a\x28\x61\x5b\x33\x5d\ +\x26\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x61\x5b\x34\x5d\x3f\ +\x61\x5b\x32\x5d\x3d\x61\x5b\x34\x5d\x3a\x63\x26\x26\x54\x2e\x74\ +\x65\x73\x74\x28\x63\x29\x26\x26\x28\x62\x3d\x6f\x62\x28\x63\x2c\ +\x21\x30\x29\x29\x26\x26\x28\x62\x3d\x63\x2e\x69\x6e\x64\x65\x78\ +\x4f\x66\x28\x22\x29\x22\x2c\x63\x2e\x6c\x65\x6e\x67\x74\x68\x2d\ +\x62\x29\x2d\x63\x2e\x6c\x65\x6e\x67\x74\x68\x29\x26\x26\x28\x61\ +\x5b\x30\x5d\x3d\x61\x5b\x30\x5d\x2e\x73\x6c\x69\x63\x65\x28\x30\ +\x2c\x62\x29\x2c\x61\x5b\x32\x5d\x3d\x63\x2e\x73\x6c\x69\x63\x65\ +\x28\x30\x2c\x62\x29\x29\x2c\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\ +\x2c\x33\x29\x29\x7d\x7d\x2c\x66\x69\x6c\x74\x65\x72\x3a\x7b\x54\ +\x41\x47\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ +\x61\x72\x20\x62\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\ +\x62\x2c\x62\x62\x29\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\ +\x65\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\x22\x2a\x22\x3d\x3d\x3d\ +\x61\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x21\x30\x7d\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x6e\x6f\x64\x65\ +\x4e\x61\x6d\x65\x26\x26\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ +\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3d\x3d\ +\x3d\x62\x7d\x7d\x2c\x43\x4c\x41\x53\x53\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x77\x5b\x61\ +\x2b\x22\x20\x22\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x7c\x7c\ +\x28\x62\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x28\ +\x5e\x7c\x22\x2b\x4b\x2b\x22\x29\x22\x2b\x61\x2b\x22\x28\x22\x2b\ +\x4b\x2b\x22\x7c\x24\x29\x22\x29\x29\x26\x26\x77\x28\x61\x2c\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x62\x2e\x74\x65\x73\x74\x28\x22\x73\x74\x72\x69\x6e\x67\ +\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x63\x6c\x61\x73\ +\x73\x4e\x61\x6d\x65\x26\x26\x61\x2e\x63\x6c\x61\x73\x73\x4e\x61\ +\x6d\x65\x7c\x7c\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x67\x65\x74\ +\x41\x74\x74\x72\x69\x62\x75\x74\x65\x21\x3d\x3d\x41\x26\x26\x61\ +\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\ +\x6c\x61\x73\x73\x22\x29\x7c\x7c\x22\x22\x29\x7d\x29\x7d\x2c\x41\ +\x54\x54\x52\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x64\x62\x2e\ +\x61\x74\x74\x72\x28\x64\x2c\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x75\x6c\x6c\x3d\x3d\x65\x3f\x22\x21\x3d\x22\x3d\x3d\x3d\ +\x62\x3a\x62\x3f\x28\x65\x2b\x3d\x22\x22\x2c\x22\x3d\x22\x3d\x3d\ +\x3d\x62\x3f\x65\x3d\x3d\x3d\x63\x3a\x22\x21\x3d\x22\x3d\x3d\x3d\ +\x62\x3f\x65\x21\x3d\x3d\x63\x3a\x22\x5e\x3d\x22\x3d\x3d\x3d\x62\ +\x3f\x63\x26\x26\x30\x3d\x3d\x3d\x65\x2e\x69\x6e\x64\x65\x78\x4f\ +\x66\x28\x63\x29\x3a\x22\x2a\x3d\x22\x3d\x3d\x3d\x62\x3f\x63\x26\ +\x26\x65\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x63\x29\x3e\x2d\x31\ +\x3a\x22\x24\x3d\x22\x3d\x3d\x3d\x62\x3f\x63\x26\x26\x65\x2e\x73\ +\x6c\x69\x63\x65\x28\x2d\x63\x2e\x6c\x65\x6e\x67\x74\x68\x29\x3d\ +\x3d\x3d\x63\x3a\x22\x7e\x3d\x22\x3d\x3d\x3d\x62\x3f\x28\x22\x20\ +\x22\x2b\x65\x2b\x22\x20\x22\x29\x2e\x69\x6e\x64\x65\x78\x4f\x66\ +\x28\x63\x29\x3e\x2d\x31\x3a\x22\x7c\x3d\x22\x3d\x3d\x3d\x62\x3f\ +\x65\x3d\x3d\x3d\x63\x7c\x7c\x65\x2e\x73\x6c\x69\x63\x65\x28\x30\ +\x2c\x63\x2e\x6c\x65\x6e\x67\x74\x68\x2b\x31\x29\x3d\x3d\x3d\x63\ +\x2b\x22\x2d\x22\x3a\x21\x31\x29\x3a\x21\x30\x7d\x7d\x2c\x43\x48\ +\x49\x4c\x44\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x3d\x22\x6e\ +\x74\x68\x22\x21\x3d\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\x2c\ +\x33\x29\x2c\x67\x3d\x22\x6c\x61\x73\x74\x22\x21\x3d\x3d\x61\x2e\ +\x73\x6c\x69\x63\x65\x28\x2d\x34\x29\x2c\x68\x3d\x22\x6f\x66\x2d\ +\x74\x79\x70\x65\x22\x3d\x3d\x3d\x62\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x31\x3d\x3d\x3d\x64\x26\x26\x30\x3d\x3d\x3d\x65\x3f\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x21\x21\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x7d\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x69\x29\x7b\ +\x76\x61\x72\x20\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x2c\x6e\x2c\x6f\x2c\ +\x70\x3d\x66\x21\x3d\x3d\x67\x3f\x22\x6e\x65\x78\x74\x53\x69\x62\ +\x6c\x69\x6e\x67\x22\x3a\x22\x70\x72\x65\x76\x69\x6f\x75\x73\x53\ +\x69\x62\x6c\x69\x6e\x67\x22\x2c\x71\x3d\x62\x2e\x70\x61\x72\x65\ +\x6e\x74\x4e\x6f\x64\x65\x2c\x72\x3d\x68\x26\x26\x62\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ +\x73\x65\x28\x29\x2c\x74\x3d\x21\x69\x26\x26\x21\x68\x3b\x69\x66\ +\x28\x71\x29\x7b\x69\x66\x28\x66\x29\x7b\x77\x68\x69\x6c\x65\x28\ +\x70\x29\x7b\x6c\x3d\x62\x3b\x77\x68\x69\x6c\x65\x28\x6c\x3d\x6c\ +\x5b\x70\x5d\x29\x69\x66\x28\x68\x3f\x6c\x2e\x6e\x6f\x64\x65\x4e\ +\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ +\x29\x3d\x3d\x3d\x72\x3a\x31\x3d\x3d\x3d\x6c\x2e\x6e\x6f\x64\x65\ +\x54\x79\x70\x65\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\x6f\x3d\ +\x70\x3d\x22\x6f\x6e\x6c\x79\x22\x3d\x3d\x3d\x61\x26\x26\x21\x6f\ +\x26\x26\x22\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x22\x7d\ +\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x69\x66\x28\x6f\x3d\x5b\x67\ +\x3f\x71\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x3a\x71\x2e\ +\x6c\x61\x73\x74\x43\x68\x69\x6c\x64\x5d\x2c\x67\x26\x26\x74\x29\ +\x7b\x6b\x3d\x71\x5b\x73\x5d\x7c\x7c\x28\x71\x5b\x73\x5d\x3d\x7b\ +\x7d\x29\x2c\x6a\x3d\x6b\x5b\x61\x5d\x7c\x7c\x5b\x5d\x2c\x6e\x3d\ +\x6a\x5b\x30\x5d\x3d\x3d\x3d\x75\x26\x26\x6a\x5b\x31\x5d\x2c\x6d\ +\x3d\x6a\x5b\x30\x5d\x3d\x3d\x3d\x75\x26\x26\x6a\x5b\x32\x5d\x2c\ +\x6c\x3d\x6e\x26\x26\x71\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\ +\x73\x5b\x6e\x5d\x3b\x77\x68\x69\x6c\x65\x28\x6c\x3d\x2b\x2b\x6e\ +\x26\x26\x6c\x26\x26\x6c\x5b\x70\x5d\x7c\x7c\x28\x6d\x3d\x6e\x3d\ +\x30\x29\x7c\x7c\x6f\x2e\x70\x6f\x70\x28\x29\x29\x69\x66\x28\x31\ +\x3d\x3d\x3d\x6c\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x2b\ +\x2b\x6d\x26\x26\x6c\x3d\x3d\x3d\x62\x29\x7b\x6b\x5b\x61\x5d\x3d\ +\x5b\x75\x2c\x6e\x2c\x6d\x5d\x3b\x62\x72\x65\x61\x6b\x7d\x7d\x65\ +\x6c\x73\x65\x20\x69\x66\x28\x74\x26\x26\x28\x6a\x3d\x28\x62\x5b\ +\x73\x5d\x7c\x7c\x28\x62\x5b\x73\x5d\x3d\x7b\x7d\x29\x29\x5b\x61\ +\x5d\x29\x26\x26\x6a\x5b\x30\x5d\x3d\x3d\x3d\x75\x29\x6d\x3d\x6a\ +\x5b\x31\x5d\x3b\x65\x6c\x73\x65\x20\x77\x68\x69\x6c\x65\x28\x6c\ +\x3d\x2b\x2b\x6e\x26\x26\x6c\x26\x26\x6c\x5b\x70\x5d\x7c\x7c\x28\ +\x6d\x3d\x6e\x3d\x30\x29\x7c\x7c\x6f\x2e\x70\x6f\x70\x28\x29\x29\ +\x69\x66\x28\x28\x68\x3f\x6c\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ +\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3d\x3d\ +\x3d\x72\x3a\x31\x3d\x3d\x3d\x6c\x2e\x6e\x6f\x64\x65\x54\x79\x70\ +\x65\x29\x26\x26\x2b\x2b\x6d\x26\x26\x28\x74\x26\x26\x28\x28\x6c\ +\x5b\x73\x5d\x7c\x7c\x28\x6c\x5b\x73\x5d\x3d\x7b\x7d\x29\x29\x5b\ +\x61\x5d\x3d\x5b\x75\x2c\x6d\x5d\x29\x2c\x6c\x3d\x3d\x3d\x62\x29\ +\x29\x62\x72\x65\x61\x6b\x3b\x72\x65\x74\x75\x72\x6e\x20\x6d\x2d\ +\x3d\x65\x2c\x6d\x3d\x3d\x3d\x64\x7c\x7c\x6d\x25\x64\x3d\x3d\x3d\ +\x30\x26\x26\x6d\x2f\x64\x3e\x3d\x30\x7d\x7d\x7d\x2c\x50\x53\x45\ +\x55\x44\x4f\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x29\x7b\x76\x61\x72\x20\x63\x2c\x65\x3d\x64\x2e\x70\x73\x65\x75\ +\x64\x6f\x73\x5b\x61\x5d\x7c\x7c\x64\x2e\x73\x65\x74\x46\x69\x6c\ +\x74\x65\x72\x73\x5b\x61\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ +\x73\x65\x28\x29\x5d\x7c\x7c\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\ +\x22\x75\x6e\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x70\x73\x65\ +\x75\x64\x6f\x3a\x20\x22\x2b\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x65\x5b\x73\x5d\x3f\x65\x28\x62\x29\x3a\x65\x2e\x6c\x65\x6e\ +\x67\x74\x68\x3e\x31\x3f\x28\x63\x3d\x5b\x61\x2c\x61\x2c\x22\x22\ +\x2c\x62\x5d\x2c\x64\x2e\x73\x65\x74\x46\x69\x6c\x74\x65\x72\x73\ +\x2e\x68\x61\x73\x4f\x77\x6e\x50\x72\x6f\x70\x65\x72\x74\x79\x28\ +\x61\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x29\ +\x3f\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\ +\x29\x7b\x76\x61\x72\x20\x64\x2c\x66\x3d\x65\x28\x61\x2c\x62\x29\ +\x2c\x67\x3d\x66\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\ +\x65\x28\x67\x2d\x2d\x29\x64\x3d\x49\x2e\x63\x61\x6c\x6c\x28\x61\ +\x2c\x66\x5b\x67\x5d\x29\x2c\x61\x5b\x64\x5d\x3d\x21\x28\x63\x5b\ +\x64\x5d\x3d\x66\x5b\x67\x5d\x29\x7d\x29\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x65\x28\ +\x61\x2c\x30\x2c\x63\x29\x7d\x29\x3a\x65\x7d\x7d\x2c\x70\x73\x65\ +\x75\x64\x6f\x73\x3a\x7b\x6e\x6f\x74\x3a\x66\x62\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x5b\ +\x5d\x2c\x63\x3d\x5b\x5d\x2c\x64\x3d\x67\x28\x61\x2e\x72\x65\x70\ +\x6c\x61\x63\x65\x28\x50\x2c\x22\x24\x31\x22\x29\x29\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x64\x5b\x73\x5d\x3f\x66\x62\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x65\x29\x7b\x76\ +\x61\x72\x20\x66\x2c\x67\x3d\x64\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\ +\x65\x2c\x5b\x5d\x29\x2c\x68\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3b\x77\x68\x69\x6c\x65\x28\x68\x2d\x2d\x29\x28\x66\x3d\x67\x5b\ +\x68\x5d\x29\x26\x26\x28\x61\x5b\x68\x5d\x3d\x21\x28\x62\x5b\x68\ +\x5d\x3d\x66\x29\x29\x7d\x29\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x65\x2c\x66\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x62\ +\x5b\x30\x5d\x3d\x61\x2c\x64\x28\x62\x2c\x6e\x75\x6c\x6c\x2c\x66\ +\x2c\x63\x29\x2c\x21\x63\x2e\x70\x6f\x70\x28\x29\x7d\x7d\x29\x2c\ +\x68\x61\x73\x3a\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x64\x62\x28\ +\x61\x2c\x62\x29\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x30\x7d\x7d\x29\ +\x2c\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3a\x66\x62\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x28\x62\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74\ +\x7c\x7c\x62\x2e\x69\x6e\x6e\x65\x72\x54\x65\x78\x74\x7c\x7c\x65\ +\x28\x62\x29\x29\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x61\x29\x3e\ +\x2d\x31\x7d\x7d\x29\x2c\x6c\x61\x6e\x67\x3a\x66\x62\x28\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x55\x2e\x74\x65\x73\x74\x28\x61\x7c\x7c\x22\x22\x29\x7c\x7c\ +\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\x22\x75\x6e\x73\x75\x70\x70\ +\x6f\x72\x74\x65\x64\x20\x6c\x61\x6e\x67\x3a\x20\x22\x2b\x61\x29\ +\x2c\x61\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\x62\x2c\ +\x62\x62\x29\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ +\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x76\x61\ +\x72\x20\x63\x3b\x64\x6f\x20\x69\x66\x28\x63\x3d\x6e\x3f\x62\x2e\ +\x6c\x61\x6e\x67\x3a\x62\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\ +\x75\x74\x65\x28\x22\x78\x6d\x6c\x3a\x6c\x61\x6e\x67\x22\x29\x7c\ +\x7c\x62\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ +\x22\x6c\x61\x6e\x67\x22\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x63\ +\x3d\x63\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\ +\x2c\x63\x3d\x3d\x3d\x61\x7c\x7c\x30\x3d\x3d\x3d\x63\x2e\x69\x6e\ +\x64\x65\x78\x4f\x66\x28\x61\x2b\x22\x2d\x22\x29\x3b\x77\x68\x69\ +\x6c\x65\x28\x28\x62\x3d\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ +\x64\x65\x29\x26\x26\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\ +\x79\x70\x65\x29\x3b\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x7d\x29\ +\x2c\x74\x61\x72\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x61\x2e\x6c\x6f\x63\x61\ +\x74\x69\x6f\x6e\x26\x26\x61\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e\ +\x2e\x68\x61\x73\x68\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\ +\x63\x2e\x73\x6c\x69\x63\x65\x28\x31\x29\x3d\x3d\x3d\x62\x2e\x69\ +\x64\x7d\x2c\x72\x6f\x6f\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x6d\ +\x7d\x2c\x66\x6f\x63\x75\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x6c\ +\x2e\x61\x63\x74\x69\x76\x65\x45\x6c\x65\x6d\x65\x6e\x74\x26\x26\ +\x28\x21\x6c\x2e\x68\x61\x73\x46\x6f\x63\x75\x73\x7c\x7c\x6c\x2e\ +\x68\x61\x73\x46\x6f\x63\x75\x73\x28\x29\x29\x26\x26\x21\x21\x28\ +\x61\x2e\x74\x79\x70\x65\x7c\x7c\x61\x2e\x68\x72\x65\x66\x7c\x7c\ +\x7e\x61\x2e\x74\x61\x62\x49\x6e\x64\x65\x78\x29\x7d\x2c\x65\x6e\ +\x61\x62\x6c\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x64\x69\x73\x61\x62\ +\x6c\x65\x64\x3d\x3d\x3d\x21\x31\x7d\x2c\x64\x69\x73\x61\x62\x6c\ +\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x61\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\ +\x3d\x3d\x3d\x21\x30\x7d\x2c\x63\x68\x65\x63\x6b\x65\x64\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ +\x3d\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\ +\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\ +\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\x62\x26\x26\x21\x21\x61\ +\x2e\x63\x68\x65\x63\x6b\x65\x64\x7c\x7c\x22\x6f\x70\x74\x69\x6f\ +\x6e\x22\x3d\x3d\x3d\x62\x26\x26\x21\x21\x61\x2e\x73\x65\x6c\x65\ +\x63\x74\x65\x64\x7d\x2c\x73\x65\x6c\x65\x63\x74\x65\x64\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\ +\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x73\x65\x6c\ +\x65\x63\x74\x65\x64\x49\x6e\x64\x65\x78\x2c\x61\x2e\x73\x65\x6c\ +\x65\x63\x74\x65\x64\x3d\x3d\x3d\x21\x30\x7d\x2c\x65\x6d\x70\x74\ +\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\ +\x72\x28\x61\x3d\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\ +\x3b\x61\x3b\x61\x3d\x61\x2e\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\ +\x6e\x67\x29\x69\x66\x28\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ +\x3c\x36\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\x72\x65\x74\x75\ +\x72\x6e\x21\x30\x7d\x2c\x70\x61\x72\x65\x6e\x74\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\ +\x64\x2e\x70\x73\x65\x75\x64\x6f\x73\x2e\x65\x6d\x70\x74\x79\x28\ +\x61\x29\x7d\x2c\x68\x65\x61\x64\x65\x72\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x58\x2e\ +\x74\x65\x73\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\ +\x7d\x2c\x69\x6e\x70\x75\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x2e\x74\x65\x73\ +\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\x7d\x2c\x62\ +\x75\x74\x74\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x6e\x6f\x64\x65\x4e\x61\ +\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\ +\x3b\x72\x65\x74\x75\x72\x6e\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\ +\x3d\x62\x26\x26\x22\x62\x75\x74\x74\x6f\x6e\x22\x3d\x3d\x3d\x61\ +\x2e\x74\x79\x70\x65\x7c\x7c\x22\x62\x75\x74\x74\x6f\x6e\x22\x3d\ +\x3d\x3d\x62\x7d\x2c\x74\x65\x78\x74\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3b\x72\x65\x74\x75\ +\x72\x6e\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\x61\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ +\x73\x65\x28\x29\x26\x26\x22\x74\x65\x78\x74\x22\x3d\x3d\x3d\x61\ +\x2e\x74\x79\x70\x65\x26\x26\x28\x6e\x75\x6c\x6c\x3d\x3d\x28\x62\ +\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ +\x22\x74\x79\x70\x65\x22\x29\x29\x7c\x7c\x22\x74\x65\x78\x74\x22\ +\x3d\x3d\x3d\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\ +\x28\x29\x29\x7d\x2c\x66\x69\x72\x73\x74\x3a\x6c\x62\x28\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x5b\ +\x30\x5d\x7d\x29\x2c\x6c\x61\x73\x74\x3a\x6c\x62\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x5b\x62\x2d\x31\x5d\x7d\x29\x2c\x65\x71\x3a\x6c\x62\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x5b\x30\x3e\x63\x3f\x63\x2b\x62\x3a\x63\x5d\ +\x7d\x29\x2c\x65\x76\x65\x6e\x3a\x6c\x62\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\ +\x20\x63\x3d\x30\x3b\x62\x3e\x63\x3b\x63\x2b\x3d\x32\x29\x61\x2e\ +\x70\x75\x73\x68\x28\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x7d\x29\x2c\x6f\x64\x64\x3a\x6c\x62\x28\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\ +\x63\x3d\x31\x3b\x62\x3e\x63\x3b\x63\x2b\x3d\x32\x29\x61\x2e\x70\ +\x75\x73\x68\x28\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\ +\x29\x2c\x6c\x74\x3a\x6c\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x2c\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\ +\x64\x3d\x30\x3e\x63\x3f\x63\x2b\x62\x3a\x63\x3b\x2d\x2d\x64\x3e\ +\x3d\x30\x3b\x29\x61\x2e\x70\x75\x73\x68\x28\x64\x29\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x61\x7d\x29\x2c\x67\x74\x3a\x6c\x62\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x66\ +\x6f\x72\x28\x76\x61\x72\x20\x64\x3d\x30\x3e\x63\x3f\x63\x2b\x62\ +\x3a\x63\x3b\x2b\x2b\x64\x3c\x62\x3b\x29\x61\x2e\x70\x75\x73\x68\ +\x28\x64\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x29\x7d\x7d\ +\x2c\x64\x2e\x70\x73\x65\x75\x64\x6f\x73\x2e\x6e\x74\x68\x3d\x64\ +\x2e\x70\x73\x65\x75\x64\x6f\x73\x2e\x65\x71\x3b\x66\x6f\x72\x28\ +\x62\x20\x69\x6e\x7b\x72\x61\x64\x69\x6f\x3a\x21\x30\x2c\x63\x68\ +\x65\x63\x6b\x62\x6f\x78\x3a\x21\x30\x2c\x66\x69\x6c\x65\x3a\x21\ +\x30\x2c\x70\x61\x73\x73\x77\x6f\x72\x64\x3a\x21\x30\x2c\x69\x6d\ +\x61\x67\x65\x3a\x21\x30\x7d\x29\x64\x2e\x70\x73\x65\x75\x64\x6f\ +\x73\x5b\x62\x5d\x3d\x6a\x62\x28\x62\x29\x3b\x66\x6f\x72\x28\x62\ +\x20\x69\x6e\x7b\x73\x75\x62\x6d\x69\x74\x3a\x21\x30\x2c\x72\x65\ +\x73\x65\x74\x3a\x21\x30\x7d\x29\x64\x2e\x70\x73\x65\x75\x64\x6f\ +\x73\x5b\x62\x5d\x3d\x6b\x62\x28\x62\x29\x3b\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x20\x6e\x62\x28\x29\x7b\x7d\x6e\x62\x2e\x70\x72\x6f\ +\x74\x6f\x74\x79\x70\x65\x3d\x64\x2e\x66\x69\x6c\x74\x65\x72\x73\ +\x3d\x64\x2e\x70\x73\x65\x75\x64\x6f\x73\x2c\x64\x2e\x73\x65\x74\ +\x46\x69\x6c\x74\x65\x72\x73\x3d\x6e\x65\x77\x20\x6e\x62\x3b\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6f\x62\x28\x61\x2c\x62\x29\x7b\ +\x76\x61\x72\x20\x63\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\ +\x6a\x2c\x6b\x3d\x78\x5b\x61\x2b\x22\x20\x22\x5d\x3b\x69\x66\x28\ +\x6b\x29\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x30\x3a\x6b\x2e\x73\ +\x6c\x69\x63\x65\x28\x30\x29\x3b\x68\x3d\x61\x2c\x69\x3d\x5b\x5d\ +\x2c\x6a\x3d\x64\x2e\x70\x72\x65\x46\x69\x6c\x74\x65\x72\x3b\x77\ +\x68\x69\x6c\x65\x28\x68\x29\x7b\x28\x21\x63\x7c\x7c\x28\x65\x3d\ +\x51\x2e\x65\x78\x65\x63\x28\x68\x29\x29\x29\x26\x26\x28\x65\x26\ +\x26\x28\x68\x3d\x68\x2e\x73\x6c\x69\x63\x65\x28\x65\x5b\x30\x5d\ +\x2e\x6c\x65\x6e\x67\x74\x68\x29\x7c\x7c\x68\x29\x2c\x69\x2e\x70\ +\x75\x73\x68\x28\x66\x3d\x5b\x5d\x29\x29\x2c\x63\x3d\x21\x31\x2c\ +\x28\x65\x3d\x52\x2e\x65\x78\x65\x63\x28\x68\x29\x29\x26\x26\x28\ +\x63\x3d\x65\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\x66\x2e\x70\x75\ +\x73\x68\x28\x7b\x76\x61\x6c\x75\x65\x3a\x63\x2c\x74\x79\x70\x65\ +\x3a\x65\x5b\x30\x5d\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x50\x2c\ +\x22\x20\x22\x29\x7d\x29\x2c\x68\x3d\x68\x2e\x73\x6c\x69\x63\x65\ +\x28\x63\x2e\x6c\x65\x6e\x67\x74\x68\x29\x29\x3b\x66\x6f\x72\x28\ +\x67\x20\x69\x6e\x20\x64\x2e\x66\x69\x6c\x74\x65\x72\x29\x21\x28\ +\x65\x3d\x56\x5b\x67\x5d\x2e\x65\x78\x65\x63\x28\x68\x29\x29\x7c\ +\x7c\x6a\x5b\x67\x5d\x26\x26\x21\x28\x65\x3d\x6a\x5b\x67\x5d\x28\ +\x65\x29\x29\x7c\x7c\x28\x63\x3d\x65\x2e\x73\x68\x69\x66\x74\x28\ +\x29\x2c\x66\x2e\x70\x75\x73\x68\x28\x7b\x76\x61\x6c\x75\x65\x3a\ +\x63\x2c\x74\x79\x70\x65\x3a\x67\x2c\x6d\x61\x74\x63\x68\x65\x73\ +\x3a\x65\x7d\x29\x2c\x68\x3d\x68\x2e\x73\x6c\x69\x63\x65\x28\x63\ +\x2e\x6c\x65\x6e\x67\x74\x68\x29\x29\x3b\x69\x66\x28\x21\x63\x29\ +\x62\x72\x65\x61\x6b\x7d\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x68\ +\x2e\x6c\x65\x6e\x67\x74\x68\x3a\x68\x3f\x64\x62\x2e\x65\x72\x72\ +\x6f\x72\x28\x61\x29\x3a\x78\x28\x61\x2c\x69\x29\x2e\x73\x6c\x69\ +\x63\x65\x28\x30\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x70\ +\x62\x28\x61\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x62\x3d\x30\ +\x2c\x63\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x64\x3d\x22\x22\ +\x3b\x63\x3e\x62\x3b\x62\x2b\x2b\x29\x64\x2b\x3d\x61\x5b\x62\x5d\ +\x2e\x76\x61\x6c\x75\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x7d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x71\x62\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x62\x2e\x64\x69\x72\x2c\x65\ +\x3d\x63\x26\x26\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\ +\x3d\x3d\x3d\x64\x2c\x66\x3d\x76\x2b\x2b\x3b\x72\x65\x74\x75\x72\ +\x6e\x20\x62\x2e\x66\x69\x72\x73\x74\x3f\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x62\x2c\x63\x2c\x66\x29\x7b\x77\x68\x69\x6c\x65\x28\ +\x62\x3d\x62\x5b\x64\x5d\x29\x69\x66\x28\x31\x3d\x3d\x3d\x62\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x65\x29\x72\x65\x74\x75\ +\x72\x6e\x20\x61\x28\x62\x2c\x63\x2c\x66\x29\x7d\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x67\x29\x7b\x76\x61\x72\ +\x20\x68\x2c\x69\x2c\x6a\x3d\x5b\x75\x2c\x66\x5d\x3b\x69\x66\x28\ +\x67\x29\x7b\x77\x68\x69\x6c\x65\x28\x62\x3d\x62\x5b\x64\x5d\x29\ +\x69\x66\x28\x28\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\ +\x70\x65\x7c\x7c\x65\x29\x26\x26\x61\x28\x62\x2c\x63\x2c\x67\x29\ +\x29\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x65\x6c\x73\x65\x20\x77\ +\x68\x69\x6c\x65\x28\x62\x3d\x62\x5b\x64\x5d\x29\x69\x66\x28\x31\ +\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x65\ +\x29\x7b\x69\x66\x28\x69\x3d\x62\x5b\x73\x5d\x7c\x7c\x28\x62\x5b\ +\x73\x5d\x3d\x7b\x7d\x29\x2c\x28\x68\x3d\x69\x5b\x64\x5d\x29\x26\ +\x26\x68\x5b\x30\x5d\x3d\x3d\x3d\x75\x26\x26\x68\x5b\x31\x5d\x3d\ +\x3d\x3d\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x5b\x32\x5d\x3d\ +\x68\x5b\x32\x5d\x3b\x69\x66\x28\x69\x5b\x64\x5d\x3d\x6a\x2c\x6a\ +\x5b\x32\x5d\x3d\x61\x28\x62\x2c\x63\x2c\x67\x29\x29\x72\x65\x74\ +\x75\x72\x6e\x21\x30\x7d\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x20\x72\x62\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3e\x31\x3f\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x61\ +\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\ +\x2d\x29\x69\x66\x28\x21\x61\x5b\x65\x5d\x28\x62\x2c\x63\x2c\x64\ +\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\x72\x65\x74\x75\x72\ +\x6e\x21\x30\x7d\x3a\x61\x5b\x30\x5d\x7d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x73\x62\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\ +\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x66\x2c\x67\x3d\x5b\x5d\x2c\ +\x68\x3d\x30\x2c\x69\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\ +\x3d\x6e\x75\x6c\x6c\x21\x3d\x62\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\ +\x29\x28\x66\x3d\x61\x5b\x68\x5d\x29\x26\x26\x28\x21\x63\x7c\x7c\ +\x63\x28\x66\x2c\x64\x2c\x65\x29\x29\x26\x26\x28\x67\x2e\x70\x75\ +\x73\x68\x28\x66\x29\x2c\x6a\x26\x26\x62\x2e\x70\x75\x73\x68\x28\ +\x68\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x74\x62\x28\x61\x2c\x62\x2c\x63\x2c\x64\ +\x2c\x65\x2c\x66\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x64\x26\x26\ +\x21\x64\x5b\x73\x5d\x26\x26\x28\x64\x3d\x74\x62\x28\x64\x29\x29\ +\x2c\x65\x26\x26\x21\x65\x5b\x73\x5d\x26\x26\x28\x65\x3d\x74\x62\ +\x28\x65\x2c\x66\x29\x29\x2c\x66\x62\x28\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x66\x2c\x67\x2c\x68\x2c\x69\x29\x7b\x76\x61\x72\x20\ +\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x3d\x5b\x5d\x2c\x6e\x3d\x5b\x5d\x2c\ +\x6f\x3d\x67\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x70\x3d\x66\x7c\x7c\ +\x77\x62\x28\x62\x7c\x7c\x22\x2a\x22\x2c\x68\x2e\x6e\x6f\x64\x65\ +\x54\x79\x70\x65\x3f\x5b\x68\x5d\x3a\x68\x2c\x5b\x5d\x29\x2c\x71\ +\x3d\x21\x61\x7c\x7c\x21\x66\x26\x26\x62\x3f\x70\x3a\x73\x62\x28\ +\x70\x2c\x6d\x2c\x61\x2c\x68\x2c\x69\x29\x2c\x72\x3d\x63\x3f\x65\ +\x7c\x7c\x28\x66\x3f\x61\x3a\x6f\x7c\x7c\x64\x29\x3f\x5b\x5d\x3a\ +\x67\x3a\x71\x3b\x69\x66\x28\x63\x26\x26\x63\x28\x71\x2c\x72\x2c\ +\x68\x2c\x69\x29\x2c\x64\x29\x7b\x6a\x3d\x73\x62\x28\x72\x2c\x6e\ +\x29\x2c\x64\x28\x6a\x2c\x5b\x5d\x2c\x68\x2c\x69\x29\x2c\x6b\x3d\ +\x6a\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6b\ +\x2d\x2d\x29\x28\x6c\x3d\x6a\x5b\x6b\x5d\x29\x26\x26\x28\x72\x5b\ +\x6e\x5b\x6b\x5d\x5d\x3d\x21\x28\x71\x5b\x6e\x5b\x6b\x5d\x5d\x3d\ +\x6c\x29\x29\x7d\x69\x66\x28\x66\x29\x7b\x69\x66\x28\x65\x7c\x7c\ +\x61\x29\x7b\x69\x66\x28\x65\x29\x7b\x6a\x3d\x5b\x5d\x2c\x6b\x3d\ +\x72\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6b\ +\x2d\x2d\x29\x28\x6c\x3d\x72\x5b\x6b\x5d\x29\x26\x26\x6a\x2e\x70\ +\x75\x73\x68\x28\x71\x5b\x6b\x5d\x3d\x6c\x29\x3b\x65\x28\x6e\x75\ +\x6c\x6c\x2c\x72\x3d\x5b\x5d\x2c\x6a\x2c\x69\x29\x7d\x6b\x3d\x72\ +\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6b\x2d\ +\x2d\x29\x28\x6c\x3d\x72\x5b\x6b\x5d\x29\x26\x26\x28\x6a\x3d\x65\ +\x3f\x49\x2e\x63\x61\x6c\x6c\x28\x66\x2c\x6c\x29\x3a\x6d\x5b\x6b\ +\x5d\x29\x3e\x2d\x31\x26\x26\x28\x66\x5b\x6a\x5d\x3d\x21\x28\x67\ +\x5b\x6a\x5d\x3d\x6c\x29\x29\x7d\x7d\x65\x6c\x73\x65\x20\x72\x3d\ +\x73\x62\x28\x72\x3d\x3d\x3d\x67\x3f\x72\x2e\x73\x70\x6c\x69\x63\ +\x65\x28\x6f\x2c\x72\x2e\x6c\x65\x6e\x67\x74\x68\x29\x3a\x72\x29\ +\x2c\x65\x3f\x65\x28\x6e\x75\x6c\x6c\x2c\x67\x2c\x72\x2c\x69\x29\ +\x3a\x47\x2e\x61\x70\x70\x6c\x79\x28\x67\x2c\x72\x29\x7d\x29\x7d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x75\x62\x28\x61\x29\x7b\x66\ +\x6f\x72\x28\x76\x61\x72\x20\x62\x2c\x63\x2c\x65\x2c\x66\x3d\x61\ +\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x67\x3d\x64\x2e\x72\x65\x6c\x61\ +\x74\x69\x76\x65\x5b\x61\x5b\x30\x5d\x2e\x74\x79\x70\x65\x5d\x2c\ +\x69\x3d\x67\x7c\x7c\x64\x2e\x72\x65\x6c\x61\x74\x69\x76\x65\x5b\ +\x22\x20\x22\x5d\x2c\x6a\x3d\x67\x3f\x31\x3a\x30\x2c\x6b\x3d\x71\ +\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x62\x7d\x2c\x69\x2c\x21\x30\ +\x29\x2c\x6c\x3d\x71\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x49\x2e\x63\x61\x6c\x6c\ +\x28\x62\x2c\x61\x29\x3e\x2d\x31\x7d\x2c\x69\x2c\x21\x30\x29\x2c\ +\x6d\x3d\x5b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\ +\x64\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x67\x26\x26\x28\x64\x7c\ +\x7c\x63\x21\x3d\x3d\x68\x29\x7c\x7c\x28\x28\x62\x3d\x63\x29\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x6b\x28\x61\x2c\x63\x2c\x64\ +\x29\x3a\x6c\x28\x61\x2c\x63\x2c\x64\x29\x29\x7d\x5d\x3b\x66\x3e\ +\x6a\x3b\x6a\x2b\x2b\x29\x69\x66\x28\x63\x3d\x64\x2e\x72\x65\x6c\ +\x61\x74\x69\x76\x65\x5b\x61\x5b\x6a\x5d\x2e\x74\x79\x70\x65\x5d\ +\x29\x6d\x3d\x5b\x71\x62\x28\x72\x62\x28\x6d\x29\x2c\x63\x29\x5d\ +\x3b\x65\x6c\x73\x65\x7b\x69\x66\x28\x63\x3d\x64\x2e\x66\x69\x6c\ +\x74\x65\x72\x5b\x61\x5b\x6a\x5d\x2e\x74\x79\x70\x65\x5d\x2e\x61\ +\x70\x70\x6c\x79\x28\x6e\x75\x6c\x6c\x2c\x61\x5b\x6a\x5d\x2e\x6d\ +\x61\x74\x63\x68\x65\x73\x29\x2c\x63\x5b\x73\x5d\x29\x7b\x66\x6f\ +\x72\x28\x65\x3d\x2b\x2b\x6a\x3b\x66\x3e\x65\x3b\x65\x2b\x2b\x29\ +\x69\x66\x28\x64\x2e\x72\x65\x6c\x61\x74\x69\x76\x65\x5b\x61\x5b\ +\x65\x5d\x2e\x74\x79\x70\x65\x5d\x29\x62\x72\x65\x61\x6b\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x74\x62\x28\x6a\x3e\x31\x26\x26\x72\x62\ +\x28\x6d\x29\x2c\x6a\x3e\x31\x26\x26\x70\x62\x28\x61\x2e\x73\x6c\ +\x69\x63\x65\x28\x30\x2c\x6a\x2d\x31\x29\x2e\x63\x6f\x6e\x63\x61\ +\x74\x28\x7b\x76\x61\x6c\x75\x65\x3a\x22\x20\x22\x3d\x3d\x3d\x61\ +\x5b\x6a\x2d\x32\x5d\x2e\x74\x79\x70\x65\x3f\x22\x2a\x22\x3a\x22\ +\x22\x7d\x29\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x50\x2c\x22\ +\x24\x31\x22\x29\x2c\x63\x2c\x65\x3e\x6a\x26\x26\x75\x62\x28\x61\ +\x2e\x73\x6c\x69\x63\x65\x28\x6a\x2c\x65\x29\x29\x2c\x66\x3e\x65\ +\x26\x26\x75\x62\x28\x61\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x65\ +\x29\x29\x2c\x66\x3e\x65\x26\x26\x70\x62\x28\x61\x29\x29\x7d\x6d\ +\x2e\x70\x75\x73\x68\x28\x63\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\ +\x72\x62\x28\x6d\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x76\ +\x62\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x62\x2e\x6c\ +\x65\x6e\x67\x74\x68\x3e\x30\x2c\x65\x3d\x61\x2e\x6c\x65\x6e\x67\ +\x74\x68\x3e\x30\x2c\x66\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x66\x2c\x67\x2c\x69\x2c\x6a\x2c\x6b\x29\x7b\x76\x61\x72\x20\x6d\ +\x2c\x6e\x2c\x6f\x2c\x70\x3d\x30\x2c\x71\x3d\x22\x30\x22\x2c\x72\ +\x3d\x66\x26\x26\x5b\x5d\x2c\x73\x3d\x5b\x5d\x2c\x74\x3d\x68\x2c\ +\x76\x3d\x66\x7c\x7c\x65\x26\x26\x64\x2e\x66\x69\x6e\x64\x2e\x54\ +\x41\x47\x28\x22\x2a\x22\x2c\x6b\x29\x2c\x77\x3d\x75\x2b\x3d\x6e\ +\x75\x6c\x6c\x3d\x3d\x74\x3f\x31\x3a\x4d\x61\x74\x68\x2e\x72\x61\ +\x6e\x64\x6f\x6d\x28\x29\x7c\x7c\x2e\x31\x2c\x78\x3d\x76\x2e\x6c\ +\x65\x6e\x67\x74\x68\x3b\x66\x6f\x72\x28\x6b\x26\x26\x28\x68\x3d\ +\x67\x21\x3d\x3d\x6c\x26\x26\x67\x29\x3b\x71\x21\x3d\x3d\x78\x26\ +\x26\x6e\x75\x6c\x6c\x21\x3d\x28\x6d\x3d\x76\x5b\x71\x5d\x29\x3b\ +\x71\x2b\x2b\x29\x7b\x69\x66\x28\x65\x26\x26\x6d\x29\x7b\x6e\x3d\ +\x30\x3b\x77\x68\x69\x6c\x65\x28\x6f\x3d\x61\x5b\x6e\x2b\x2b\x5d\ +\x29\x69\x66\x28\x6f\x28\x6d\x2c\x67\x2c\x69\x29\x29\x7b\x6a\x2e\ +\x70\x75\x73\x68\x28\x6d\x29\x3b\x62\x72\x65\x61\x6b\x7d\x6b\x26\ +\x26\x28\x75\x3d\x77\x29\x7d\x63\x26\x26\x28\x28\x6d\x3d\x21\x6f\ +\x26\x26\x6d\x29\x26\x26\x70\x2d\x2d\x2c\x66\x26\x26\x72\x2e\x70\ +\x75\x73\x68\x28\x6d\x29\x29\x7d\x69\x66\x28\x70\x2b\x3d\x71\x2c\ +\x63\x26\x26\x71\x21\x3d\x3d\x70\x29\x7b\x6e\x3d\x30\x3b\x77\x68\ +\x69\x6c\x65\x28\x6f\x3d\x62\x5b\x6e\x2b\x2b\x5d\x29\x6f\x28\x72\ +\x2c\x73\x2c\x67\x2c\x69\x29\x3b\x69\x66\x28\x66\x29\x7b\x69\x66\ +\x28\x70\x3e\x30\x29\x77\x68\x69\x6c\x65\x28\x71\x2d\x2d\x29\x72\ +\x5b\x71\x5d\x7c\x7c\x73\x5b\x71\x5d\x7c\x7c\x28\x73\x5b\x71\x5d\ +\x3d\x45\x2e\x63\x61\x6c\x6c\x28\x6a\x29\x29\x3b\x73\x3d\x73\x62\ +\x28\x73\x29\x7d\x47\x2e\x61\x70\x70\x6c\x79\x28\x6a\x2c\x73\x29\ +\x2c\x6b\x26\x26\x21\x66\x26\x26\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3e\x30\x26\x26\x70\x2b\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x31\ +\x26\x26\x64\x62\x2e\x75\x6e\x69\x71\x75\x65\x53\x6f\x72\x74\x28\ +\x6a\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x6b\x26\x26\x28\x75\x3d\ +\x77\x2c\x68\x3d\x74\x29\x2c\x72\x7d\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x63\x3f\x66\x62\x28\x66\x29\x3a\x66\x7d\x67\x3d\x64\x62\x2e\ +\x63\x6f\x6d\x70\x69\x6c\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3d\x5b\x5d\ +\x2c\x65\x3d\x5b\x5d\x2c\x66\x3d\x79\x5b\x61\x2b\x22\x20\x22\x5d\ +\x3b\x69\x66\x28\x21\x66\x29\x7b\x62\x7c\x7c\x28\x62\x3d\x6f\x62\ +\x28\x61\x29\x29\x2c\x63\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3b\ +\x77\x68\x69\x6c\x65\x28\x63\x2d\x2d\x29\x66\x3d\x75\x62\x28\x62\ +\x5b\x63\x5d\x29\x2c\x66\x5b\x73\x5d\x3f\x64\x2e\x70\x75\x73\x68\ +\x28\x66\x29\x3a\x65\x2e\x70\x75\x73\x68\x28\x66\x29\x3b\x66\x3d\ +\x79\x28\x61\x2c\x76\x62\x28\x65\x2c\x64\x29\x29\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x66\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\ +\x77\x62\x28\x61\x2c\x62\x2c\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\ +\x72\x20\x64\x3d\x30\x2c\x65\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x64\x62\x28\x61\x2c\x62\x5b\ +\x64\x5d\x2c\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x7d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x78\x62\x28\x61\x2c\x62\x2c\x65\ +\x2c\x66\x29\x7b\x76\x61\x72\x20\x68\x2c\x69\x2c\x6a\x2c\x6b\x2c\ +\x6c\x2c\x6d\x3d\x6f\x62\x28\x61\x29\x3b\x69\x66\x28\x21\x66\x26\ +\x26\x31\x3d\x3d\x3d\x6d\x2e\x6c\x65\x6e\x67\x74\x68\x29\x7b\x69\ +\x66\x28\x69\x3d\x6d\x5b\x30\x5d\x3d\x6d\x5b\x30\x5d\x2e\x73\x6c\ +\x69\x63\x65\x28\x30\x29\x2c\x69\x2e\x6c\x65\x6e\x67\x74\x68\x3e\ +\x32\x26\x26\x22\x49\x44\x22\x3d\x3d\x3d\x28\x6a\x3d\x69\x5b\x30\ +\x5d\x29\x2e\x74\x79\x70\x65\x26\x26\x63\x2e\x67\x65\x74\x42\x79\ +\x49\x64\x26\x26\x39\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\ +\x70\x65\x26\x26\x6e\x26\x26\x64\x2e\x72\x65\x6c\x61\x74\x69\x76\ +\x65\x5b\x69\x5b\x31\x5d\x2e\x74\x79\x70\x65\x5d\x29\x7b\x69\x66\ +\x28\x62\x3d\x28\x64\x2e\x66\x69\x6e\x64\x2e\x49\x44\x28\x6a\x2e\ +\x6d\x61\x74\x63\x68\x65\x73\x5b\x30\x5d\x2e\x72\x65\x70\x6c\x61\ +\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x2c\x62\x29\x7c\x7c\x5b\x5d\ +\x29\x5b\x30\x5d\x2c\x21\x62\x29\x72\x65\x74\x75\x72\x6e\x20\x65\ +\x3b\x61\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x69\x2e\x73\x68\x69\ +\x66\x74\x28\x29\x2e\x76\x61\x6c\x75\x65\x2e\x6c\x65\x6e\x67\x74\ +\x68\x29\x7d\x68\x3d\x56\x2e\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\ +\x65\x78\x74\x2e\x74\x65\x73\x74\x28\x61\x29\x3f\x30\x3a\x69\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x68\x2d\x2d\ +\x29\x7b\x69\x66\x28\x6a\x3d\x69\x5b\x68\x5d\x2c\x64\x2e\x72\x65\ +\x6c\x61\x74\x69\x76\x65\x5b\x6b\x3d\x6a\x2e\x74\x79\x70\x65\x5d\ +\x29\x62\x72\x65\x61\x6b\x3b\x69\x66\x28\x28\x6c\x3d\x64\x2e\x66\ +\x69\x6e\x64\x5b\x6b\x5d\x29\x26\x26\x28\x66\x3d\x6c\x28\x6a\x2e\ +\x6d\x61\x74\x63\x68\x65\x73\x5b\x30\x5d\x2e\x72\x65\x70\x6c\x61\ +\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x2c\x24\x2e\x74\x65\x73\x74\ +\x28\x69\x5b\x30\x5d\x2e\x74\x79\x70\x65\x29\x26\x26\x6d\x62\x28\ +\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x7c\x7c\x62\ +\x29\x29\x29\x7b\x69\x66\x28\x69\x2e\x73\x70\x6c\x69\x63\x65\x28\ +\x68\x2c\x31\x29\x2c\x61\x3d\x66\x2e\x6c\x65\x6e\x67\x74\x68\x26\ +\x26\x70\x62\x28\x69\x29\x2c\x21\x61\x29\x72\x65\x74\x75\x72\x6e\ +\x20\x47\x2e\x61\x70\x70\x6c\x79\x28\x65\x2c\x66\x29\x2c\x65\x3b\ +\x62\x72\x65\x61\x6b\x7d\x7d\x7d\x72\x65\x74\x75\x72\x6e\x20\x67\ +\x28\x61\x2c\x6d\x29\x28\x66\x2c\x62\x2c\x21\x6e\x2c\x65\x2c\x24\ +\x2e\x74\x65\x73\x74\x28\x61\x29\x26\x26\x6d\x62\x28\x62\x2e\x70\ +\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x7c\x7c\x62\x29\x2c\x65\ +\x7d\x72\x65\x74\x75\x72\x6e\x20\x63\x2e\x73\x6f\x72\x74\x53\x74\ +\x61\x62\x6c\x65\x3d\x73\x2e\x73\x70\x6c\x69\x74\x28\x22\x22\x29\ +\x2e\x73\x6f\x72\x74\x28\x7a\x29\x2e\x6a\x6f\x69\x6e\x28\x22\x22\ +\x29\x3d\x3d\x3d\x73\x2c\x63\x2e\x64\x65\x74\x65\x63\x74\x44\x75\ +\x70\x6c\x69\x63\x61\x74\x65\x73\x3d\x21\x21\x6a\x2c\x6b\x28\x29\ +\x2c\x63\x2e\x73\x6f\x72\x74\x44\x65\x74\x61\x63\x68\x65\x64\x3d\ +\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x31\x26\x61\x2e\x63\x6f\x6d\x70\x61\x72\ +\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\ +\x6e\x28\x6c\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\ +\x74\x28\x22\x64\x69\x76\x22\x29\x29\x7d\x29\x2c\x67\x62\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x61\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\ +\x61\x20\x68\x72\x65\x66\x3d\x27\x23\x27\x3e\x3c\x2f\x61\x3e\x22\ +\x2c\x22\x23\x22\x3d\x3d\x3d\x61\x2e\x66\x69\x72\x73\x74\x43\x68\ +\x69\x6c\x64\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\ +\x28\x22\x68\x72\x65\x66\x22\x29\x7d\x29\x7c\x7c\x68\x62\x28\x22\ +\x74\x79\x70\x65\x7c\x68\x72\x65\x66\x7c\x68\x65\x69\x67\x68\x74\ +\x7c\x77\x69\x64\x74\x68\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x63\ +\x3f\x76\x6f\x69\x64\x20\x30\x3a\x61\x2e\x67\x65\x74\x41\x74\x74\ +\x72\x69\x62\x75\x74\x65\x28\x62\x2c\x22\x74\x79\x70\x65\x22\x3d\ +\x3d\x3d\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ +\x29\x3f\x31\x3a\x32\x29\x7d\x29\x2c\x63\x2e\x61\x74\x74\x72\x69\ +\x62\x75\x74\x65\x73\x26\x26\x67\x62\x28\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x69\ +\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\x69\x6e\x70\x75\x74\ +\x2f\x3e\x22\x2c\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\ +\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x76\ +\x61\x6c\x75\x65\x22\x2c\x22\x22\x29\x2c\x22\x22\x3d\x3d\x3d\x61\ +\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2e\x67\x65\x74\x41\ +\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x76\x61\x6c\x75\x65\x22\ +\x29\x7d\x29\x7c\x7c\x68\x62\x28\x22\x76\x61\x6c\x75\x65\x22\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x63\x7c\x7c\x22\x69\x6e\x70\x75\x74\ +\x22\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\ +\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3f\x76\x6f\x69\ +\x64\x20\x30\x3a\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x61\x6c\ +\x75\x65\x7d\x29\x2c\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\ +\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ +\x22\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x7d\x29\x7c\x7c\x68\ +\x62\x28\x4a\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x63\x3f\x76\x6f\x69\x64\x20\x30\x3a\x61\x5b\x62\x5d\x3d\x3d\ +\x3d\x21\x30\x3f\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\ +\x65\x28\x29\x3a\x28\x64\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\ +\x69\x62\x75\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x29\x26\x26\x64\ +\x2e\x73\x70\x65\x63\x69\x66\x69\x65\x64\x3f\x64\x2e\x76\x61\x6c\ +\x75\x65\x3a\x6e\x75\x6c\x6c\x7d\x29\x2c\x64\x62\x7d\x28\x61\x29\ +\x3b\x6e\x2e\x66\x69\x6e\x64\x3d\x74\x2c\x6e\x2e\x65\x78\x70\x72\ +\x3d\x74\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x73\x2c\x6e\x2e\x65\ +\x78\x70\x72\x5b\x22\x3a\x22\x5d\x3d\x6e\x2e\x65\x78\x70\x72\x2e\ +\x70\x73\x65\x75\x64\x6f\x73\x2c\x6e\x2e\x75\x6e\x69\x71\x75\x65\ +\x3d\x74\x2e\x75\x6e\x69\x71\x75\x65\x53\x6f\x72\x74\x2c\x6e\x2e\ +\x74\x65\x78\x74\x3d\x74\x2e\x67\x65\x74\x54\x65\x78\x74\x2c\x6e\ +\x2e\x69\x73\x58\x4d\x4c\x44\x6f\x63\x3d\x74\x2e\x69\x73\x58\x4d\ +\x4c\x2c\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3d\x74\x2e\x63\ +\x6f\x6e\x74\x61\x69\x6e\x73\x3b\x76\x61\x72\x20\x75\x3d\x6e\x2e\ +\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\x6e\x65\x65\x64\x73\ +\x43\x6f\x6e\x74\x65\x78\x74\x2c\x76\x3d\x2f\x5e\x3c\x28\x5c\x77\ +\x2b\x29\x5c\x73\x2a\x5c\x2f\x3f\x3e\x28\x3f\x3a\x3c\x5c\x2f\x5c\ +\x31\x3e\x7c\x29\x24\x2f\x2c\x77\x3d\x2f\x5e\x2e\x5b\x5e\x3a\x23\ +\x5c\x5b\x5c\x2e\x2c\x5d\x2a\x24\x2f\x3b\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x78\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\x6e\ +\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x29\x72\ +\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x72\x65\x70\x28\x61\x2c\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x64\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x21\x21\x62\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x64\x2c\ +\x61\x29\x21\x3d\x3d\x63\x7d\x29\x3b\x69\x66\x28\x62\x2e\x6e\x6f\ +\x64\x65\x54\x79\x70\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\ +\x67\x72\x65\x70\x28\x61\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x62\x21\ +\x3d\x3d\x63\x7d\x29\x3b\x69\x66\x28\x22\x73\x74\x72\x69\x6e\x67\ +\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x29\x7b\x69\x66\x28\ +\x77\x2e\x74\x65\x73\x74\x28\x62\x29\x29\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x2e\x66\x69\x6c\x74\x65\x72\x28\x62\x2c\x61\x2c\x63\x29\ +\x3b\x62\x3d\x6e\x2e\x66\x69\x6c\x74\x65\x72\x28\x62\x2c\x61\x29\ +\x7d\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x72\x65\x70\x28\x61\ +\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x61\x2c\ +\x62\x29\x3e\x3d\x30\x21\x3d\x3d\x63\x7d\x29\x7d\x6e\x2e\x66\x69\ +\x6c\x74\x65\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x62\x5b\x30\x5d\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\x28\x61\x3d\x22\x3a\x6e\ +\x6f\x74\x28\x22\x2b\x61\x2b\x22\x29\x22\x29\x2c\x31\x3d\x3d\x3d\ +\x62\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x31\x3d\x3d\x3d\x64\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x6e\x2e\x66\x69\x6e\x64\x2e\ +\x6d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x28\ +\x64\x2c\x61\x29\x3f\x5b\x64\x5d\x3a\x5b\x5d\x3a\x6e\x2e\x66\x69\ +\x6e\x64\x2e\x6d\x61\x74\x63\x68\x65\x73\x28\x61\x2c\x6e\x2e\x67\ +\x72\x65\x70\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x31\x3d\x3d\x3d\x61\x2e\x6e\ +\x6f\x64\x65\x54\x79\x70\x65\x7d\x29\x29\x7d\x2c\x6e\x2e\x66\x6e\ +\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x66\x69\x6e\x64\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\ +\x63\x3d\x5b\x5d\x2c\x64\x3d\x74\x68\x69\x73\x2c\x65\x3d\x64\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x69\x66\x28\x22\x73\x74\x72\x69\x6e\ +\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x72\x65\x74\ +\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\ +\x63\x6b\x28\x6e\x28\x61\x29\x2e\x66\x69\x6c\x74\x65\x72\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x66\x6f\x72\x28\x62\x3d\ +\x30\x3b\x65\x3e\x62\x3b\x62\x2b\x2b\x29\x69\x66\x28\x6e\x2e\x63\ +\x6f\x6e\x74\x61\x69\x6e\x73\x28\x64\x5b\x62\x5d\x2c\x74\x68\x69\ +\x73\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x29\x29\x3b\x66\ +\x6f\x72\x28\x62\x3d\x30\x3b\x65\x3e\x62\x3b\x62\x2b\x2b\x29\x6e\ +\x2e\x66\x69\x6e\x64\x28\x61\x2c\x64\x5b\x62\x5d\x2c\x63\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x63\x3d\x74\x68\x69\x73\x2e\x70\x75\ +\x73\x68\x53\x74\x61\x63\x6b\x28\x65\x3e\x31\x3f\x6e\x2e\x75\x6e\ +\x69\x71\x75\x65\x28\x63\x29\x3a\x63\x29\x2c\x63\x2e\x73\x65\x6c\ +\x65\x63\x74\x6f\x72\x3d\x74\x68\x69\x73\x2e\x73\x65\x6c\x65\x63\ +\x74\x6f\x72\x3f\x74\x68\x69\x73\x2e\x73\x65\x6c\x65\x63\x74\x6f\ +\x72\x2b\x22\x20\x22\x2b\x61\x3a\x61\x2c\x63\x7d\x2c\x66\x69\x6c\ +\x74\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\ +\x53\x74\x61\x63\x6b\x28\x78\x28\x74\x68\x69\x73\x2c\x61\x7c\x7c\ +\x5b\x5d\x2c\x21\x31\x29\x29\x7d\x2c\x6e\x6f\x74\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x78\ +\x28\x74\x68\x69\x73\x2c\x61\x7c\x7c\x5b\x5d\x2c\x21\x30\x29\x29\ +\x7d\x2c\x69\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x21\x21\x78\x28\x74\x68\x69\x73\x2c\ +\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\ +\x20\x61\x26\x26\x75\x2e\x74\x65\x73\x74\x28\x61\x29\x3f\x6e\x28\ +\x61\x29\x3a\x61\x7c\x7c\x5b\x5d\x2c\x21\x31\x29\x2e\x6c\x65\x6e\ +\x67\x74\x68\x7d\x7d\x29\x3b\x76\x61\x72\x20\x79\x2c\x7a\x3d\x61\ +\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2c\x41\x3d\x2f\x5e\x28\x3f\ +\x3a\x5c\x73\x2a\x28\x3c\x5b\x5c\x77\x5c\x57\x5d\x2b\x3e\x29\x5b\ +\x5e\x3e\x5d\x2a\x7c\x23\x28\x5b\x5c\x77\x2d\x5d\x2a\x29\x29\x24\ +\x2f\x2c\x42\x3d\x6e\x2e\x66\x6e\x2e\x69\x6e\x69\x74\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ +\x63\x2c\x64\x3b\x69\x66\x28\x21\x61\x29\x72\x65\x74\x75\x72\x6e\ +\x20\x74\x68\x69\x73\x3b\x69\x66\x28\x22\x73\x74\x72\x69\x6e\x67\ +\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x7b\x69\x66\x28\ +\x63\x3d\x22\x3c\x22\x3d\x3d\x3d\x61\x2e\x63\x68\x61\x72\x41\x74\ +\x28\x30\x29\x26\x26\x22\x3e\x22\x3d\x3d\x3d\x61\x2e\x63\x68\x61\ +\x72\x41\x74\x28\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2d\x31\x29\x26\ +\x26\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x3d\x33\x3f\x5b\x6e\x75\ +\x6c\x6c\x2c\x61\x2c\x6e\x75\x6c\x6c\x5d\x3a\x41\x2e\x65\x78\x65\ +\x63\x28\x61\x29\x2c\x21\x63\x7c\x7c\x21\x63\x5b\x31\x5d\x26\x26\ +\x62\x29\x72\x65\x74\x75\x72\x6e\x21\x62\x7c\x7c\x62\x2e\x6a\x71\ +\x75\x65\x72\x79\x3f\x28\x62\x7c\x7c\x79\x29\x2e\x66\x69\x6e\x64\ +\x28\x61\x29\x3a\x74\x68\x69\x73\x2e\x63\x6f\x6e\x73\x74\x72\x75\ +\x63\x74\x6f\x72\x28\x62\x29\x2e\x66\x69\x6e\x64\x28\x61\x29\x3b\ +\x69\x66\x28\x63\x5b\x31\x5d\x29\x7b\x69\x66\x28\x62\x3d\x62\x20\ +\x69\x6e\x73\x74\x61\x6e\x63\x65\x6f\x66\x20\x6e\x3f\x62\x5b\x30\ +\x5d\x3a\x62\x2c\x6e\x2e\x6d\x65\x72\x67\x65\x28\x74\x68\x69\x73\ +\x2c\x6e\x2e\x70\x61\x72\x73\x65\x48\x54\x4d\x4c\x28\x63\x5b\x31\ +\x5d\x2c\x62\x26\x26\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\ +\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\ +\x7c\x62\x3a\x7a\x2c\x21\x30\x29\x29\x2c\x76\x2e\x74\x65\x73\x74\ +\x28\x63\x5b\x31\x5d\x29\x26\x26\x6e\x2e\x69\x73\x50\x6c\x61\x69\ +\x6e\x4f\x62\x6a\x65\x63\x74\x28\x62\x29\x29\x66\x6f\x72\x28\x63\ +\x20\x69\x6e\x20\x62\x29\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x74\x68\x69\x73\x5b\x63\x5d\x29\x3f\x74\x68\x69\x73\ +\x5b\x63\x5d\x28\x62\x5b\x63\x5d\x29\x3a\x74\x68\x69\x73\x2e\x61\ +\x74\x74\x72\x28\x63\x2c\x62\x5b\x63\x5d\x29\x3b\x72\x65\x74\x75\ +\x72\x6e\x20\x74\x68\x69\x73\x7d\x69\x66\x28\x64\x3d\x7a\x2e\x67\ +\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x63\x5b\ +\x32\x5d\x29\x2c\x64\x26\x26\x64\x2e\x70\x61\x72\x65\x6e\x74\x4e\ +\x6f\x64\x65\x29\x7b\x69\x66\x28\x64\x2e\x69\x64\x21\x3d\x3d\x63\ +\x5b\x32\x5d\x29\x72\x65\x74\x75\x72\x6e\x20\x79\x2e\x66\x69\x6e\ +\x64\x28\x61\x29\x3b\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3d\x31\x2c\x74\x68\x69\x73\x5b\x30\x5d\x3d\x64\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\ +\x3d\x7a\x2c\x74\x68\x69\x73\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\ +\x3d\x61\x2c\x74\x68\x69\x73\x7d\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x28\x74\x68\x69\x73\x2e\ +\x63\x6f\x6e\x74\x65\x78\x74\x3d\x74\x68\x69\x73\x5b\x30\x5d\x3d\ +\x61\x2c\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3d\x31\x2c\ +\x74\x68\x69\x73\x29\x3a\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x3f\x22\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\ +\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x79\x2e\x72\x65\x61\x64\ +\x79\x3f\x79\x2e\x72\x65\x61\x64\x79\x28\x61\x29\x3a\x61\x28\x6e\ +\x29\x3a\x28\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x61\x2e\x73\x65\ +\x6c\x65\x63\x74\x6f\x72\x26\x26\x28\x74\x68\x69\x73\x2e\x73\x65\ +\x6c\x65\x63\x74\x6f\x72\x3d\x61\x2e\x73\x65\x6c\x65\x63\x74\x6f\ +\x72\x2c\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\x3d\x61\ +\x2e\x63\x6f\x6e\x74\x65\x78\x74\x29\x2c\x6e\x2e\x6d\x61\x6b\x65\ +\x41\x72\x72\x61\x79\x28\x61\x2c\x74\x68\x69\x73\x29\x29\x7d\x3b\ +\x42\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3d\x6e\x2e\x66\x6e\ +\x2c\x79\x3d\x6e\x28\x7a\x29\x3b\x76\x61\x72\x20\x43\x3d\x2f\x5e\ +\x28\x3f\x3a\x70\x61\x72\x65\x6e\x74\x73\x7c\x70\x72\x65\x76\x28\ +\x3f\x3a\x55\x6e\x74\x69\x6c\x7c\x41\x6c\x6c\x29\x29\x2f\x2c\x44\ +\x3d\x7b\x63\x68\x69\x6c\x64\x72\x65\x6e\x3a\x21\x30\x2c\x63\x6f\ +\x6e\x74\x65\x6e\x74\x73\x3a\x21\x30\x2c\x6e\x65\x78\x74\x3a\x21\ +\x30\x2c\x70\x72\x65\x76\x3a\x21\x30\x7d\x3b\x6e\x2e\x65\x78\x74\ +\x65\x6e\x64\x28\x7b\x64\x69\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x5b\ +\x5d\x2c\x65\x3d\x61\x5b\x62\x5d\x3b\x77\x68\x69\x6c\x65\x28\x65\ +\x26\x26\x39\x21\x3d\x3d\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ +\x26\x26\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x7c\x7c\x31\ +\x21\x3d\x3d\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x21\ +\x6e\x28\x65\x29\x2e\x69\x73\x28\x63\x29\x29\x29\x31\x3d\x3d\x3d\ +\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x64\x2e\x70\x75\ +\x73\x68\x28\x65\x29\x2c\x65\x3d\x65\x5b\x62\x5d\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x64\x7d\x2c\x73\x69\x62\x6c\x69\x6e\x67\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\ +\x28\x76\x61\x72\x20\x63\x3d\x5b\x5d\x3b\x61\x3b\x61\x3d\x61\x2e\ +\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x29\x31\x3d\x3d\x3d\ +\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x61\x21\x3d\x3d\ +\x62\x26\x26\x63\x2e\x70\x75\x73\x68\x28\x61\x29\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x63\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\ +\x74\x65\x6e\x64\x28\x7b\x68\x61\x73\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x6e\x28\ +\x61\x2c\x74\x68\x69\x73\x29\x2c\x64\x3d\x63\x2e\x6c\x65\x6e\x67\ +\x74\x68\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x66\ +\x69\x6c\x74\x65\x72\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x66\x6f\x72\x28\x62\x3d\x30\x3b\x64\x3e\x62\x3b\x62\x2b\x2b\ +\x29\x69\x66\x28\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x74\ +\x68\x69\x73\x2c\x63\x5b\x62\x5d\x29\x29\x72\x65\x74\x75\x72\x6e\ +\x21\x30\x7d\x29\x7d\x2c\x63\x6c\x6f\x73\x65\x73\x74\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\ +\x76\x61\x72\x20\x63\x2c\x64\x3d\x30\x2c\x65\x3d\x74\x68\x69\x73\ +\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x66\x3d\x5b\x5d\x2c\x67\x3d\x75\ +\x2e\x74\x65\x73\x74\x28\x61\x29\x7c\x7c\x22\x73\x74\x72\x69\x6e\ +\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x6e\x28\x61\ +\x2c\x62\x7c\x7c\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\ +\x29\x3a\x30\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x66\x6f\x72\x28\ +\x63\x3d\x74\x68\x69\x73\x5b\x64\x5d\x3b\x63\x26\x26\x63\x21\x3d\ +\x3d\x62\x3b\x63\x3d\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ +\x65\x29\x69\x66\x28\x63\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3c\ +\x31\x31\x26\x26\x28\x67\x3f\x67\x2e\x69\x6e\x64\x65\x78\x28\x63\ +\x29\x3e\x2d\x31\x3a\x31\x3d\x3d\x3d\x63\x2e\x6e\x6f\x64\x65\x54\ +\x79\x70\x65\x26\x26\x6e\x2e\x66\x69\x6e\x64\x2e\x6d\x61\x74\x63\ +\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x28\x63\x2c\x61\x29\ +\x29\x29\x7b\x66\x2e\x70\x75\x73\x68\x28\x63\x29\x3b\x62\x72\x65\ +\x61\x6b\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\ +\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x66\x2e\x6c\x65\x6e\x67\x74\ +\x68\x3e\x31\x3f\x6e\x2e\x75\x6e\x69\x71\x75\x65\x28\x66\x29\x3a\ +\x66\x29\x7d\x2c\x69\x6e\x64\x65\x78\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3f\x22\ +\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ +\x61\x3f\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x74\x68\x69\x73\ +\x5b\x30\x5d\x2c\x6e\x28\x61\x29\x29\x3a\x6e\x2e\x69\x6e\x41\x72\ +\x72\x61\x79\x28\x61\x2e\x6a\x71\x75\x65\x72\x79\x3f\x61\x5b\x30\ +\x5d\x3a\x61\x2c\x74\x68\x69\x73\x29\x3a\x74\x68\x69\x73\x5b\x30\ +\x5d\x26\x26\x74\x68\x69\x73\x5b\x30\x5d\x2e\x70\x61\x72\x65\x6e\ +\x74\x4e\x6f\x64\x65\x3f\x74\x68\x69\x73\x2e\x66\x69\x72\x73\x74\ +\x28\x29\x2e\x70\x72\x65\x76\x41\x6c\x6c\x28\x29\x2e\x6c\x65\x6e\ +\x67\x74\x68\x3a\x2d\x31\x7d\x2c\x61\x64\x64\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\ +\x6e\x2e\x75\x6e\x69\x71\x75\x65\x28\x6e\x2e\x6d\x65\x72\x67\x65\ +\x28\x74\x68\x69\x73\x2e\x67\x65\x74\x28\x29\x2c\x6e\x28\x61\x2c\ +\x62\x29\x29\x29\x29\x7d\x2c\x61\x64\x64\x42\x61\x63\x6b\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x74\x68\x69\x73\x2e\x61\x64\x64\x28\x6e\x75\x6c\x6c\x3d\ +\x3d\x61\x3f\x74\x68\x69\x73\x2e\x70\x72\x65\x76\x4f\x62\x6a\x65\ +\x63\x74\x3a\x74\x68\x69\x73\x2e\x70\x72\x65\x76\x4f\x62\x6a\x65\ +\x63\x74\x2e\x66\x69\x6c\x74\x65\x72\x28\x61\x29\x29\x7d\x7d\x29\ +\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x45\x28\x61\x2c\x62\x29\ +\x7b\x64\x6f\x20\x61\x3d\x61\x5b\x62\x5d\x3b\x77\x68\x69\x6c\x65\ +\x28\x61\x26\x26\x31\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\ +\x70\x65\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x6e\x2e\x65\ +\x61\x63\x68\x28\x7b\x70\x61\x72\x65\x6e\x74\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\ +\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x3b\x72\x65\x74\x75\x72\ +\x6e\x20\x62\x26\x26\x31\x31\x21\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\ +\x54\x79\x70\x65\x3f\x62\x3a\x6e\x75\x6c\x6c\x7d\x2c\x70\x61\x72\ +\x65\x6e\x74\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\ +\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\x29\x7d\x2c\x70\ +\x61\x72\x65\x6e\x74\x73\x55\x6e\x74\x69\x6c\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x70\x61\x72\x65\ +\x6e\x74\x4e\x6f\x64\x65\x22\x2c\x63\x29\x7d\x2c\x6e\x65\x78\x74\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x45\x28\x61\x2c\x22\x6e\x65\x78\x74\x53\x69\x62\ +\x6c\x69\x6e\x67\x22\x29\x7d\x2c\x70\x72\x65\x76\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x45\x28\x61\x2c\x22\x70\x72\x65\x76\x69\x6f\x75\x73\x53\x69\x62\ +\x6c\x69\x6e\x67\x22\x29\x7d\x2c\x6e\x65\x78\x74\x41\x6c\x6c\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x6e\x65\x78\x74\ +\x53\x69\x62\x6c\x69\x6e\x67\x22\x29\x7d\x2c\x70\x72\x65\x76\x41\ +\x6c\x6c\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x70\ +\x72\x65\x76\x69\x6f\x75\x73\x53\x69\x62\x6c\x69\x6e\x67\x22\x29\ +\x7d\x2c\x6e\x65\x78\x74\x55\x6e\x74\x69\x6c\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x6e\x65\x78\x74\ +\x53\x69\x62\x6c\x69\x6e\x67\x22\x2c\x63\x29\x7d\x2c\x70\x72\x65\ +\x76\x55\x6e\x74\x69\x6c\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\ +\x64\x69\x72\x28\x61\x2c\x22\x70\x72\x65\x76\x69\x6f\x75\x73\x53\ +\x69\x62\x6c\x69\x6e\x67\x22\x2c\x63\x29\x7d\x2c\x73\x69\x62\x6c\ +\x69\x6e\x67\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x73\x69\x62\x6c\x69\x6e\ +\x67\x28\x28\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x7c\ +\x7c\x7b\x7d\x29\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2c\ +\x61\x29\x7d\x2c\x63\x68\x69\x6c\x64\x72\x65\x6e\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x2e\x73\x69\x62\x6c\x69\x6e\x67\x28\x61\x2e\x66\x69\x72\x73\ +\x74\x43\x68\x69\x6c\x64\x29\x7d\x2c\x63\x6f\x6e\x74\x65\x6e\x74\ +\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\ +\x61\x2c\x22\x69\x66\x72\x61\x6d\x65\x22\x29\x3f\x61\x2e\x63\x6f\ +\x6e\x74\x65\x6e\x74\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\ +\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x57\x69\x6e\x64\x6f\x77\x2e\x64\ +\x6f\x63\x75\x6d\x65\x6e\x74\x3a\x6e\x2e\x6d\x65\x72\x67\x65\x28\ +\x5b\x5d\x2c\x61\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\ +\x7d\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ +\x7b\x6e\x2e\x66\x6e\x5b\x61\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x6e\x2e\x6d\ +\x61\x70\x28\x74\x68\x69\x73\x2c\x62\x2c\x63\x29\x3b\x72\x65\x74\ +\x75\x72\x6e\x22\x55\x6e\x74\x69\x6c\x22\x21\x3d\x3d\x61\x2e\x73\ +\x6c\x69\x63\x65\x28\x2d\x35\x29\x26\x26\x28\x64\x3d\x63\x29\x2c\ +\x64\x26\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\ +\x65\x6f\x66\x20\x64\x26\x26\x28\x65\x3d\x6e\x2e\x66\x69\x6c\x74\ +\x65\x72\x28\x64\x2c\x65\x29\x29\x2c\x74\x68\x69\x73\x2e\x6c\x65\ +\x6e\x67\x74\x68\x3e\x31\x26\x26\x28\x44\x5b\x61\x5d\x7c\x7c\x28\ +\x65\x3d\x6e\x2e\x75\x6e\x69\x71\x75\x65\x28\x65\x29\x29\x2c\x43\ +\x2e\x74\x65\x73\x74\x28\x61\x29\x26\x26\x28\x65\x3d\x65\x2e\x72\ +\x65\x76\x65\x72\x73\x65\x28\x29\x29\x29\x2c\x74\x68\x69\x73\x2e\ +\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x65\x29\x7d\x7d\x29\x3b\ +\x76\x61\x72\x20\x46\x3d\x2f\x5c\x53\x2b\x2f\x67\x2c\x47\x3d\x7b\ +\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x48\x28\x61\x29\x7b\ +\x76\x61\x72\x20\x62\x3d\x47\x5b\x61\x5d\x3d\x7b\x7d\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x2e\x65\x61\x63\x68\x28\x61\x2e\x6d\x61\ +\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\x2c\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x63\x29\x7b\x62\x5b\x63\x5d\x3d\x21\x30\ +\x7d\x29\x2c\x62\x7d\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\x73\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x61\x3d\x22\ +\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ +\x61\x3f\x47\x5b\x61\x5d\x7c\x7c\x48\x28\x61\x29\x3a\x6e\x2e\x65\ +\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x61\x29\x3b\x76\x61\x72\x20\ +\x62\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x5b\x5d\ +\x2c\x69\x3d\x21\x61\x2e\x6f\x6e\x63\x65\x26\x26\x5b\x5d\x2c\x6a\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6c\x29\x7b\x66\x6f\x72\ +\x28\x63\x3d\x61\x2e\x6d\x65\x6d\x6f\x72\x79\x26\x26\x6c\x2c\x64\ +\x3d\x21\x30\x2c\x66\x3d\x67\x7c\x7c\x30\x2c\x67\x3d\x30\x2c\x65\ +\x3d\x68\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x62\x3d\x21\x30\x3b\x68\ +\x26\x26\x65\x3e\x66\x3b\x66\x2b\x2b\x29\x69\x66\x28\x68\x5b\x66\ +\x5d\x2e\x61\x70\x70\x6c\x79\x28\x6c\x5b\x30\x5d\x2c\x6c\x5b\x31\ +\x5d\x29\x3d\x3d\x3d\x21\x31\x26\x26\x61\x2e\x73\x74\x6f\x70\x4f\ +\x6e\x46\x61\x6c\x73\x65\x29\x7b\x63\x3d\x21\x31\x3b\x62\x72\x65\ +\x61\x6b\x7d\x62\x3d\x21\x31\x2c\x68\x26\x26\x28\x69\x3f\x69\x2e\ +\x6c\x65\x6e\x67\x74\x68\x26\x26\x6a\x28\x69\x2e\x73\x68\x69\x66\ +\x74\x28\x29\x29\x3a\x63\x3f\x68\x3d\x5b\x5d\x3a\x6b\x2e\x64\x69\ +\x73\x61\x62\x6c\x65\x28\x29\x29\x7d\x2c\x6b\x3d\x7b\x61\x64\x64\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x68\ +\x29\x7b\x76\x61\x72\x20\x64\x3d\x68\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3b\x21\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x66\x28\x62\x29\x7b\ +\x6e\x2e\x65\x61\x63\x68\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x6e\x2e\x74\ +\x79\x70\x65\x28\x63\x29\x3b\x22\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x22\x3d\x3d\x3d\x64\x3f\x61\x2e\x75\x6e\x69\x71\x75\x65\x26\x26\ +\x6b\x2e\x68\x61\x73\x28\x63\x29\x7c\x7c\x68\x2e\x70\x75\x73\x68\ +\x28\x63\x29\x3a\x63\x26\x26\x63\x2e\x6c\x65\x6e\x67\x74\x68\x26\ +\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x3d\x64\x26\x26\x66\ +\x28\x63\x29\x7d\x29\x7d\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\ +\x29\x2c\x62\x3f\x65\x3d\x68\x2e\x6c\x65\x6e\x67\x74\x68\x3a\x63\ +\x26\x26\x28\x67\x3d\x64\x2c\x6a\x28\x63\x29\x29\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\x72\x65\x6d\x6f\x76\x65\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x68\x26\x26\x6e\x2e\x65\x61\x63\x68\x28\x61\x72\x67\ +\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x77\x68\x69\x6c\x65\ +\x28\x28\x64\x3d\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x63\x2c\ +\x68\x2c\x64\x29\x29\x3e\x2d\x31\x29\x68\x2e\x73\x70\x6c\x69\x63\ +\x65\x28\x64\x2c\x31\x29\x2c\x62\x26\x26\x28\x65\x3e\x3d\x64\x26\ +\x26\x65\x2d\x2d\x2c\x66\x3e\x3d\x64\x26\x26\x66\x2d\x2d\x29\x7d\ +\x29\x2c\x74\x68\x69\x73\x7d\x2c\x68\x61\x73\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x3f\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x61\x2c\x68\x29\x3e\ +\x2d\x31\x3a\x21\x28\x21\x68\x7c\x7c\x21\x68\x2e\x6c\x65\x6e\x67\ +\x74\x68\x29\x7d\x2c\x65\x6d\x70\x74\x79\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x68\x3d\x5b\ +\x5d\x2c\x65\x3d\x30\x2c\x74\x68\x69\x73\x7d\x2c\x64\x69\x73\x61\ +\x62\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x68\x3d\x69\x3d\x63\x3d\x76\x6f\x69\x64\ +\x20\x30\x2c\x74\x68\x69\x73\x7d\x2c\x64\x69\x73\x61\x62\x6c\x65\ +\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x21\x68\x7d\x2c\x6c\x6f\x63\x6b\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x69\x3d\ +\x76\x6f\x69\x64\x20\x30\x2c\x63\x7c\x7c\x6b\x2e\x64\x69\x73\x61\ +\x62\x6c\x65\x28\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6c\x6f\x63\x6b\ +\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x21\x69\x7d\x2c\x66\x69\x72\x65\x57\x69\x74\x68\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x21\x68\x7c\x7c\x64\x26\x26\x21\x69\x7c\x7c\ +\x28\x63\x3d\x63\x7c\x7c\x5b\x5d\x2c\x63\x3d\x5b\x61\x2c\x63\x2e\ +\x73\x6c\x69\x63\x65\x3f\x63\x2e\x73\x6c\x69\x63\x65\x28\x29\x3a\ +\x63\x5d\x2c\x62\x3f\x69\x2e\x70\x75\x73\x68\x28\x63\x29\x3a\x6a\ +\x28\x63\x29\x29\x2c\x74\x68\x69\x73\x7d\x2c\x66\x69\x72\x65\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x6b\x2e\x66\x69\x72\x65\x57\x69\x74\x68\x28\x74\x68\x69\ +\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x74\x68\x69\ +\x73\x7d\x2c\x66\x69\x72\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x21\x64\x7d\x7d\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x6b\x7d\x2c\x6e\x2e\x65\x78\x74\x65\ +\x6e\x64\x28\x7b\x44\x65\x66\x65\x72\x72\x65\x64\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x5b\ +\x5b\x22\x72\x65\x73\x6f\x6c\x76\x65\x22\x2c\x22\x64\x6f\x6e\x65\ +\x22\x2c\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\x73\x28\x22\x6f\ +\x6e\x63\x65\x20\x6d\x65\x6d\x6f\x72\x79\x22\x29\x2c\x22\x72\x65\ +\x73\x6f\x6c\x76\x65\x64\x22\x5d\x2c\x5b\x22\x72\x65\x6a\x65\x63\ +\x74\x22\x2c\x22\x66\x61\x69\x6c\x22\x2c\x6e\x2e\x43\x61\x6c\x6c\ +\x62\x61\x63\x6b\x73\x28\x22\x6f\x6e\x63\x65\x20\x6d\x65\x6d\x6f\ +\x72\x79\x22\x29\x2c\x22\x72\x65\x6a\x65\x63\x74\x65\x64\x22\x5d\ +\x2c\x5b\x22\x6e\x6f\x74\x69\x66\x79\x22\x2c\x22\x70\x72\x6f\x67\ +\x72\x65\x73\x73\x22\x2c\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\ +\x73\x28\x22\x6d\x65\x6d\x6f\x72\x79\x22\x29\x5d\x5d\x2c\x63\x3d\ +\x22\x70\x65\x6e\x64\x69\x6e\x67\x22\x2c\x64\x3d\x7b\x73\x74\x61\ +\x74\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x63\x7d\x2c\x61\x6c\x77\x61\x79\x73\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x65\x2e\x64\x6f\x6e\x65\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\ +\x73\x29\x2e\x66\x61\x69\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\ +\x73\x29\x2c\x74\x68\x69\x73\x7d\x2c\x74\x68\x65\x6e\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x61\ +\x72\x67\x75\x6d\x65\x6e\x74\x73\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x2e\x44\x65\x66\x65\x72\x72\x65\x64\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x63\x29\x7b\x6e\x2e\x65\x61\x63\x68\x28\x62\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x66\x29\x7b\x76\x61\ +\x72\x20\x67\x3d\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x5b\x62\x5d\x29\x26\x26\x61\x5b\x62\x5d\x3b\x65\x5b\x66\ +\x5b\x31\x5d\x5d\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x76\x61\x72\x20\x61\x3d\x67\x26\x26\x67\x2e\x61\x70\x70\x6c\x79\ +\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\ +\x3b\x61\x26\x26\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2e\x70\x72\x6f\x6d\x69\x73\x65\x29\x3f\x61\x2e\x70\x72\ +\x6f\x6d\x69\x73\x65\x28\x29\x2e\x64\x6f\x6e\x65\x28\x63\x2e\x72\ +\x65\x73\x6f\x6c\x76\x65\x29\x2e\x66\x61\x69\x6c\x28\x63\x2e\x72\ +\x65\x6a\x65\x63\x74\x29\x2e\x70\x72\x6f\x67\x72\x65\x73\x73\x28\ +\x63\x2e\x6e\x6f\x74\x69\x66\x79\x29\x3a\x63\x5b\x66\x5b\x30\x5d\ +\x2b\x22\x57\x69\x74\x68\x22\x5d\x28\x74\x68\x69\x73\x3d\x3d\x3d\ +\x64\x3f\x63\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\x3a\x74\x68\ +\x69\x73\x2c\x67\x3f\x5b\x61\x5d\x3a\x61\x72\x67\x75\x6d\x65\x6e\ +\x74\x73\x29\x7d\x29\x7d\x29\x2c\x61\x3d\x6e\x75\x6c\x6c\x7d\x29\ +\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\x7d\x2c\x70\x72\x6f\x6d\ +\x69\x73\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x21\x3d\x61\x3f\x6e\ +\x2e\x65\x78\x74\x65\x6e\x64\x28\x61\x2c\x64\x29\x3a\x64\x7d\x7d\ +\x2c\x65\x3d\x7b\x7d\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x70\ +\x69\x70\x65\x3d\x64\x2e\x74\x68\x65\x6e\x2c\x6e\x2e\x65\x61\x63\ +\x68\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x66\ +\x29\x7b\x76\x61\x72\x20\x67\x3d\x66\x5b\x32\x5d\x2c\x68\x3d\x66\ +\x5b\x33\x5d\x3b\x64\x5b\x66\x5b\x31\x5d\x5d\x3d\x67\x2e\x61\x64\ +\x64\x2c\x68\x26\x26\x67\x2e\x61\x64\x64\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x63\x3d\x68\x7d\x2c\x62\x5b\x31\x5e\x61\ +\x5d\x5b\x32\x5d\x2e\x64\x69\x73\x61\x62\x6c\x65\x2c\x62\x5b\x32\ +\x5d\x5b\x32\x5d\x2e\x6c\x6f\x63\x6b\x29\x2c\x65\x5b\x66\x5b\x30\ +\x5d\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x65\x5b\x66\x5b\x30\x5d\x2b\x22\x57\x69\x74\ +\x68\x22\x5d\x28\x74\x68\x69\x73\x3d\x3d\x3d\x65\x3f\x64\x3a\x74\ +\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x74\ +\x68\x69\x73\x7d\x2c\x65\x5b\x66\x5b\x30\x5d\x2b\x22\x57\x69\x74\ +\x68\x22\x5d\x3d\x67\x2e\x66\x69\x72\x65\x57\x69\x74\x68\x7d\x29\ +\x2c\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x65\x29\x2c\x61\x26\ +\x26\x61\x2e\x63\x61\x6c\x6c\x28\x65\x2c\x65\x29\x2c\x65\x7d\x2c\ +\x77\x68\x65\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x76\x61\x72\x20\x62\x3d\x30\x2c\x63\x3d\x64\x2e\x63\x61\x6c\ +\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x65\x3d\x63\ +\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x66\x3d\x31\x21\x3d\x3d\x65\x7c\ +\x7c\x61\x26\x26\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2e\x70\x72\x6f\x6d\x69\x73\x65\x29\x3f\x65\x3a\x30\x2c\ +\x67\x3d\x31\x3d\x3d\x3d\x66\x3f\x61\x3a\x6e\x2e\x44\x65\x66\x65\ +\x72\x72\x65\x64\x28\x29\x2c\x68\x3d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x65\x29\x7b\x62\x5b\x61\x5d\ +\x3d\x74\x68\x69\x73\x2c\x63\x5b\x61\x5d\x3d\x61\x72\x67\x75\x6d\ +\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x31\x3f\x64\x2e\ +\x63\x61\x6c\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x3a\ +\x65\x2c\x63\x3d\x3d\x3d\x69\x3f\x67\x2e\x6e\x6f\x74\x69\x66\x79\ +\x57\x69\x74\x68\x28\x62\x2c\x63\x29\x3a\x2d\x2d\x66\x7c\x7c\x67\ +\x2e\x72\x65\x73\x6f\x6c\x76\x65\x57\x69\x74\x68\x28\x62\x2c\x63\ +\x29\x7d\x7d\x2c\x69\x2c\x6a\x2c\x6b\x3b\x69\x66\x28\x65\x3e\x31\ +\x29\x66\x6f\x72\x28\x69\x3d\x6e\x65\x77\x20\x41\x72\x72\x61\x79\ +\x28\x65\x29\x2c\x6a\x3d\x6e\x65\x77\x20\x41\x72\x72\x61\x79\x28\ +\x65\x29\x2c\x6b\x3d\x6e\x65\x77\x20\x41\x72\x72\x61\x79\x28\x65\ +\x29\x3b\x65\x3e\x62\x3b\x62\x2b\x2b\x29\x63\x5b\x62\x5d\x26\x26\ +\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x5b\x62\ +\x5d\x2e\x70\x72\x6f\x6d\x69\x73\x65\x29\x3f\x63\x5b\x62\x5d\x2e\ +\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\x2e\x64\x6f\x6e\x65\x28\x68\ +\x28\x62\x2c\x6b\x2c\x63\x29\x29\x2e\x66\x61\x69\x6c\x28\x67\x2e\ +\x72\x65\x6a\x65\x63\x74\x29\x2e\x70\x72\x6f\x67\x72\x65\x73\x73\ +\x28\x68\x28\x62\x2c\x6a\x2c\x69\x29\x29\x3a\x2d\x2d\x66\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x66\x7c\x7c\x67\x2e\x72\x65\x73\x6f\x6c\ +\x76\x65\x57\x69\x74\x68\x28\x6b\x2c\x63\x29\x2c\x67\x2e\x70\x72\ +\x6f\x6d\x69\x73\x65\x28\x29\x7d\x7d\x29\x3b\x76\x61\x72\x20\x49\ +\x3b\x6e\x2e\x66\x6e\x2e\x72\x65\x61\x64\x79\x3d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\ +\x2e\x72\x65\x61\x64\x79\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\ +\x2e\x64\x6f\x6e\x65\x28\x61\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6e\ +\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x69\x73\x52\x65\x61\x64\x79\ +\x3a\x21\x31\x2c\x72\x65\x61\x64\x79\x57\x61\x69\x74\x3a\x31\x2c\ +\x68\x6f\x6c\x64\x52\x65\x61\x64\x79\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x61\x3f\x6e\x2e\x72\x65\x61\x64\x79\x57\ +\x61\x69\x74\x2b\x2b\x3a\x6e\x2e\x72\x65\x61\x64\x79\x28\x21\x30\ +\x29\x7d\x2c\x72\x65\x61\x64\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x69\x66\x28\x61\x3d\x3d\x3d\x21\x30\x3f\x21\ +\x2d\x2d\x6e\x2e\x72\x65\x61\x64\x79\x57\x61\x69\x74\x3a\x21\x6e\ +\x2e\x69\x73\x52\x65\x61\x64\x79\x29\x7b\x69\x66\x28\x21\x7a\x2e\ +\x62\x6f\x64\x79\x29\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x74\x54\ +\x69\x6d\x65\x6f\x75\x74\x28\x6e\x2e\x72\x65\x61\x64\x79\x29\x3b\ +\x6e\x2e\x69\x73\x52\x65\x61\x64\x79\x3d\x21\x30\x2c\x61\x21\x3d\ +\x3d\x21\x30\x26\x26\x2d\x2d\x6e\x2e\x72\x65\x61\x64\x79\x57\x61\ +\x69\x74\x3e\x30\x7c\x7c\x28\x49\x2e\x72\x65\x73\x6f\x6c\x76\x65\ +\x57\x69\x74\x68\x28\x7a\x2c\x5b\x6e\x5d\x29\x2c\x6e\x2e\x66\x6e\ +\x2e\x74\x72\x69\x67\x67\x65\x72\x26\x26\x6e\x28\x7a\x29\x2e\x74\ +\x72\x69\x67\x67\x65\x72\x28\x22\x72\x65\x61\x64\x79\x22\x29\x2e\ +\x6f\x66\x66\x28\x22\x72\x65\x61\x64\x79\x22\x29\x29\x7d\x7d\x7d\ +\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x4a\x28\x29\x7b\x7a\ +\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\ +\x72\x3f\x28\x7a\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\ +\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x44\x4f\x4d\x43\x6f\x6e\ +\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64\x22\x2c\x4b\x2c\x21\x31\ +\x29\x2c\x61\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\ +\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6c\x6f\x61\x64\x22\x2c\x4b\ +\x2c\x21\x31\x29\x29\x3a\x28\x7a\x2e\x64\x65\x74\x61\x63\x68\x45\ +\x76\x65\x6e\x74\x28\x22\x6f\x6e\x72\x65\x61\x64\x79\x73\x74\x61\ +\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x4b\x29\x2c\x61\x2e\x64\ +\x65\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\x6c\x6f\ +\x61\x64\x22\x2c\x4b\x29\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x20\x4b\x28\x29\x7b\x28\x7a\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\ +\x4c\x69\x73\x74\x65\x6e\x65\x72\x7c\x7c\x22\x6c\x6f\x61\x64\x22\ +\x3d\x3d\x3d\x65\x76\x65\x6e\x74\x2e\x74\x79\x70\x65\x7c\x7c\x22\ +\x63\x6f\x6d\x70\x6c\x65\x74\x65\x22\x3d\x3d\x3d\x7a\x2e\x72\x65\ +\x61\x64\x79\x53\x74\x61\x74\x65\x29\x26\x26\x28\x4a\x28\x29\x2c\ +\x6e\x2e\x72\x65\x61\x64\x79\x28\x29\x29\x7d\x6e\x2e\x72\x65\x61\ +\x64\x79\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x62\x29\x7b\x69\x66\x28\x21\x49\x29\x69\x66\x28\ +\x49\x3d\x6e\x2e\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x2c\x22\ +\x63\x6f\x6d\x70\x6c\x65\x74\x65\x22\x3d\x3d\x3d\x7a\x2e\x72\x65\ +\x61\x64\x79\x53\x74\x61\x74\x65\x29\x73\x65\x74\x54\x69\x6d\x65\ +\x6f\x75\x74\x28\x6e\x2e\x72\x65\x61\x64\x79\x29\x3b\x65\x6c\x73\ +\x65\x20\x69\x66\x28\x7a\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\ +\x69\x73\x74\x65\x6e\x65\x72\x29\x7a\x2e\x61\x64\x64\x45\x76\x65\ +\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x44\x4f\x4d\x43\ +\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64\x22\x2c\x4b\x2c\ +\x21\x31\x29\x2c\x61\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\ +\x73\x74\x65\x6e\x65\x72\x28\x22\x6c\x6f\x61\x64\x22\x2c\x4b\x2c\ +\x21\x31\x29\x3b\x65\x6c\x73\x65\x7b\x7a\x2e\x61\x74\x74\x61\x63\ +\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\x72\x65\x61\x64\x79\x73\ +\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x4b\x29\x2c\x61\ +\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\ +\x6c\x6f\x61\x64\x22\x2c\x4b\x29\x3b\x76\x61\x72\x20\x63\x3d\x21\ +\x31\x3b\x74\x72\x79\x7b\x63\x3d\x6e\x75\x6c\x6c\x3d\x3d\x61\x2e\ +\x66\x72\x61\x6d\x65\x45\x6c\x65\x6d\x65\x6e\x74\x26\x26\x7a\x2e\ +\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x7d\ +\x63\x61\x74\x63\x68\x28\x64\x29\x7b\x7d\x63\x26\x26\x63\x2e\x64\ +\x6f\x53\x63\x72\x6f\x6c\x6c\x26\x26\x21\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x65\x28\x29\x7b\x69\x66\x28\x21\x6e\x2e\x69\x73\x52\ +\x65\x61\x64\x79\x29\x7b\x74\x72\x79\x7b\x63\x2e\x64\x6f\x53\x63\ +\x72\x6f\x6c\x6c\x28\x22\x6c\x65\x66\x74\x22\x29\x7d\x63\x61\x74\ +\x63\x68\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x74\ +\x54\x69\x6d\x65\x6f\x75\x74\x28\x65\x2c\x35\x30\x29\x7d\x4a\x28\ +\x29\x2c\x6e\x2e\x72\x65\x61\x64\x79\x28\x29\x7d\x7d\x28\x29\x7d\ +\x72\x65\x74\x75\x72\x6e\x20\x49\x2e\x70\x72\x6f\x6d\x69\x73\x65\ +\x28\x62\x29\x7d\x3b\x76\x61\x72\x20\x4c\x3d\x22\x75\x6e\x64\x65\ +\x66\x69\x6e\x65\x64\x22\x2c\x4d\x3b\x66\x6f\x72\x28\x4d\x20\x69\ +\x6e\x20\x6e\x28\x6c\x29\x29\x62\x72\x65\x61\x6b\x3b\x6c\x2e\x6f\ +\x77\x6e\x4c\x61\x73\x74\x3d\x22\x30\x22\x21\x3d\x3d\x4d\x2c\x6c\ +\x2e\x69\x6e\x6c\x69\x6e\x65\x42\x6c\x6f\x63\x6b\x4e\x65\x65\x64\ +\x73\x4c\x61\x79\x6f\x75\x74\x3d\x21\x31\x2c\x6e\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\ +\x63\x3d\x7a\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ +\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x62\x6f\x64\x79\x22\x29\ +\x5b\x30\x5d\x3b\x63\x26\x26\x28\x61\x3d\x7a\x2e\x63\x72\x65\x61\ +\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\ +\x2c\x61\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\ +\x3d\x22\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x77\x69\x64\x74\x68\ +\x3a\x30\x3b\x68\x65\x69\x67\x68\x74\x3a\x30\x3b\x70\x6f\x73\x69\ +\x74\x69\x6f\x6e\x3a\x61\x62\x73\x6f\x6c\x75\x74\x65\x3b\x74\x6f\ +\x70\x3a\x30\x3b\x6c\x65\x66\x74\x3a\x2d\x39\x39\x39\x39\x70\x78\ +\x3b\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\x3a\x31\x70\x78\x22\ +\x2c\x62\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\ +\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x63\x2e\x61\x70\x70\x65\ +\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\x29\x2e\x61\x70\x70\x65\x6e\ +\x64\x43\x68\x69\x6c\x64\x28\x62\x29\x2c\x74\x79\x70\x65\x6f\x66\ +\x20\x62\x2e\x73\x74\x79\x6c\x65\x2e\x7a\x6f\x6f\x6d\x21\x3d\x3d\ +\x4c\x26\x26\x28\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\ +\x65\x78\x74\x3d\x22\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x6d\x61\ +\x72\x67\x69\x6e\x3a\x30\x3b\x77\x69\x64\x74\x68\x3a\x31\x70\x78\ +\x3b\x70\x61\x64\x64\x69\x6e\x67\x3a\x31\x70\x78\x3b\x64\x69\x73\ +\x70\x6c\x61\x79\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x7a\x6f\x6f\x6d\ +\x3a\x31\x22\x2c\x28\x6c\x2e\x69\x6e\x6c\x69\x6e\x65\x42\x6c\x6f\ +\x63\x6b\x4e\x65\x65\x64\x73\x4c\x61\x79\x6f\x75\x74\x3d\x33\x3d\ +\x3d\x3d\x62\x2e\x6f\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68\x29\ +\x26\x26\x28\x63\x2e\x73\x74\x79\x6c\x65\x2e\x7a\x6f\x6f\x6d\x3d\ +\x31\x29\x29\x2c\x63\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\ +\x64\x28\x61\x29\x2c\x61\x3d\x62\x3d\x6e\x75\x6c\x6c\x29\x7d\x29\ +\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\ +\x61\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\ +\x74\x28\x22\x64\x69\x76\x22\x29\x3b\x69\x66\x28\x6e\x75\x6c\x6c\ +\x3d\x3d\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\x64\ +\x6f\x29\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\ +\x64\x6f\x3d\x21\x30\x3b\x74\x72\x79\x7b\x64\x65\x6c\x65\x74\x65\ +\x20\x61\x2e\x74\x65\x73\x74\x7d\x63\x61\x74\x63\x68\x28\x62\x29\ +\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\x64\x6f\ +\x3d\x21\x31\x7d\x7d\x61\x3d\x6e\x75\x6c\x6c\x7d\x28\x29\x2c\x6e\ +\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\x3d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\ +\x6e\x6f\x44\x61\x74\x61\x5b\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\ +\x6d\x65\x2b\x22\x20\x22\x29\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\ +\x61\x73\x65\x28\x29\x5d\x2c\x63\x3d\x2b\x61\x2e\x6e\x6f\x64\x65\ +\x54\x79\x70\x65\x7c\x7c\x31\x3b\x72\x65\x74\x75\x72\x6e\x20\x31\ +\x21\x3d\x3d\x63\x26\x26\x39\x21\x3d\x3d\x63\x3f\x21\x31\x3a\x21\ +\x62\x7c\x7c\x62\x21\x3d\x3d\x21\x30\x26\x26\x61\x2e\x67\x65\x74\ +\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6c\x61\x73\x73\ +\x69\x64\x22\x29\x3d\x3d\x3d\x62\x7d\x3b\x76\x61\x72\x20\x4e\x3d\ +\x2f\x5e\x28\x3f\x3a\x5c\x7b\x5b\x5c\x77\x5c\x57\x5d\x2a\x5c\x7d\ +\x7c\x5c\x5b\x5b\x5c\x77\x5c\x57\x5d\x2a\x5c\x5d\x29\x24\x2f\x2c\ +\x4f\x3d\x2f\x28\x5b\x41\x2d\x5a\x5d\x29\x2f\x67\x3b\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x50\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\ +\x66\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x26\x26\x31\x3d\ +\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x7b\x76\x61\ +\x72\x20\x64\x3d\x22\x64\x61\x74\x61\x2d\x22\x2b\x62\x2e\x72\x65\ +\x70\x6c\x61\x63\x65\x28\x4f\x2c\x22\x2d\x24\x31\x22\x29\x2e\x74\ +\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\x69\x66\x28\ +\x63\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\ +\x28\x64\x29\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\ +\x70\x65\x6f\x66\x20\x63\x29\x7b\x74\x72\x79\x7b\x63\x3d\x22\x74\ +\x72\x75\x65\x22\x3d\x3d\x3d\x63\x3f\x21\x30\x3a\x22\x66\x61\x6c\ +\x73\x65\x22\x3d\x3d\x3d\x63\x3f\x21\x31\x3a\x22\x6e\x75\x6c\x6c\ +\x22\x3d\x3d\x3d\x63\x3f\x6e\x75\x6c\x6c\x3a\x2b\x63\x2b\x22\x22\ +\x3d\x3d\x3d\x63\x3f\x2b\x63\x3a\x4e\x2e\x74\x65\x73\x74\x28\x63\ +\x29\x3f\x6e\x2e\x70\x61\x72\x73\x65\x4a\x53\x4f\x4e\x28\x63\x29\ +\x3a\x63\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x6e\x2e\x64\ +\x61\x74\x61\x28\x61\x2c\x62\x2c\x63\x29\x7d\x65\x6c\x73\x65\x20\ +\x63\x3d\x76\x6f\x69\x64\x20\x30\x7d\x72\x65\x74\x75\x72\x6e\x20\ +\x63\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x51\x28\x61\x29\x7b\ +\x76\x61\x72\x20\x62\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x20\x61\ +\x29\x69\x66\x28\x28\x22\x64\x61\x74\x61\x22\x21\x3d\x3d\x62\x7c\ +\x7c\x21\x6e\x2e\x69\x73\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\ +\x74\x28\x61\x5b\x62\x5d\x29\x29\x26\x26\x22\x74\x6f\x4a\x53\x4f\ +\x4e\x22\x21\x3d\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\ +\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x20\x52\x28\x61\x2c\x62\x2c\x64\x2c\x65\x29\x7b\x69\x66\x28\ +\x6e\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\x28\x61\x29\x29\ +\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\x3d\x6e\x2e\x65\x78\x70\ +\x61\x6e\x64\x6f\x2c\x69\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\ +\x65\x2c\x6a\x3d\x69\x3f\x6e\x2e\x63\x61\x63\x68\x65\x3a\x61\x2c\ +\x6b\x3d\x69\x3f\x61\x5b\x68\x5d\x3a\x61\x5b\x68\x5d\x26\x26\x68\ +\x3b\x69\x66\x28\x6b\x26\x26\x6a\x5b\x6b\x5d\x26\x26\x28\x65\x7c\ +\x7c\x6a\x5b\x6b\x5d\x2e\x64\x61\x74\x61\x29\x7c\x7c\x76\x6f\x69\ +\x64\x20\x30\x21\x3d\x3d\x64\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\ +\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x29\x72\x65\x74\x75\ +\x72\x6e\x20\x6b\x7c\x7c\x28\x6b\x3d\x69\x3f\x61\x5b\x68\x5d\x3d\ +\x63\x2e\x70\x6f\x70\x28\x29\x7c\x7c\x6e\x2e\x67\x75\x69\x64\x2b\ +\x2b\x3a\x68\x29\x2c\x6a\x5b\x6b\x5d\x7c\x7c\x28\x6a\x5b\x6b\x5d\ +\x3d\x69\x3f\x7b\x7d\x3a\x7b\x74\x6f\x4a\x53\x4f\x4e\x3a\x6e\x2e\ +\x6e\x6f\x6f\x70\x7d\x29\x2c\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\ +\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x7c\x7c\x22\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\ +\x29\x26\x26\x28\x65\x3f\x6a\x5b\x6b\x5d\x3d\x6e\x2e\x65\x78\x74\ +\x65\x6e\x64\x28\x6a\x5b\x6b\x5d\x2c\x62\x29\x3a\x6a\x5b\x6b\x5d\ +\x2e\x64\x61\x74\x61\x3d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x6a\ +\x5b\x6b\x5d\x2e\x64\x61\x74\x61\x2c\x62\x29\x29\x2c\x67\x3d\x6a\ +\x5b\x6b\x5d\x2c\x65\x7c\x7c\x28\x67\x2e\x64\x61\x74\x61\x7c\x7c\ +\x28\x67\x2e\x64\x61\x74\x61\x3d\x7b\x7d\x29\x2c\x67\x3d\x67\x2e\ +\x64\x61\x74\x61\x29\x2c\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x64\ +\x26\x26\x28\x67\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\ +\x28\x62\x29\x5d\x3d\x64\x29\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\ +\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x3f\x28\x66\x3d\x67\x5b\ +\x62\x5d\x2c\x6e\x75\x6c\x6c\x3d\x3d\x66\x26\x26\x28\x66\x3d\x67\ +\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\x29\x5d\ +\x29\x29\x3a\x66\x3d\x67\x2c\x66\x0a\x7d\x7d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x20\x53\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\ +\x6e\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\x28\x61\x29\x29\ +\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x3d\x61\x2e\x6e\x6f\x64\ +\x65\x54\x79\x70\x65\x2c\x67\x3d\x66\x3f\x6e\x2e\x63\x61\x63\x68\ +\x65\x3a\x61\x2c\x68\x3d\x66\x3f\x61\x5b\x6e\x2e\x65\x78\x70\x61\ +\x6e\x64\x6f\x5d\x3a\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x3b\x69\ +\x66\x28\x67\x5b\x68\x5d\x29\x7b\x69\x66\x28\x62\x26\x26\x28\x64\ +\x3d\x63\x3f\x67\x5b\x68\x5d\x3a\x67\x5b\x68\x5d\x2e\x64\x61\x74\ +\x61\x29\x29\x7b\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x62\x29\ +\x3f\x62\x3d\x62\x2e\x63\x6f\x6e\x63\x61\x74\x28\x6e\x2e\x6d\x61\ +\x70\x28\x62\x2c\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x29\ +\x29\x3a\x62\x20\x69\x6e\x20\x64\x3f\x62\x3d\x5b\x62\x5d\x3a\x28\ +\x62\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\x29\ +\x2c\x62\x3d\x62\x20\x69\x6e\x20\x64\x3f\x5b\x62\x5d\x3a\x62\x2e\ +\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x29\x2c\x65\x3d\x62\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\ +\x29\x64\x65\x6c\x65\x74\x65\x20\x64\x5b\x62\x5b\x65\x5d\x5d\x3b\ +\x69\x66\x28\x63\x3f\x21\x51\x28\x64\x29\x3a\x21\x6e\x2e\x69\x73\ +\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\x74\x28\x64\x29\x29\x72\ +\x65\x74\x75\x72\x6e\x7d\x28\x63\x7c\x7c\x28\x64\x65\x6c\x65\x74\ +\x65\x20\x67\x5b\x68\x5d\x2e\x64\x61\x74\x61\x2c\x51\x28\x67\x5b\ +\x68\x5d\x29\x29\x29\x26\x26\x28\x66\x3f\x6e\x2e\x63\x6c\x65\x61\ +\x6e\x44\x61\x74\x61\x28\x5b\x61\x5d\x2c\x21\x30\x29\x3a\x6c\x2e\ +\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\x64\x6f\x7c\x7c\x67\ +\x21\x3d\x67\x2e\x77\x69\x6e\x64\x6f\x77\x3f\x64\x65\x6c\x65\x74\ +\x65\x20\x67\x5b\x68\x5d\x3a\x67\x5b\x68\x5d\x3d\x6e\x75\x6c\x6c\ +\x29\x7d\x7d\x7d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x63\x61\ +\x63\x68\x65\x3a\x7b\x7d\x2c\x6e\x6f\x44\x61\x74\x61\x3a\x7b\x22\ +\x61\x70\x70\x6c\x65\x74\x20\x22\x3a\x21\x30\x2c\x22\x65\x6d\x62\ +\x65\x64\x20\x22\x3a\x21\x30\x2c\x22\x6f\x62\x6a\x65\x63\x74\x20\ +\x22\x3a\x22\x63\x6c\x73\x69\x64\x3a\x44\x32\x37\x43\x44\x42\x36\ +\x45\x2d\x41\x45\x36\x44\x2d\x31\x31\x63\x66\x2d\x39\x36\x42\x38\ +\x2d\x34\x34\x34\x35\x35\x33\x35\x34\x30\x30\x30\x30\x22\x7d\x2c\ +\x68\x61\x73\x44\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x61\x2e\x6e\ +\x6f\x64\x65\x54\x79\x70\x65\x3f\x6e\x2e\x63\x61\x63\x68\x65\x5b\ +\x61\x5b\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x5d\x3a\x61\x5b\ +\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x2c\x21\x21\x61\x26\x26\ +\x21\x51\x28\x61\x29\x7d\x2c\x64\x61\x74\x61\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x52\x28\x61\x2c\x62\x2c\x63\x29\x7d\x2c\x72\x65\x6d\ +\x6f\x76\x65\x44\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x53\x28\x61\ +\x2c\x62\x29\x7d\x2c\x5f\x64\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x52\x28\x61\x2c\x62\x2c\x63\x2c\x21\x30\x29\x7d\x2c\x5f\ +\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x53\x28\x61\x2c\x62\x2c\x21\x30\x29\x7d\x7d\x29\x2c\x6e\x2e\x66\ +\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x64\x61\x74\x61\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\ +\x20\x63\x2c\x64\x2c\x65\x2c\x66\x3d\x74\x68\x69\x73\x5b\x30\x5d\ +\x2c\x67\x3d\x66\x26\x26\x66\x2e\x61\x74\x74\x72\x69\x62\x75\x74\ +\x65\x73\x3b\x69\x66\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x61\ +\x29\x7b\x69\x66\x28\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x26\x26\x28\x65\x3d\x6e\x2e\x64\x61\x74\x61\x28\x66\x29\x2c\x31\ +\x3d\x3d\x3d\x66\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x21\ +\x6e\x2e\x5f\x64\x61\x74\x61\x28\x66\x2c\x22\x70\x61\x72\x73\x65\ +\x64\x41\x74\x74\x72\x73\x22\x29\x29\x29\x7b\x63\x3d\x67\x2e\x6c\ +\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x63\x2d\x2d\x29\ +\x64\x3d\x67\x5b\x63\x5d\x2e\x6e\x61\x6d\x65\x2c\x30\x3d\x3d\x3d\ +\x64\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x64\x61\x74\x61\x2d\ +\x22\x29\x26\x26\x28\x64\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\ +\x73\x65\x28\x64\x2e\x73\x6c\x69\x63\x65\x28\x35\x29\x29\x2c\x50\ +\x28\x66\x2c\x64\x2c\x65\x5b\x64\x5d\x29\x29\x3b\x6e\x2e\x5f\x64\ +\x61\x74\x61\x28\x66\x2c\x22\x70\x61\x72\x73\x65\x64\x41\x74\x74\ +\x72\x73\x22\x2c\x21\x30\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x65\ +\x7d\x72\x65\x74\x75\x72\x6e\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\ +\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x74\x68\x69\x73\x2e\x65\ +\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\ +\x2e\x64\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x61\x29\x7d\x29\x3a\ +\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3e\x31\x3f\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x64\x61\x74\x61\x28\x74\ +\x68\x69\x73\x2c\x61\x2c\x62\x29\x7d\x29\x3a\x66\x3f\x50\x28\x66\ +\x2c\x61\x2c\x6e\x2e\x64\x61\x74\x61\x28\x66\x2c\x61\x29\x29\x3a\ +\x76\x6f\x69\x64\x20\x30\x7d\x2c\x72\x65\x6d\x6f\x76\x65\x44\x61\ +\x74\x61\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x72\x65\x6d\ +\x6f\x76\x65\x44\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x61\x29\x7d\ +\x29\x7d\x7d\x29\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x71\ +\x75\x65\x75\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x72\x65\x74\x75\x72\ +\x6e\x20\x61\x3f\x28\x62\x3d\x28\x62\x7c\x7c\x22\x66\x78\x22\x29\ +\x2b\x22\x71\x75\x65\x75\x65\x22\x2c\x64\x3d\x6e\x2e\x5f\x64\x61\ +\x74\x61\x28\x61\x2c\x62\x29\x2c\x63\x26\x26\x28\x21\x64\x7c\x7c\ +\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x63\x29\x3f\x64\x3d\x6e\ +\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x62\x2c\x6e\x2e\x6d\x61\x6b\ +\x65\x41\x72\x72\x61\x79\x28\x63\x29\x29\x3a\x64\x2e\x70\x75\x73\ +\x68\x28\x63\x29\x29\x2c\x64\x7c\x7c\x5b\x5d\x29\x3a\x76\x6f\x69\ +\x64\x20\x30\x7d\x2c\x64\x65\x71\x75\x65\x75\x65\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x62\x3d\x62\x7c\x7c\ +\x22\x66\x78\x22\x3b\x76\x61\x72\x20\x63\x3d\x6e\x2e\x71\x75\x65\ +\x75\x65\x28\x61\x2c\x62\x29\x2c\x64\x3d\x63\x2e\x6c\x65\x6e\x67\ +\x74\x68\x2c\x65\x3d\x63\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\x66\ +\x3d\x6e\x2e\x5f\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x28\x61\ +\x2c\x62\x29\x2c\x67\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x61\x2c\x62\x29\x7d\ +\x3b\x22\x69\x6e\x70\x72\x6f\x67\x72\x65\x73\x73\x22\x3d\x3d\x3d\ +\x65\x26\x26\x28\x65\x3d\x63\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\ +\x64\x2d\x2d\x29\x2c\x65\x26\x26\x28\x22\x66\x78\x22\x3d\x3d\x3d\ +\x62\x26\x26\x63\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x22\x69\x6e\ +\x70\x72\x6f\x67\x72\x65\x73\x73\x22\x29\x2c\x64\x65\x6c\x65\x74\ +\x65\x20\x66\x2e\x73\x74\x6f\x70\x2c\x65\x2e\x63\x61\x6c\x6c\x28\ +\x61\x2c\x67\x2c\x66\x29\x29\x2c\x21\x64\x26\x26\x66\x26\x26\x66\ +\x2e\x65\x6d\x70\x74\x79\x2e\x66\x69\x72\x65\x28\x29\x7d\x2c\x5f\ +\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x62\ +\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x22\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x63\ +\x29\x7c\x7c\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x63\x2c\x7b\ +\x65\x6d\x70\x74\x79\x3a\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\ +\x73\x28\x22\x6f\x6e\x63\x65\x20\x6d\x65\x6d\x6f\x72\x79\x22\x29\ +\x2e\x61\x64\x64\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x6e\x2e\x5f\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\ +\x62\x2b\x22\x71\x75\x65\x75\x65\x22\x29\x2c\x6e\x2e\x5f\x72\x65\ +\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\x63\x29\x7d\x29\x7d\ +\x29\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\ +\x28\x7b\x71\x75\x65\x75\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x32\x3b\x72\x65\ +\x74\x75\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\ +\x70\x65\x6f\x66\x20\x61\x26\x26\x28\x62\x3d\x61\x2c\x61\x3d\x22\ +\x66\x78\x22\x2c\x63\x2d\x2d\x29\x2c\x61\x72\x67\x75\x6d\x65\x6e\ +\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3c\x63\x3f\x6e\x2e\x71\x75\ +\x65\x75\x65\x28\x74\x68\x69\x73\x5b\x30\x5d\x2c\x61\x29\x3a\x76\ +\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x62\x3f\x74\x68\x69\x73\x3a\x74\ +\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x76\x61\x72\x20\x63\x3d\x6e\x2e\x71\x75\x65\x75\ +\x65\x28\x74\x68\x69\x73\x2c\x61\x2c\x62\x29\x3b\x6e\x2e\x5f\x71\ +\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x28\x74\x68\x69\x73\x2c\x61\ +\x29\x2c\x22\x66\x78\x22\x3d\x3d\x3d\x61\x26\x26\x22\x69\x6e\x70\ +\x72\x6f\x67\x72\x65\x73\x73\x22\x21\x3d\x3d\x63\x5b\x30\x5d\x26\ +\x26\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x74\x68\x69\x73\x2c\ +\x61\x29\x7d\x29\x7d\x2c\x64\x65\x71\x75\x65\x75\x65\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\ +\x74\x68\x69\x73\x2c\x61\x29\x7d\x29\x7d\x2c\x63\x6c\x65\x61\x72\ +\x51\x75\x65\x75\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x71\x75\ +\x65\x75\x65\x28\x61\x7c\x7c\x22\x66\x78\x22\x2c\x5b\x5d\x29\x7d\ +\x2c\x70\x72\x6f\x6d\x69\x73\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3d\x31\ +\x2c\x65\x3d\x6e\x2e\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x2c\ +\x66\x3d\x74\x68\x69\x73\x2c\x67\x3d\x74\x68\x69\x73\x2e\x6c\x65\ +\x6e\x67\x74\x68\x2c\x68\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x2d\x2d\x64\x7c\x7c\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\ +\x57\x69\x74\x68\x28\x66\x2c\x5b\x66\x5d\x29\x7d\x3b\x22\x73\x74\ +\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x26\ +\x26\x28\x62\x3d\x61\x2c\x61\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\ +\x61\x3d\x61\x7c\x7c\x22\x66\x78\x22\x3b\x77\x68\x69\x6c\x65\x28\ +\x67\x2d\x2d\x29\x63\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x66\x5b\ +\x67\x5d\x2c\x61\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\ +\x22\x29\x2c\x63\x26\x26\x63\x2e\x65\x6d\x70\x74\x79\x26\x26\x28\ +\x64\x2b\x2b\x2c\x63\x2e\x65\x6d\x70\x74\x79\x2e\x61\x64\x64\x28\ +\x68\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x68\x28\x29\x2c\x65\ +\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x62\x29\x7d\x7d\x29\x3b\x76\ +\x61\x72\x20\x54\x3d\x2f\x5b\x2b\x2d\x5d\x3f\x28\x3f\x3a\x5c\x64\ +\x2a\x5c\x2e\x7c\x29\x5c\x64\x2b\x28\x3f\x3a\x5b\x65\x45\x5d\x5b\ +\x2b\x2d\x5d\x3f\x5c\x64\x2b\x7c\x29\x2f\x2e\x73\x6f\x75\x72\x63\ +\x65\x2c\x55\x3d\x5b\x22\x54\x6f\x70\x22\x2c\x22\x52\x69\x67\x68\ +\x74\x22\x2c\x22\x42\x6f\x74\x74\x6f\x6d\x22\x2c\x22\x4c\x65\x66\ +\x74\x22\x5d\x2c\x56\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x62\x7c\x7c\ +\x61\x2c\x22\x6e\x6f\x6e\x65\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\x73\ +\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\x22\x29\x7c\x7c\x21\ +\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x61\x2e\x6f\x77\x6e\ +\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2c\x61\x29\x7d\x2c\x57\ +\x3d\x6e\x2e\x61\x63\x63\x65\x73\x73\x3d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\ +\x29\x7b\x76\x61\x72\x20\x68\x3d\x30\x2c\x69\x3d\x61\x2e\x6c\x65\ +\x6e\x67\x74\x68\x2c\x6a\x3d\x6e\x75\x6c\x6c\x3d\x3d\x63\x3b\x69\ +\x66\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x3d\x6e\x2e\x74\ +\x79\x70\x65\x28\x63\x29\x29\x7b\x65\x3d\x21\x30\x3b\x66\x6f\x72\ +\x28\x68\x20\x69\x6e\x20\x63\x29\x6e\x2e\x61\x63\x63\x65\x73\x73\ +\x28\x61\x2c\x62\x2c\x68\x2c\x63\x5b\x68\x5d\x2c\x21\x30\x2c\x66\ +\x2c\x67\x29\x7d\x65\x6c\x73\x65\x20\x69\x66\x28\x76\x6f\x69\x64\ +\x20\x30\x21\x3d\x3d\x64\x26\x26\x28\x65\x3d\x21\x30\x2c\x6e\x2e\ +\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x64\x29\x7c\x7c\x28\ +\x67\x3d\x21\x30\x29\x2c\x6a\x26\x26\x28\x67\x3f\x28\x62\x2e\x63\ +\x61\x6c\x6c\x28\x61\x2c\x64\x29\x2c\x62\x3d\x6e\x75\x6c\x6c\x29\ +\x3a\x28\x6a\x3d\x62\x2c\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6a\ +\x2e\x63\x61\x6c\x6c\x28\x6e\x28\x61\x29\x2c\x63\x29\x7d\x29\x29\ +\x2c\x62\x29\x29\x66\x6f\x72\x28\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\ +\x29\x62\x28\x61\x5b\x68\x5d\x2c\x63\x2c\x67\x3f\x64\x3a\x64\x2e\ +\x63\x61\x6c\x6c\x28\x61\x5b\x68\x5d\x2c\x68\x2c\x62\x28\x61\x5b\ +\x68\x5d\x2c\x63\x29\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\ +\x3f\x61\x3a\x6a\x3f\x62\x2e\x63\x61\x6c\x6c\x28\x61\x29\x3a\x69\ +\x3f\x62\x28\x61\x5b\x30\x5d\x2c\x63\x29\x3a\x66\x7d\x2c\x58\x3d\ +\x2f\x5e\x28\x3f\x3a\x63\x68\x65\x63\x6b\x62\x6f\x78\x7c\x72\x61\ +\x64\x69\x6f\x29\x24\x2f\x69\x3b\x21\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x7a\x2e\x63\x72\x65\x61\ +\x74\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x46\x72\x61\x67\x6d\x65\ +\x6e\x74\x28\x29\x2c\x62\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\ +\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x63\x3d\ +\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\ +\x22\x69\x6e\x70\x75\x74\x22\x29\x3b\x69\x66\x28\x62\x2e\x73\x65\ +\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6c\x61\x73\ +\x73\x4e\x61\x6d\x65\x22\x2c\x22\x74\x22\x29\x2c\x62\x2e\x69\x6e\ +\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x20\x20\x3c\x6c\x69\x6e\x6b\ +\x2f\x3e\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x2f\x74\x61\x62\x6c\x65\ +\x3e\x3c\x61\x20\x68\x72\x65\x66\x3d\x27\x2f\x61\x27\x3e\x61\x3c\ +\x2f\x61\x3e\x22\x2c\x6c\x2e\x6c\x65\x61\x64\x69\x6e\x67\x57\x68\ +\x69\x74\x65\x73\x70\x61\x63\x65\x3d\x33\x3d\x3d\x3d\x62\x2e\x66\ +\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2e\x6e\x6f\x64\x65\x54\x79\ +\x70\x65\x2c\x6c\x2e\x74\x62\x6f\x64\x79\x3d\x21\x62\x2e\x67\x65\ +\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\ +\x6d\x65\x28\x22\x74\x62\x6f\x64\x79\x22\x29\x2e\x6c\x65\x6e\x67\ +\x74\x68\x2c\x6c\x2e\x68\x74\x6d\x6c\x53\x65\x72\x69\x61\x6c\x69\ +\x7a\x65\x3d\x21\x21\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ +\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x6c\x69\x6e\ +\x6b\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6c\x2e\x68\x74\x6d\ +\x6c\x35\x43\x6c\x6f\x6e\x65\x3d\x22\x3c\x3a\x6e\x61\x76\x3e\x3c\ +\x2f\x3a\x6e\x61\x76\x3e\x22\x21\x3d\x3d\x7a\x2e\x63\x72\x65\x61\ +\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x6e\x61\x76\x22\x29\ +\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x6f\ +\x75\x74\x65\x72\x48\x54\x4d\x4c\x2c\x63\x2e\x74\x79\x70\x65\x3d\ +\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x2c\x63\x2e\x63\x68\x65\ +\x63\x6b\x65\x64\x3d\x21\x30\x2c\x61\x2e\x61\x70\x70\x65\x6e\x64\ +\x43\x68\x69\x6c\x64\x28\x63\x29\x2c\x6c\x2e\x61\x70\x70\x65\x6e\ +\x64\x43\x68\x65\x63\x6b\x65\x64\x3d\x63\x2e\x63\x68\x65\x63\x6b\ +\x65\x64\x2c\x62\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\ +\x3c\x74\x65\x78\x74\x61\x72\x65\x61\x3e\x78\x3c\x2f\x74\x65\x78\ +\x74\x61\x72\x65\x61\x3e\x22\x2c\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\ +\x65\x43\x68\x65\x63\x6b\x65\x64\x3d\x21\x21\x62\x2e\x63\x6c\x6f\ +\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x6c\x61\x73\x74\x43\ +\x68\x69\x6c\x64\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x61\x6c\x75\ +\x65\x2c\x61\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\ +\x62\x29\x2c\x62\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\ +\x3c\x69\x6e\x70\x75\x74\x20\x74\x79\x70\x65\x3d\x27\x72\x61\x64\ +\x69\x6f\x27\x20\x63\x68\x65\x63\x6b\x65\x64\x3d\x27\x63\x68\x65\ +\x63\x6b\x65\x64\x27\x20\x6e\x61\x6d\x65\x3d\x27\x74\x27\x2f\x3e\ +\x22\x2c\x6c\x2e\x63\x68\x65\x63\x6b\x43\x6c\x6f\x6e\x65\x3d\x62\ +\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x63\ +\x6c\x6f\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x6c\x61\x73\ +\x74\x43\x68\x69\x6c\x64\x2e\x63\x68\x65\x63\x6b\x65\x64\x2c\x6c\ +\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\x76\x65\x6e\x74\x3d\x21\x30\ +\x2c\x62\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x26\x26\ +\x28\x62\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\x22\ +\x6f\x6e\x63\x6c\x69\x63\x6b\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\x76\x65\ +\x6e\x74\x3d\x21\x31\x7d\x29\x2c\x62\x2e\x63\x6c\x6f\x6e\x65\x4e\ +\x6f\x64\x65\x28\x21\x30\x29\x2e\x63\x6c\x69\x63\x6b\x28\x29\x29\ +\x2c\x6e\x75\x6c\x6c\x3d\x3d\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\ +\x78\x70\x61\x6e\x64\x6f\x29\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\ +\x45\x78\x70\x61\x6e\x64\x6f\x3d\x21\x30\x3b\x74\x72\x79\x7b\x64\ +\x65\x6c\x65\x74\x65\x20\x62\x2e\x74\x65\x73\x74\x7d\x63\x61\x74\ +\x63\x68\x28\x64\x29\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\ +\x70\x61\x6e\x64\x6f\x3d\x21\x31\x7d\x7d\x61\x3d\x62\x3d\x63\x3d\ +\x6e\x75\x6c\x6c\x7d\x28\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x3d\x7a\x2e\x63\ +\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\ +\x76\x22\x29\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x7b\x73\x75\x62\ +\x6d\x69\x74\x3a\x21\x30\x2c\x63\x68\x61\x6e\x67\x65\x3a\x21\x30\ +\x2c\x66\x6f\x63\x75\x73\x69\x6e\x3a\x21\x30\x7d\x29\x63\x3d\x22\ +\x6f\x6e\x22\x2b\x62\x2c\x28\x6c\x5b\x62\x2b\x22\x42\x75\x62\x62\ +\x6c\x65\x73\x22\x5d\x3d\x63\x20\x69\x6e\x20\x61\x29\x7c\x7c\x28\ +\x64\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x63\ +\x2c\x22\x74\x22\x29\x2c\x6c\x5b\x62\x2b\x22\x42\x75\x62\x62\x6c\ +\x65\x73\x22\x5d\x3d\x64\x2e\x61\x74\x74\x72\x69\x62\x75\x74\x65\ +\x73\x5b\x63\x5d\x2e\x65\x78\x70\x61\x6e\x64\x6f\x3d\x3d\x3d\x21\ +\x31\x29\x3b\x64\x3d\x6e\x75\x6c\x6c\x7d\x28\x29\x3b\x76\x61\x72\ +\x20\x59\x3d\x2f\x5e\x28\x3f\x3a\x69\x6e\x70\x75\x74\x7c\x73\x65\ +\x6c\x65\x63\x74\x7c\x74\x65\x78\x74\x61\x72\x65\x61\x29\x24\x2f\ +\x69\x2c\x5a\x3d\x2f\x5e\x6b\x65\x79\x2f\x2c\x24\x3d\x2f\x5e\x28\ +\x3f\x3a\x6d\x6f\x75\x73\x65\x7c\x63\x6f\x6e\x74\x65\x78\x74\x6d\ +\x65\x6e\x75\x29\x7c\x63\x6c\x69\x63\x6b\x2f\x2c\x5f\x3d\x2f\x5e\ +\x28\x3f\x3a\x66\x6f\x63\x75\x73\x69\x6e\x66\x6f\x63\x75\x73\x7c\ +\x66\x6f\x63\x75\x73\x6f\x75\x74\x62\x6c\x75\x72\x29\x24\x2f\x2c\ +\x61\x62\x3d\x2f\x5e\x28\x5b\x5e\x2e\x5d\x2a\x29\x28\x3f\x3a\x5c\ +\x2e\x28\x2e\x2b\x29\x7c\x29\x24\x2f\x3b\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x62\x62\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x30\ +\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x63\x62\x28\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x21\x31\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x20\x64\x62\x28\x29\x7b\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x7a\x2e\x61\x63\x74\x69\x76\x65\x45\x6c\x65\x6d\x65\x6e\x74\ +\x7d\x63\x61\x74\x63\x68\x28\x61\x29\x7b\x7d\x7d\x6e\x2e\x65\x76\ +\x65\x6e\x74\x3d\x7b\x67\x6c\x6f\x62\x61\x6c\x3a\x7b\x7d\x2c\x61\ +\x64\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ +\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\ +\x2c\x69\x2c\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x2c\x6f\x2c\x70\x2c\x71\ +\x2c\x72\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x29\x3b\x69\x66\ +\x28\x72\x29\x7b\x63\x2e\x68\x61\x6e\x64\x6c\x65\x72\x26\x26\x28\ +\x69\x3d\x63\x2c\x63\x3d\x69\x2e\x68\x61\x6e\x64\x6c\x65\x72\x2c\ +\x65\x3d\x69\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x29\x2c\x63\x2e\ +\x67\x75\x69\x64\x7c\x7c\x28\x63\x2e\x67\x75\x69\x64\x3d\x6e\x2e\ +\x67\x75\x69\x64\x2b\x2b\x29\x2c\x28\x67\x3d\x72\x2e\x65\x76\x65\ +\x6e\x74\x73\x29\x7c\x7c\x28\x67\x3d\x72\x2e\x65\x76\x65\x6e\x74\ +\x73\x3d\x7b\x7d\x29\x2c\x28\x6b\x3d\x72\x2e\x68\x61\x6e\x64\x6c\ +\x65\x29\x7c\x7c\x28\x6b\x3d\x72\x2e\x68\x61\x6e\x64\x6c\x65\x3d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x74\x79\x70\x65\x6f\x66\x20\x6e\x3d\x3d\x3d\x4c\x7c\ +\x7c\x61\x26\x26\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\ +\x67\x65\x72\x65\x64\x3d\x3d\x3d\x61\x2e\x74\x79\x70\x65\x3f\x76\ +\x6f\x69\x64\x20\x30\x3a\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x64\x69\ +\x73\x70\x61\x74\x63\x68\x2e\x61\x70\x70\x6c\x79\x28\x6b\x2e\x65\ +\x6c\x65\x6d\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x7d\x2c\ +\x6b\x2e\x65\x6c\x65\x6d\x3d\x61\x29\x2c\x62\x3d\x28\x62\x7c\x7c\ +\x22\x22\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x22\ +\x22\x5d\x2c\x68\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\ +\x69\x6c\x65\x28\x68\x2d\x2d\x29\x66\x3d\x61\x62\x2e\x65\x78\x65\ +\x63\x28\x62\x5b\x68\x5d\x29\x7c\x7c\x5b\x5d\x2c\x6f\x3d\x71\x3d\ +\x66\x5b\x31\x5d\x2c\x70\x3d\x28\x66\x5b\x32\x5d\x7c\x7c\x22\x22\ +\x29\x2e\x73\x70\x6c\x69\x74\x28\x22\x2e\x22\x29\x2e\x73\x6f\x72\ +\x74\x28\x29\x2c\x6f\x26\x26\x28\x6a\x3d\x6e\x2e\x65\x76\x65\x6e\ +\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x5b\x6f\x5d\x7c\x7c\x7b\x7d\ +\x2c\x6f\x3d\x28\x65\x3f\x6a\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\ +\x54\x79\x70\x65\x3a\x6a\x2e\x62\x69\x6e\x64\x54\x79\x70\x65\x29\ +\x7c\x7c\x6f\x2c\x6a\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\ +\x65\x63\x69\x61\x6c\x5b\x6f\x5d\x7c\x7c\x7b\x7d\x2c\x6c\x3d\x6e\ +\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x74\x79\x70\x65\x3a\x6f\x2c\ +\x6f\x72\x69\x67\x54\x79\x70\x65\x3a\x71\x2c\x64\x61\x74\x61\x3a\ +\x64\x2c\x68\x61\x6e\x64\x6c\x65\x72\x3a\x63\x2c\x67\x75\x69\x64\ +\x3a\x63\x2e\x67\x75\x69\x64\x2c\x73\x65\x6c\x65\x63\x74\x6f\x72\ +\x3a\x65\x2c\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\x3a\ +\x65\x26\x26\x6e\x2e\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\ +\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\x2e\x74\x65\x73\ +\x74\x28\x65\x29\x2c\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x3a\x70\ +\x2e\x6a\x6f\x69\x6e\x28\x22\x2e\x22\x29\x7d\x2c\x69\x29\x2c\x28\ +\x6d\x3d\x67\x5b\x6f\x5d\x29\x7c\x7c\x28\x6d\x3d\x67\x5b\x6f\x5d\ +\x3d\x5b\x5d\x2c\x6d\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x43\x6f\ +\x75\x6e\x74\x3d\x30\x2c\x6a\x2e\x73\x65\x74\x75\x70\x26\x26\x6a\ +\x2e\x73\x65\x74\x75\x70\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x64\x2c\ +\x70\x2c\x6b\x29\x21\x3d\x3d\x21\x31\x7c\x7c\x28\x61\x2e\x61\x64\ +\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x3f\x61\ +\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\ +\x72\x28\x6f\x2c\x6b\x2c\x21\x31\x29\x3a\x61\x2e\x61\x74\x74\x61\ +\x63\x68\x45\x76\x65\x6e\x74\x26\x26\x61\x2e\x61\x74\x74\x61\x63\ +\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\x22\x2b\x6f\x2c\x6b\x29\ +\x29\x29\x2c\x6a\x2e\x61\x64\x64\x26\x26\x28\x6a\x2e\x61\x64\x64\ +\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x6c\x29\x2c\x6c\x2e\x68\x61\x6e\ +\x64\x6c\x65\x72\x2e\x67\x75\x69\x64\x7c\x7c\x28\x6c\x2e\x68\x61\ +\x6e\x64\x6c\x65\x72\x2e\x67\x75\x69\x64\x3d\x63\x2e\x67\x75\x69\ +\x64\x29\x29\x2c\x65\x3f\x6d\x2e\x73\x70\x6c\x69\x63\x65\x28\x6d\ +\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x43\x6f\x75\x6e\x74\x2b\x2b\ +\x2c\x30\x2c\x6c\x29\x3a\x6d\x2e\x70\x75\x73\x68\x28\x6c\x29\x2c\ +\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x67\x6c\x6f\x62\x61\x6c\x5b\x6f\ +\x5d\x3d\x21\x30\x29\x3b\x61\x3d\x6e\x75\x6c\x6c\x7d\x7d\x2c\x72\ +\x65\x6d\x6f\x76\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\ +\x67\x2c\x68\x2c\x69\x2c\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x2c\x6f\x2c\ +\x70\x2c\x71\x2c\x72\x3d\x6e\x2e\x68\x61\x73\x44\x61\x74\x61\x28\ +\x61\x29\x26\x26\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x29\x3b\x69\ +\x66\x28\x72\x26\x26\x28\x6b\x3d\x72\x2e\x65\x76\x65\x6e\x74\x73\ +\x29\x29\x7b\x62\x3d\x28\x62\x7c\x7c\x22\x22\x29\x2e\x6d\x61\x74\ +\x63\x68\x28\x46\x29\x7c\x7c\x5b\x22\x22\x5d\x2c\x6a\x3d\x62\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6a\x2d\x2d\ +\x29\x69\x66\x28\x68\x3d\x61\x62\x2e\x65\x78\x65\x63\x28\x62\x5b\ +\x6a\x5d\x29\x7c\x7c\x5b\x5d\x2c\x6f\x3d\x71\x3d\x68\x5b\x31\x5d\ +\x2c\x70\x3d\x28\x68\x5b\x32\x5d\x7c\x7c\x22\x22\x29\x2e\x73\x70\ +\x6c\x69\x74\x28\x22\x2e\x22\x29\x2e\x73\x6f\x72\x74\x28\x29\x2c\ +\x6f\x29\x7b\x6c\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\ +\x63\x69\x61\x6c\x5b\x6f\x5d\x7c\x7c\x7b\x7d\x2c\x6f\x3d\x28\x64\ +\x3f\x6c\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x54\x79\x70\x65\x3a\ +\x6c\x2e\x62\x69\x6e\x64\x54\x79\x70\x65\x29\x7c\x7c\x6f\x2c\x6d\ +\x3d\x6b\x5b\x6f\x5d\x7c\x7c\x5b\x5d\x2c\x68\x3d\x68\x5b\x32\x5d\ +\x26\x26\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x28\x5e\ +\x7c\x5c\x5c\x2e\x29\x22\x2b\x70\x2e\x6a\x6f\x69\x6e\x28\x22\x5c\ +\x5c\x2e\x28\x3f\x3a\x2e\x2a\x5c\x5c\x2e\x7c\x29\x22\x29\x2b\x22\ +\x28\x5c\x5c\x2e\x7c\x24\x29\x22\x29\x2c\x69\x3d\x66\x3d\x6d\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x66\x2d\x2d\ +\x29\x67\x3d\x6d\x5b\x66\x5d\x2c\x21\x65\x26\x26\x71\x21\x3d\x3d\ +\x67\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\x7c\x7c\x63\x26\x26\x63\ +\x2e\x67\x75\x69\x64\x21\x3d\x3d\x67\x2e\x67\x75\x69\x64\x7c\x7c\ +\x68\x26\x26\x21\x68\x2e\x74\x65\x73\x74\x28\x67\x2e\x6e\x61\x6d\ +\x65\x73\x70\x61\x63\x65\x29\x7c\x7c\x64\x26\x26\x64\x21\x3d\x3d\ +\x67\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x26\x26\x28\x22\x2a\x2a\ +\x22\x21\x3d\x3d\x64\x7c\x7c\x21\x67\x2e\x73\x65\x6c\x65\x63\x74\ +\x6f\x72\x29\x7c\x7c\x28\x6d\x2e\x73\x70\x6c\x69\x63\x65\x28\x66\ +\x2c\x31\x29\x2c\x67\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x26\x26\ +\x6d\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x43\x6f\x75\x6e\x74\x2d\ +\x2d\x2c\x6c\x2e\x72\x65\x6d\x6f\x76\x65\x26\x26\x6c\x2e\x72\x65\ +\x6d\x6f\x76\x65\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x67\x29\x29\x3b\ +\x69\x26\x26\x21\x6d\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x28\x6c\ +\x2e\x74\x65\x61\x72\x64\x6f\x77\x6e\x26\x26\x6c\x2e\x74\x65\x61\ +\x72\x64\x6f\x77\x6e\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x70\x2c\x72\ +\x2e\x68\x61\x6e\x64\x6c\x65\x29\x21\x3d\x3d\x21\x31\x7c\x7c\x6e\ +\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x28\x61\x2c\x6f\ +\x2c\x72\x2e\x68\x61\x6e\x64\x6c\x65\x29\x2c\x64\x65\x6c\x65\x74\ +\x65\x20\x6b\x5b\x6f\x5d\x29\x7d\x65\x6c\x73\x65\x20\x66\x6f\x72\ +\x28\x6f\x20\x69\x6e\x20\x6b\x29\x6e\x2e\x65\x76\x65\x6e\x74\x2e\ +\x72\x65\x6d\x6f\x76\x65\x28\x61\x2c\x6f\x2b\x62\x5b\x6a\x5d\x2c\ +\x63\x2c\x64\x2c\x21\x30\x29\x3b\x6e\x2e\x69\x73\x45\x6d\x70\x74\ +\x79\x4f\x62\x6a\x65\x63\x74\x28\x6b\x29\x26\x26\x28\x64\x65\x6c\ +\x65\x74\x65\x20\x72\x2e\x68\x61\x6e\x64\x6c\x65\x2c\x6e\x2e\x5f\ +\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\x22\x65\x76\ +\x65\x6e\x74\x73\x22\x29\x29\x7d\x7d\x2c\x74\x72\x69\x67\x67\x65\ +\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x64\ +\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\x2c\x69\x2c\ +\x6b\x2c\x6c\x2c\x6d\x2c\x6f\x3d\x5b\x64\x7c\x7c\x7a\x5d\x2c\x70\ +\x3d\x6a\x2e\x63\x61\x6c\x6c\x28\x62\x2c\x22\x74\x79\x70\x65\x22\ +\x29\x3f\x62\x2e\x74\x79\x70\x65\x3a\x62\x2c\x71\x3d\x6a\x2e\x63\ +\x61\x6c\x6c\x28\x62\x2c\x22\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\ +\x22\x29\x3f\x62\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x2e\x73\ +\x70\x6c\x69\x74\x28\x22\x2e\x22\x29\x3a\x5b\x5d\x3b\x69\x66\x28\ +\x68\x3d\x6c\x3d\x64\x3d\x64\x7c\x7c\x7a\x2c\x33\x21\x3d\x3d\x64\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x38\x21\x3d\x3d\x64\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x21\x5f\x2e\x74\x65\ +\x73\x74\x28\x70\x2b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\ +\x67\x67\x65\x72\x65\x64\x29\x26\x26\x28\x70\x2e\x69\x6e\x64\x65\ +\x78\x4f\x66\x28\x22\x2e\x22\x29\x3e\x3d\x30\x26\x26\x28\x71\x3d\ +\x70\x2e\x73\x70\x6c\x69\x74\x28\x22\x2e\x22\x29\x2c\x70\x3d\x71\ +\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\x71\x2e\x73\x6f\x72\x74\x28\ +\x29\x29\x2c\x67\x3d\x70\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\ +\x3a\x22\x29\x3c\x30\x26\x26\x22\x6f\x6e\x22\x2b\x70\x2c\x62\x3d\ +\x62\x5b\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x3f\x62\x3a\x6e\ +\x65\x77\x20\x6e\x2e\x45\x76\x65\x6e\x74\x28\x70\x2c\x22\x6f\x62\ +\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\ +\x26\x62\x29\x2c\x62\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\x3d\ +\x65\x3f\x32\x3a\x33\x2c\x62\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\ +\x65\x3d\x71\x2e\x6a\x6f\x69\x6e\x28\x22\x2e\x22\x29\x2c\x62\x2e\ +\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x5f\x72\x65\x3d\x62\x2e\x6e\ +\x61\x6d\x65\x73\x70\x61\x63\x65\x3f\x6e\x65\x77\x20\x52\x65\x67\ +\x45\x78\x70\x28\x22\x28\x5e\x7c\x5c\x5c\x2e\x29\x22\x2b\x71\x2e\ +\x6a\x6f\x69\x6e\x28\x22\x5c\x5c\x2e\x28\x3f\x3a\x2e\x2a\x5c\x5c\ +\x2e\x7c\x29\x22\x29\x2b\x22\x28\x5c\x5c\x2e\x7c\x24\x29\x22\x29\ +\x3a\x6e\x75\x6c\x6c\x2c\x62\x2e\x72\x65\x73\x75\x6c\x74\x3d\x76\ +\x6f\x69\x64\x20\x30\x2c\x62\x2e\x74\x61\x72\x67\x65\x74\x7c\x7c\ +\x28\x62\x2e\x74\x61\x72\x67\x65\x74\x3d\x64\x29\x2c\x63\x3d\x6e\ +\x75\x6c\x6c\x3d\x3d\x63\x3f\x5b\x62\x5d\x3a\x6e\x2e\x6d\x61\x6b\ +\x65\x41\x72\x72\x61\x79\x28\x63\x2c\x5b\x62\x5d\x29\x2c\x6b\x3d\ +\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x5b\ +\x70\x5d\x7c\x7c\x7b\x7d\x2c\x65\x7c\x7c\x21\x6b\x2e\x74\x72\x69\ +\x67\x67\x65\x72\x7c\x7c\x6b\x2e\x74\x72\x69\x67\x67\x65\x72\x2e\ +\x61\x70\x70\x6c\x79\x28\x64\x2c\x63\x29\x21\x3d\x3d\x21\x31\x29\ +\x29\x7b\x69\x66\x28\x21\x65\x26\x26\x21\x6b\x2e\x6e\x6f\x42\x75\ +\x62\x62\x6c\x65\x26\x26\x21\x6e\x2e\x69\x73\x57\x69\x6e\x64\x6f\ +\x77\x28\x64\x29\x29\x7b\x66\x6f\x72\x28\x69\x3d\x6b\x2e\x64\x65\ +\x6c\x65\x67\x61\x74\x65\x54\x79\x70\x65\x7c\x7c\x70\x2c\x5f\x2e\ +\x74\x65\x73\x74\x28\x69\x2b\x70\x29\x7c\x7c\x28\x68\x3d\x68\x2e\ +\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x3b\x68\x3b\x68\x3d\ +\x68\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x6f\x2e\x70\ +\x75\x73\x68\x28\x68\x29\x2c\x6c\x3d\x68\x3b\x6c\x3d\x3d\x3d\x28\ +\x64\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\ +\x7c\x7a\x29\x26\x26\x6f\x2e\x70\x75\x73\x68\x28\x6c\x2e\x64\x65\ +\x66\x61\x75\x6c\x74\x56\x69\x65\x77\x7c\x7c\x6c\x2e\x70\x61\x72\ +\x65\x6e\x74\x57\x69\x6e\x64\x6f\x77\x7c\x7c\x61\x29\x7d\x6d\x3d\ +\x30\x3b\x77\x68\x69\x6c\x65\x28\x28\x68\x3d\x6f\x5b\x6d\x2b\x2b\ +\x5d\x29\x26\x26\x21\x62\x2e\x69\x73\x50\x72\x6f\x70\x61\x67\x61\ +\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x28\x29\x29\x62\x2e\ +\x74\x79\x70\x65\x3d\x6d\x3e\x31\x3f\x69\x3a\x6b\x2e\x62\x69\x6e\ +\x64\x54\x79\x70\x65\x7c\x7c\x70\x2c\x66\x3d\x28\x6e\x2e\x5f\x64\ +\x61\x74\x61\x28\x68\x2c\x22\x65\x76\x65\x6e\x74\x73\x22\x29\x7c\ +\x7c\x7b\x7d\x29\x5b\x62\x2e\x74\x79\x70\x65\x5d\x26\x26\x6e\x2e\ +\x5f\x64\x61\x74\x61\x28\x68\x2c\x22\x68\x61\x6e\x64\x6c\x65\x22\ +\x29\x2c\x66\x26\x26\x66\x2e\x61\x70\x70\x6c\x79\x28\x68\x2c\x63\ +\x29\x2c\x66\x3d\x67\x26\x26\x68\x5b\x67\x5d\x2c\x66\x26\x26\x66\ +\x2e\x61\x70\x70\x6c\x79\x26\x26\x6e\x2e\x61\x63\x63\x65\x70\x74\ +\x44\x61\x74\x61\x28\x68\x29\x26\x26\x28\x62\x2e\x72\x65\x73\x75\ +\x6c\x74\x3d\x66\x2e\x61\x70\x70\x6c\x79\x28\x68\x2c\x63\x29\x2c\ +\x62\x2e\x72\x65\x73\x75\x6c\x74\x3d\x3d\x3d\x21\x31\x26\x26\x62\ +\x2e\x70\x72\x65\x76\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x28\ +\x29\x29\x3b\x69\x66\x28\x62\x2e\x74\x79\x70\x65\x3d\x70\x2c\x21\ +\x65\x26\x26\x21\x62\x2e\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\ +\x72\x65\x76\x65\x6e\x74\x65\x64\x28\x29\x26\x26\x28\x21\x6b\x2e\ +\x5f\x64\x65\x66\x61\x75\x6c\x74\x7c\x7c\x6b\x2e\x5f\x64\x65\x66\ +\x61\x75\x6c\x74\x2e\x61\x70\x70\x6c\x79\x28\x6f\x2e\x70\x6f\x70\ +\x28\x29\x2c\x63\x29\x3d\x3d\x3d\x21\x31\x29\x26\x26\x6e\x2e\x61\ +\x63\x63\x65\x70\x74\x44\x61\x74\x61\x28\x64\x29\x26\x26\x67\x26\ +\x26\x64\x5b\x70\x5d\x26\x26\x21\x6e\x2e\x69\x73\x57\x69\x6e\x64\ +\x6f\x77\x28\x64\x29\x29\x7b\x6c\x3d\x64\x5b\x67\x5d\x2c\x6c\x26\ +\x26\x28\x64\x5b\x67\x5d\x3d\x6e\x75\x6c\x6c\x29\x2c\x6e\x2e\x65\ +\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x65\x64\x3d\x70\ +\x3b\x74\x72\x79\x7b\x64\x5b\x70\x5d\x28\x29\x7d\x63\x61\x74\x63\ +\x68\x28\x72\x29\x7b\x7d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\ +\x69\x67\x67\x65\x72\x65\x64\x3d\x76\x6f\x69\x64\x20\x30\x2c\x6c\ +\x26\x26\x28\x64\x5b\x67\x5d\x3d\x6c\x29\x7d\x72\x65\x74\x75\x72\ +\x6e\x20\x62\x2e\x72\x65\x73\x75\x6c\x74\x7d\x7d\x2c\x64\x69\x73\ +\x70\x61\x74\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x61\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x66\x69\x78\x28\ +\x61\x29\x3b\x76\x61\x72\x20\x62\x2c\x63\x2c\x65\x2c\x66\x2c\x67\ +\x2c\x68\x3d\x5b\x5d\x2c\x69\x3d\x64\x2e\x63\x61\x6c\x6c\x28\x61\ +\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x6a\x3d\x28\x6e\x2e\x5f\ +\x64\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x22\x65\x76\x65\x6e\x74\ +\x73\x22\x29\x7c\x7c\x7b\x7d\x29\x5b\x61\x2e\x74\x79\x70\x65\x5d\ +\x7c\x7c\x5b\x5d\x2c\x6b\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\ +\x70\x65\x63\x69\x61\x6c\x5b\x61\x2e\x74\x79\x70\x65\x5d\x7c\x7c\ +\x7b\x7d\x3b\x69\x66\x28\x69\x5b\x30\x5d\x3d\x61\x2c\x61\x2e\x64\ +\x65\x6c\x65\x67\x61\x74\x65\x54\x61\x72\x67\x65\x74\x3d\x74\x68\ +\x69\x73\x2c\x21\x6b\x2e\x70\x72\x65\x44\x69\x73\x70\x61\x74\x63\ +\x68\x7c\x7c\x6b\x2e\x70\x72\x65\x44\x69\x73\x70\x61\x74\x63\x68\ +\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x61\x29\x21\x3d\x3d\ +\x21\x31\x29\x7b\x68\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x68\x61\ +\x6e\x64\x6c\x65\x72\x73\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\ +\x2c\x61\x2c\x6a\x29\x2c\x62\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\ +\x28\x66\x3d\x68\x5b\x62\x2b\x2b\x5d\x29\x26\x26\x21\x61\x2e\x69\ +\x73\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\ +\x70\x65\x64\x28\x29\x29\x7b\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\ +\x54\x61\x72\x67\x65\x74\x3d\x66\x2e\x65\x6c\x65\x6d\x2c\x67\x3d\ +\x30\x3b\x77\x68\x69\x6c\x65\x28\x28\x65\x3d\x66\x2e\x68\x61\x6e\ +\x64\x6c\x65\x72\x73\x5b\x67\x2b\x2b\x5d\x29\x26\x26\x21\x61\x2e\ +\x69\x73\x49\x6d\x6d\x65\x64\x69\x61\x74\x65\x50\x72\x6f\x70\x61\ +\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x28\x29\x29\ +\x28\x21\x61\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x5f\x72\x65\ +\x7c\x7c\x61\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x5f\x72\x65\ +\x2e\x74\x65\x73\x74\x28\x65\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\ +\x65\x29\x29\x26\x26\x28\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\ +\x6a\x3d\x65\x2c\x61\x2e\x64\x61\x74\x61\x3d\x65\x2e\x64\x61\x74\ +\x61\x2c\x63\x3d\x28\x28\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\ +\x65\x63\x69\x61\x6c\x5b\x65\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\ +\x5d\x7c\x7c\x7b\x7d\x29\x2e\x68\x61\x6e\x64\x6c\x65\x7c\x7c\x65\ +\x2e\x68\x61\x6e\x64\x6c\x65\x72\x29\x2e\x61\x70\x70\x6c\x79\x28\ +\x66\x2e\x65\x6c\x65\x6d\x2c\x69\x29\x2c\x76\x6f\x69\x64\x20\x30\ +\x21\x3d\x3d\x63\x26\x26\x28\x61\x2e\x72\x65\x73\x75\x6c\x74\x3d\ +\x63\x29\x3d\x3d\x3d\x21\x31\x26\x26\x28\x61\x2e\x70\x72\x65\x76\ +\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x28\x29\x2c\x61\x2e\x73\ +\x74\x6f\x70\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x28\x29\ +\x29\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x6b\x2e\x70\x6f\x73\x74\ +\x44\x69\x73\x70\x61\x74\x63\x68\x26\x26\x6b\x2e\x70\x6f\x73\x74\ +\x44\x69\x73\x70\x61\x74\x63\x68\x2e\x63\x61\x6c\x6c\x28\x74\x68\ +\x69\x73\x2c\x61\x29\x2c\x61\x2e\x72\x65\x73\x75\x6c\x74\x7d\x7d\ +\x2c\x68\x61\x6e\x64\x6c\x65\x72\x73\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\ +\x65\x2c\x66\x2c\x67\x3d\x5b\x5d\x2c\x68\x3d\x62\x2e\x64\x65\x6c\ +\x65\x67\x61\x74\x65\x43\x6f\x75\x6e\x74\x2c\x69\x3d\x61\x2e\x74\ +\x61\x72\x67\x65\x74\x3b\x69\x66\x28\x68\x26\x26\x69\x2e\x6e\x6f\ +\x64\x65\x54\x79\x70\x65\x26\x26\x28\x21\x61\x2e\x62\x75\x74\x74\ +\x6f\x6e\x7c\x7c\x22\x63\x6c\x69\x63\x6b\x22\x21\x3d\x3d\x61\x2e\ +\x74\x79\x70\x65\x29\x29\x66\x6f\x72\x28\x3b\x69\x21\x3d\x74\x68\ +\x69\x73\x3b\x69\x3d\x69\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ +\x65\x7c\x7c\x74\x68\x69\x73\x29\x69\x66\x28\x31\x3d\x3d\x3d\x69\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x69\x2e\x64\x69\ +\x73\x61\x62\x6c\x65\x64\x21\x3d\x3d\x21\x30\x7c\x7c\x22\x63\x6c\ +\x69\x63\x6b\x22\x21\x3d\x3d\x61\x2e\x74\x79\x70\x65\x29\x29\x7b\ +\x66\x6f\x72\x28\x65\x3d\x5b\x5d\x2c\x66\x3d\x30\x3b\x68\x3e\x66\ +\x3b\x66\x2b\x2b\x29\x64\x3d\x62\x5b\x66\x5d\x2c\x63\x3d\x64\x2e\ +\x73\x65\x6c\x65\x63\x74\x6f\x72\x2b\x22\x20\x22\x2c\x76\x6f\x69\ +\x64\x20\x30\x3d\x3d\x3d\x65\x5b\x63\x5d\x26\x26\x28\x65\x5b\x63\ +\x5d\x3d\x64\x2e\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\ +\x3f\x6e\x28\x63\x2c\x74\x68\x69\x73\x29\x2e\x69\x6e\x64\x65\x78\ +\x28\x69\x29\x3e\x3d\x30\x3a\x6e\x2e\x66\x69\x6e\x64\x28\x63\x2c\ +\x74\x68\x69\x73\x2c\x6e\x75\x6c\x6c\x2c\x5b\x69\x5d\x29\x2e\x6c\ +\x65\x6e\x67\x74\x68\x29\x2c\x65\x5b\x63\x5d\x26\x26\x65\x2e\x70\ +\x75\x73\x68\x28\x64\x29\x3b\x65\x2e\x6c\x65\x6e\x67\x74\x68\x26\ +\x26\x67\x2e\x70\x75\x73\x68\x28\x7b\x65\x6c\x65\x6d\x3a\x69\x2c\ +\x68\x61\x6e\x64\x6c\x65\x72\x73\x3a\x65\x7d\x29\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x68\x3c\x62\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\ +\x67\x2e\x70\x75\x73\x68\x28\x7b\x65\x6c\x65\x6d\x3a\x74\x68\x69\ +\x73\x2c\x68\x61\x6e\x64\x6c\x65\x72\x73\x3a\x62\x2e\x73\x6c\x69\ +\x63\x65\x28\x68\x29\x7d\x29\x2c\x67\x7d\x2c\x66\x69\x78\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x61\x5b\ +\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x29\x72\x65\x74\x75\x72\ +\x6e\x20\x61\x3b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x2c\x65\x3d\ +\x61\x2e\x74\x79\x70\x65\x2c\x66\x3d\x61\x2c\x67\x3d\x74\x68\x69\ +\x73\x2e\x66\x69\x78\x48\x6f\x6f\x6b\x73\x5b\x65\x5d\x3b\x67\x7c\ +\x7c\x28\x74\x68\x69\x73\x2e\x66\x69\x78\x48\x6f\x6f\x6b\x73\x5b\ +\x65\x5d\x3d\x67\x3d\x24\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x74\ +\x68\x69\x73\x2e\x6d\x6f\x75\x73\x65\x48\x6f\x6f\x6b\x73\x3a\x5a\ +\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x74\x68\x69\x73\x2e\x6b\x65\ +\x79\x48\x6f\x6f\x6b\x73\x3a\x7b\x7d\x29\x2c\x64\x3d\x67\x2e\x70\ +\x72\x6f\x70\x73\x3f\x74\x68\x69\x73\x2e\x70\x72\x6f\x70\x73\x2e\ +\x63\x6f\x6e\x63\x61\x74\x28\x67\x2e\x70\x72\x6f\x70\x73\x29\x3a\ +\x74\x68\x69\x73\x2e\x70\x72\x6f\x70\x73\x2c\x61\x3d\x6e\x65\x77\ +\x20\x6e\x2e\x45\x76\x65\x6e\x74\x28\x66\x29\x2c\x62\x3d\x64\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x62\x2d\x2d\ +\x29\x63\x3d\x64\x5b\x62\x5d\x2c\x61\x5b\x63\x5d\x3d\x66\x5b\x63\ +\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x74\x61\x72\x67\x65\ +\x74\x7c\x7c\x28\x61\x2e\x74\x61\x72\x67\x65\x74\x3d\x66\x2e\x73\ +\x72\x63\x45\x6c\x65\x6d\x65\x6e\x74\x7c\x7c\x7a\x29\x2c\x33\x3d\ +\x3d\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x2e\x6e\x6f\x64\x65\x54\ +\x79\x70\x65\x26\x26\x28\x61\x2e\x74\x61\x72\x67\x65\x74\x3d\x61\ +\x2e\x74\x61\x72\x67\x65\x74\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ +\x64\x65\x29\x2c\x61\x2e\x6d\x65\x74\x61\x4b\x65\x79\x3d\x21\x21\ +\x61\x2e\x6d\x65\x74\x61\x4b\x65\x79\x2c\x67\x2e\x66\x69\x6c\x74\ +\x65\x72\x3f\x67\x2e\x66\x69\x6c\x74\x65\x72\x28\x61\x2c\x66\x29\ +\x3a\x61\x7d\x2c\x70\x72\x6f\x70\x73\x3a\x22\x61\x6c\x74\x4b\x65\ +\x79\x20\x62\x75\x62\x62\x6c\x65\x73\x20\x63\x61\x6e\x63\x65\x6c\ +\x61\x62\x6c\x65\x20\x63\x74\x72\x6c\x4b\x65\x79\x20\x63\x75\x72\ +\x72\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x20\x65\x76\x65\x6e\x74\ +\x50\x68\x61\x73\x65\x20\x6d\x65\x74\x61\x4b\x65\x79\x20\x72\x65\ +\x6c\x61\x74\x65\x64\x54\x61\x72\x67\x65\x74\x20\x73\x68\x69\x66\ +\x74\x4b\x65\x79\x20\x74\x61\x72\x67\x65\x74\x20\x74\x69\x6d\x65\ +\x53\x74\x61\x6d\x70\x20\x76\x69\x65\x77\x20\x77\x68\x69\x63\x68\ +\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\x69\x78\ +\x48\x6f\x6f\x6b\x73\x3a\x7b\x7d\x2c\x6b\x65\x79\x48\x6f\x6f\x6b\ +\x73\x3a\x7b\x70\x72\x6f\x70\x73\x3a\x22\x63\x68\x61\x72\x20\x63\ +\x68\x61\x72\x43\x6f\x64\x65\x20\x6b\x65\x79\x20\x6b\x65\x79\x43\ +\x6f\x64\x65\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\ +\x66\x69\x6c\x74\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ +\x3d\x3d\x61\x2e\x77\x68\x69\x63\x68\x26\x26\x28\x61\x2e\x77\x68\ +\x69\x63\x68\x3d\x6e\x75\x6c\x6c\x21\x3d\x62\x2e\x63\x68\x61\x72\ +\x43\x6f\x64\x65\x3f\x62\x2e\x63\x68\x61\x72\x43\x6f\x64\x65\x3a\ +\x62\x2e\x6b\x65\x79\x43\x6f\x64\x65\x29\x2c\x61\x7d\x7d\x2c\x6d\ +\x6f\x75\x73\x65\x48\x6f\x6f\x6b\x73\x3a\x7b\x70\x72\x6f\x70\x73\ +\x3a\x22\x62\x75\x74\x74\x6f\x6e\x20\x62\x75\x74\x74\x6f\x6e\x73\ +\x20\x63\x6c\x69\x65\x6e\x74\x58\x20\x63\x6c\x69\x65\x6e\x74\x59\ +\x20\x66\x72\x6f\x6d\x45\x6c\x65\x6d\x65\x6e\x74\x20\x6f\x66\x66\ +\x73\x65\x74\x58\x20\x6f\x66\x66\x73\x65\x74\x59\x20\x70\x61\x67\ +\x65\x58\x20\x70\x61\x67\x65\x59\x20\x73\x63\x72\x65\x65\x6e\x58\ +\x20\x73\x63\x72\x65\x65\x6e\x59\x20\x74\x6f\x45\x6c\x65\x6d\x65\ +\x6e\x74\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\ +\x69\x6c\x74\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x2c\x66\x3d\ +\x62\x2e\x62\x75\x74\x74\x6f\x6e\x2c\x67\x3d\x62\x2e\x66\x72\x6f\ +\x6d\x45\x6c\x65\x6d\x65\x6e\x74\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x75\x6c\x6c\x3d\x3d\x61\x2e\x70\x61\x67\x65\x58\x26\x26\x6e\ +\x75\x6c\x6c\x21\x3d\x62\x2e\x63\x6c\x69\x65\x6e\x74\x58\x26\x26\ +\x28\x64\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x2e\x6f\x77\x6e\x65\ +\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x7a\x2c\x65\x3d\x64\ +\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\ +\x2c\x63\x3d\x64\x2e\x62\x6f\x64\x79\x2c\x61\x2e\x70\x61\x67\x65\ +\x58\x3d\x62\x2e\x63\x6c\x69\x65\x6e\x74\x58\x2b\x28\x65\x26\x26\ +\x65\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x7c\x7c\x63\x26\ +\x26\x63\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x7c\x7c\x30\ +\x29\x2d\x28\x65\x26\x26\x65\x2e\x63\x6c\x69\x65\x6e\x74\x4c\x65\ +\x66\x74\x7c\x7c\x63\x26\x26\x63\x2e\x63\x6c\x69\x65\x6e\x74\x4c\ +\x65\x66\x74\x7c\x7c\x30\x29\x2c\x61\x2e\x70\x61\x67\x65\x59\x3d\ +\x62\x2e\x63\x6c\x69\x65\x6e\x74\x59\x2b\x28\x65\x26\x26\x65\x2e\ +\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x7c\x7c\x63\x26\x26\x63\x2e\ +\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x7c\x7c\x30\x29\x2d\x28\x65\ +\x26\x26\x65\x2e\x63\x6c\x69\x65\x6e\x74\x54\x6f\x70\x7c\x7c\x63\ +\x26\x26\x63\x2e\x63\x6c\x69\x65\x6e\x74\x54\x6f\x70\x7c\x7c\x30\ +\x29\x29\x2c\x21\x61\x2e\x72\x65\x6c\x61\x74\x65\x64\x54\x61\x72\ +\x67\x65\x74\x26\x26\x67\x26\x26\x28\x61\x2e\x72\x65\x6c\x61\x74\ +\x65\x64\x54\x61\x72\x67\x65\x74\x3d\x67\x3d\x3d\x3d\x61\x2e\x74\ +\x61\x72\x67\x65\x74\x3f\x62\x2e\x74\x6f\x45\x6c\x65\x6d\x65\x6e\ +\x74\x3a\x67\x29\x2c\x61\x2e\x77\x68\x69\x63\x68\x7c\x7c\x76\x6f\ +\x69\x64\x20\x30\x3d\x3d\x3d\x66\x7c\x7c\x28\x61\x2e\x77\x68\x69\ +\x63\x68\x3d\x31\x26\x66\x3f\x31\x3a\x32\x26\x66\x3f\x33\x3a\x34\ +\x26\x66\x3f\x32\x3a\x30\x29\x2c\x61\x7d\x7d\x2c\x73\x70\x65\x63\ +\x69\x61\x6c\x3a\x7b\x6c\x6f\x61\x64\x3a\x7b\x6e\x6f\x42\x75\x62\ +\x62\x6c\x65\x3a\x21\x30\x7d\x2c\x66\x6f\x63\x75\x73\x3a\x7b\x74\ +\x72\x69\x67\x67\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x69\x66\x28\x74\x68\x69\x73\x21\x3d\x3d\x64\x62\x28\x29\ +\x26\x26\x74\x68\x69\x73\x2e\x66\x6f\x63\x75\x73\x29\x74\x72\x79\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x66\x6f\x63\ +\x75\x73\x28\x29\x2c\x21\x31\x7d\x63\x61\x74\x63\x68\x28\x61\x29\ +\x7b\x7d\x7d\x2c\x64\x65\x6c\x65\x67\x61\x74\x65\x54\x79\x70\x65\ +\x3a\x22\x66\x6f\x63\x75\x73\x69\x6e\x22\x7d\x2c\x62\x6c\x75\x72\ +\x3a\x7b\x74\x72\x69\x67\x67\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\ +\x3d\x3d\x3d\x64\x62\x28\x29\x26\x26\x74\x68\x69\x73\x2e\x62\x6c\ +\x75\x72\x3f\x28\x74\x68\x69\x73\x2e\x62\x6c\x75\x72\x28\x29\x2c\ +\x21\x31\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x64\x65\x6c\x65\ +\x67\x61\x74\x65\x54\x79\x70\x65\x3a\x22\x66\x6f\x63\x75\x73\x6f\ +\x75\x74\x22\x7d\x2c\x63\x6c\x69\x63\x6b\x3a\x7b\x74\x72\x69\x67\ +\x67\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ +\x28\x74\x68\x69\x73\x2c\x22\x69\x6e\x70\x75\x74\x22\x29\x26\x26\ +\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x3d\x3d\x3d\x74\x68\x69\ +\x73\x2e\x74\x79\x70\x65\x26\x26\x74\x68\x69\x73\x2e\x63\x6c\x69\ +\x63\x6b\x3f\x28\x74\x68\x69\x73\x2e\x63\x6c\x69\x63\x6b\x28\x29\ +\x2c\x21\x31\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x5f\x64\x65\ +\x66\x61\x75\x6c\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\ +\x61\x6d\x65\x28\x61\x2e\x74\x61\x72\x67\x65\x74\x2c\x22\x61\x22\ +\x29\x7d\x7d\x2c\x62\x65\x66\x6f\x72\x65\x75\x6e\x6c\x6f\x61\x64\ +\x3a\x7b\x70\x6f\x73\x74\x44\x69\x73\x70\x61\x74\x63\x68\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x6f\x69\x64\x20\ +\x30\x21\x3d\x3d\x61\x2e\x72\x65\x73\x75\x6c\x74\x26\x26\x28\x61\ +\x2e\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x72\ +\x65\x74\x75\x72\x6e\x56\x61\x6c\x75\x65\x3d\x61\x2e\x72\x65\x73\ +\x75\x6c\x74\x29\x7d\x7d\x7d\x2c\x73\x69\x6d\x75\x6c\x61\x74\x65\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\ +\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x6e\x2e\x65\x78\x74\x65\x6e\ +\x64\x28\x6e\x65\x77\x20\x6e\x2e\x45\x76\x65\x6e\x74\x2c\x63\x2c\ +\x7b\x74\x79\x70\x65\x3a\x61\x2c\x69\x73\x53\x69\x6d\x75\x6c\x61\ +\x74\x65\x64\x3a\x21\x30\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\ +\x76\x65\x6e\x74\x3a\x7b\x7d\x7d\x29\x3b\x64\x3f\x6e\x2e\x65\x76\ +\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x65\x2c\x6e\x75\ +\x6c\x6c\x2c\x62\x29\x3a\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x64\x69\ +\x73\x70\x61\x74\x63\x68\x2e\x63\x61\x6c\x6c\x28\x62\x2c\x65\x29\ +\x2c\x65\x2e\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\x72\x65\x76\ +\x65\x6e\x74\x65\x64\x28\x29\x26\x26\x63\x2e\x70\x72\x65\x76\x65\ +\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x28\x29\x7d\x7d\x2c\x6e\x2e\ +\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x3d\x7a\x2e\x72\x65\ +\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\ +\x72\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\ +\x29\x7b\x61\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\ +\x69\x73\x74\x65\x6e\x65\x72\x26\x26\x61\x2e\x72\x65\x6d\x6f\x76\ +\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x62\ +\x2c\x63\x2c\x21\x31\x29\x7d\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x22\x6f\ +\x6e\x22\x2b\x62\x3b\x61\x2e\x64\x65\x74\x61\x63\x68\x45\x76\x65\ +\x6e\x74\x26\x26\x28\x74\x79\x70\x65\x6f\x66\x20\x61\x5b\x64\x5d\ +\x3d\x3d\x3d\x4c\x26\x26\x28\x61\x5b\x64\x5d\x3d\x6e\x75\x6c\x6c\ +\x29\x2c\x61\x2e\x64\x65\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\ +\x64\x2c\x63\x29\x29\x7d\x2c\x6e\x2e\x45\x76\x65\x6e\x74\x3d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\ +\x65\x6f\x66\x20\x6e\x2e\x45\x76\x65\x6e\x74\x3f\x28\x61\x26\x26\ +\x61\x2e\x74\x79\x70\x65\x3f\x28\x74\x68\x69\x73\x2e\x6f\x72\x69\ +\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3d\x61\x2c\x74\x68\x69\ +\x73\x2e\x74\x79\x70\x65\x3d\x61\x2e\x74\x79\x70\x65\x2c\x74\x68\ +\x69\x73\x2e\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\x72\x65\x76\ +\x65\x6e\x74\x65\x64\x3d\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\x50\ +\x72\x65\x76\x65\x6e\x74\x65\x64\x7c\x7c\x76\x6f\x69\x64\x20\x30\ +\x3d\x3d\x3d\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\x50\x72\x65\x76\ +\x65\x6e\x74\x65\x64\x26\x26\x28\x61\x2e\x72\x65\x74\x75\x72\x6e\ +\x56\x61\x6c\x75\x65\x3d\x3d\x3d\x21\x31\x7c\x7c\x61\x2e\x67\x65\ +\x74\x50\x72\x65\x76\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x26\ +\x26\x61\x2e\x67\x65\x74\x50\x72\x65\x76\x65\x6e\x74\x44\x65\x66\ +\x61\x75\x6c\x74\x28\x29\x29\x3f\x62\x62\x3a\x63\x62\x29\x3a\x74\ +\x68\x69\x73\x2e\x74\x79\x70\x65\x3d\x61\x2c\x62\x26\x26\x6e\x2e\ +\x65\x78\x74\x65\x6e\x64\x28\x74\x68\x69\x73\x2c\x62\x29\x2c\x74\ +\x68\x69\x73\x2e\x74\x69\x6d\x65\x53\x74\x61\x6d\x70\x3d\x61\x26\ +\x26\x61\x2e\x74\x69\x6d\x65\x53\x74\x61\x6d\x70\x7c\x7c\x6e\x2e\ +\x6e\x6f\x77\x28\x29\x2c\x76\x6f\x69\x64\x28\x74\x68\x69\x73\x5b\ +\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x3d\x21\x30\x29\x29\x3a\ +\x6e\x65\x77\x20\x6e\x2e\x45\x76\x65\x6e\x74\x28\x61\x2c\x62\x29\ +\x7d\x2c\x6e\x2e\x45\x76\x65\x6e\x74\x2e\x70\x72\x6f\x74\x6f\x74\ +\x79\x70\x65\x3d\x7b\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\x72\ +\x65\x76\x65\x6e\x74\x65\x64\x3a\x63\x62\x2c\x69\x73\x50\x72\x6f\ +\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x3a\ +\x63\x62\x2c\x69\x73\x49\x6d\x6d\x65\x64\x69\x61\x74\x65\x50\x72\ +\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\ +\x3a\x63\x62\x2c\x70\x72\x65\x76\x65\x6e\x74\x44\x65\x66\x61\x75\ +\x6c\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\ +\x72\x20\x61\x3d\x74\x68\x69\x73\x2e\x6f\x72\x69\x67\x69\x6e\x61\ +\x6c\x45\x76\x65\x6e\x74\x3b\x74\x68\x69\x73\x2e\x69\x73\x44\x65\ +\x66\x61\x75\x6c\x74\x50\x72\x65\x76\x65\x6e\x74\x65\x64\x3d\x62\ +\x62\x2c\x61\x26\x26\x28\x61\x2e\x70\x72\x65\x76\x65\x6e\x74\x44\ +\x65\x66\x61\x75\x6c\x74\x3f\x61\x2e\x70\x72\x65\x76\x65\x6e\x74\ +\x44\x65\x66\x61\x75\x6c\x74\x28\x29\x3a\x61\x2e\x72\x65\x74\x75\ +\x72\x6e\x56\x61\x6c\x75\x65\x3d\x21\x31\x29\x7d\x2c\x73\x74\x6f\ +\x70\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\ +\x69\x73\x2e\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\ +\x3b\x74\x68\x69\x73\x2e\x69\x73\x50\x72\x6f\x70\x61\x67\x61\x74\ +\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x3d\x62\x62\x2c\x61\x26\ +\x26\x28\x61\x2e\x73\x74\x6f\x70\x50\x72\x6f\x70\x61\x67\x61\x74\ +\x69\x6f\x6e\x26\x26\x61\x2e\x73\x74\x6f\x70\x50\x72\x6f\x70\x61\ +\x67\x61\x74\x69\x6f\x6e\x28\x29\x2c\x61\x2e\x63\x61\x6e\x63\x65\ +\x6c\x42\x75\x62\x62\x6c\x65\x3d\x21\x30\x29\x7d\x2c\x73\x74\x6f\ +\x70\x49\x6d\x6d\x65\x64\x69\x61\x74\x65\x50\x72\x6f\x70\x61\x67\ +\x61\x74\x69\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x74\x68\x69\x73\x2e\x69\x73\x49\x6d\x6d\x65\x64\x69\x61\x74\ +\x65\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\ +\x70\x65\x64\x3d\x62\x62\x2c\x74\x68\x69\x73\x2e\x73\x74\x6f\x70\ +\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x28\x29\x7d\x7d\x2c\ +\x6e\x2e\x65\x61\x63\x68\x28\x7b\x6d\x6f\x75\x73\x65\x65\x6e\x74\ +\x65\x72\x3a\x22\x6d\x6f\x75\x73\x65\x6f\x76\x65\x72\x22\x2c\x6d\ +\x6f\x75\x73\x65\x6c\x65\x61\x76\x65\x3a\x22\x6d\x6f\x75\x73\x65\ +\x6f\x75\x74\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\ +\x69\x61\x6c\x5b\x61\x5d\x3d\x7b\x64\x65\x6c\x65\x67\x61\x74\x65\ +\x54\x79\x70\x65\x3a\x62\x2c\x62\x69\x6e\x64\x54\x79\x70\x65\x3a\ +\x62\x2c\x68\x61\x6e\x64\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3d\x74\x68\x69\ +\x73\x2c\x65\x3d\x61\x2e\x72\x65\x6c\x61\x74\x65\x64\x54\x61\x72\ +\x67\x65\x74\x2c\x66\x3d\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\ +\x6a\x3b\x72\x65\x74\x75\x72\x6e\x28\x21\x65\x7c\x7c\x65\x21\x3d\ +\x3d\x64\x26\x26\x21\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\ +\x64\x2c\x65\x29\x29\x26\x26\x28\x61\x2e\x74\x79\x70\x65\x3d\x66\ +\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\x2c\x63\x3d\x66\x2e\x68\x61\ +\x6e\x64\x6c\x65\x72\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\ +\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x61\x2e\x74\x79\ +\x70\x65\x3d\x62\x29\x2c\x63\x7d\x7d\x7d\x29\x2c\x6c\x2e\x73\x75\ +\x62\x6d\x69\x74\x42\x75\x62\x62\x6c\x65\x73\x7c\x7c\x28\x6e\x2e\ +\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x2e\x73\x75\ +\x62\x6d\x69\x74\x3d\x7b\x73\x65\x74\x75\x70\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\ +\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x74\x68\x69\x73\x2c\x22\x66\ +\x6f\x72\x6d\x22\x29\x3f\x21\x31\x3a\x76\x6f\x69\x64\x20\x6e\x2e\ +\x65\x76\x65\x6e\x74\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x22\ +\x63\x6c\x69\x63\x6b\x2e\x5f\x73\x75\x62\x6d\x69\x74\x20\x6b\x65\ +\x79\x70\x72\x65\x73\x73\x2e\x5f\x73\x75\x62\x6d\x69\x74\x22\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\ +\x62\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x2c\x63\x3d\x6e\x2e\x6e\ +\x6f\x64\x65\x4e\x61\x6d\x65\x28\x62\x2c\x22\x69\x6e\x70\x75\x74\ +\x22\x29\x7c\x7c\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x62\ +\x2c\x22\x62\x75\x74\x74\x6f\x6e\x22\x29\x3f\x62\x2e\x66\x6f\x72\ +\x6d\x3a\x76\x6f\x69\x64\x20\x30\x3b\x63\x26\x26\x21\x6e\x2e\x5f\ +\x64\x61\x74\x61\x28\x63\x2c\x22\x73\x75\x62\x6d\x69\x74\x42\x75\ +\x62\x62\x6c\x65\x73\x22\x29\x26\x26\x28\x6e\x2e\x65\x76\x65\x6e\ +\x74\x2e\x61\x64\x64\x28\x63\x2c\x22\x73\x75\x62\x6d\x69\x74\x2e\ +\x5f\x73\x75\x62\x6d\x69\x74\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x61\x2e\x5f\x73\x75\x62\x6d\x69\x74\x5f\x62\ +\x75\x62\x62\x6c\x65\x3d\x21\x30\x7d\x29\x2c\x6e\x2e\x5f\x64\x61\ +\x74\x61\x28\x63\x2c\x22\x73\x75\x62\x6d\x69\x74\x42\x75\x62\x62\ +\x6c\x65\x73\x22\x2c\x21\x30\x29\x29\x7d\x29\x7d\x2c\x70\x6f\x73\ +\x74\x44\x69\x73\x70\x61\x74\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x61\x2e\x5f\x73\x75\x62\x6d\x69\x74\x5f\ +\x62\x75\x62\x62\x6c\x65\x26\x26\x28\x64\x65\x6c\x65\x74\x65\x20\ +\x61\x2e\x5f\x73\x75\x62\x6d\x69\x74\x5f\x62\x75\x62\x62\x6c\x65\ +\x2c\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\ +\x26\x26\x21\x61\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\x26\x26\ +\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x69\x6d\x75\x6c\x61\x74\x65\ +\x28\x22\x73\x75\x62\x6d\x69\x74\x22\x2c\x74\x68\x69\x73\x2e\x70\ +\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x61\x2c\x21\x30\x29\x29\ +\x7d\x2c\x74\x65\x61\x72\x64\x6f\x77\x6e\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\ +\x6f\x64\x65\x4e\x61\x6d\x65\x28\x74\x68\x69\x73\x2c\x22\x66\x6f\ +\x72\x6d\x22\x29\x3f\x21\x31\x3a\x76\x6f\x69\x64\x20\x6e\x2e\x65\ +\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\x74\x68\x69\x73\ +\x2c\x22\x2e\x5f\x73\x75\x62\x6d\x69\x74\x22\x29\x7d\x7d\x29\x2c\ +\x6c\x2e\x63\x68\x61\x6e\x67\x65\x42\x75\x62\x62\x6c\x65\x73\x7c\ +\x7c\x28\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\x69\x61\ +\x6c\x2e\x63\x68\x61\x6e\x67\x65\x3d\x7b\x73\x65\x74\x75\x70\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x59\x2e\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x29\x3f\x28\x28\x22\x63\x68\x65\x63\x6b\ +\x62\x6f\x78\x22\x3d\x3d\x3d\x74\x68\x69\x73\x2e\x74\x79\x70\x65\ +\x7c\x7c\x22\x72\x61\x64\x69\x6f\x22\x3d\x3d\x3d\x74\x68\x69\x73\ +\x2e\x74\x79\x70\x65\x29\x26\x26\x28\x6e\x2e\x65\x76\x65\x6e\x74\ +\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x22\x70\x72\x6f\x70\x65\ +\x72\x74\x79\x63\x68\x61\x6e\x67\x65\x2e\x5f\x63\x68\x61\x6e\x67\ +\x65\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x22\ +\x63\x68\x65\x63\x6b\x65\x64\x22\x3d\x3d\x3d\x61\x2e\x6f\x72\x69\ +\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x70\x72\x6f\x70\x65\ +\x72\x74\x79\x4e\x61\x6d\x65\x26\x26\x28\x74\x68\x69\x73\x2e\x5f\ +\x6a\x75\x73\x74\x5f\x63\x68\x61\x6e\x67\x65\x64\x3d\x21\x30\x29\ +\x7d\x29\x2c\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x61\x64\x64\x28\x74\ +\x68\x69\x73\x2c\x22\x63\x6c\x69\x63\x6b\x2e\x5f\x63\x68\x61\x6e\ +\x67\x65\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ +\x74\x68\x69\x73\x2e\x5f\x6a\x75\x73\x74\x5f\x63\x68\x61\x6e\x67\ +\x65\x64\x26\x26\x21\x61\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\ +\x26\x26\x28\x74\x68\x69\x73\x2e\x5f\x6a\x75\x73\x74\x5f\x63\x68\ +\x61\x6e\x67\x65\x64\x3d\x21\x31\x29\x2c\x6e\x2e\x65\x76\x65\x6e\ +\x74\x2e\x73\x69\x6d\x75\x6c\x61\x74\x65\x28\x22\x63\x68\x61\x6e\ +\x67\x65\x22\x2c\x74\x68\x69\x73\x2c\x61\x2c\x21\x30\x29\x7d\x29\ +\x29\x2c\x21\x31\x29\x3a\x76\x6f\x69\x64\x20\x6e\x2e\x65\x76\x65\ +\x6e\x74\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x22\x62\x65\x66\ +\x6f\x72\x65\x61\x63\x74\x69\x76\x61\x74\x65\x2e\x5f\x63\x68\x61\ +\x6e\x67\x65\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x3b\ +\x59\x2e\x74\x65\x73\x74\x28\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ +\x65\x29\x26\x26\x21\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\x2c\x22\ +\x63\x68\x61\x6e\x67\x65\x42\x75\x62\x62\x6c\x65\x73\x22\x29\x26\ +\x26\x28\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x61\x64\x64\x28\x62\x2c\ +\x22\x63\x68\x61\x6e\x67\x65\x2e\x5f\x63\x68\x61\x6e\x67\x65\x22\ +\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x21\x74\x68\ +\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x7c\x7c\x61\ +\x2e\x69\x73\x53\x69\x6d\x75\x6c\x61\x74\x65\x64\x7c\x7c\x61\x2e\ +\x69\x73\x54\x72\x69\x67\x67\x65\x72\x7c\x7c\x6e\x2e\x65\x76\x65\ +\x6e\x74\x2e\x73\x69\x6d\x75\x6c\x61\x74\x65\x28\x22\x63\x68\x61\ +\x6e\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\ +\x4e\x6f\x64\x65\x2c\x61\x2c\x21\x30\x29\x7d\x29\x2c\x6e\x2e\x5f\ +\x64\x61\x74\x61\x28\x62\x2c\x22\x63\x68\x61\x6e\x67\x65\x42\x75\ +\x62\x62\x6c\x65\x73\x22\x2c\x21\x30\x29\x29\x7d\x29\x7d\x2c\x68\ +\x61\x6e\x64\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\ +\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x21\x3d\x3d\x62\ +\x7c\x7c\x61\x2e\x69\x73\x53\x69\x6d\x75\x6c\x61\x74\x65\x64\x7c\ +\x7c\x61\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\x7c\x7c\x22\x72\ +\x61\x64\x69\x6f\x22\x21\x3d\x3d\x62\x2e\x74\x79\x70\x65\x26\x26\ +\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x21\x3d\x3d\x62\x2e\x74\ +\x79\x70\x65\x3f\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\x6a\x2e\ +\x68\x61\x6e\x64\x6c\x65\x72\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\ +\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x3a\x76\x6f\ +\x69\x64\x20\x30\x7d\x2c\x74\x65\x61\x72\x64\x6f\x77\x6e\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\ +\x74\x68\x69\x73\x2c\x22\x2e\x5f\x63\x68\x61\x6e\x67\x65\x22\x29\ +\x2c\x21\x59\x2e\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x29\x7d\x7d\x29\x2c\x6c\x2e\x66\x6f\x63\ +\x75\x73\x69\x6e\x42\x75\x62\x62\x6c\x65\x73\x7c\x7c\x6e\x2e\x65\ +\x61\x63\x68\x28\x7b\x66\x6f\x63\x75\x73\x3a\x22\x66\x6f\x63\x75\ +\x73\x69\x6e\x22\x2c\x62\x6c\x75\x72\x3a\x22\x66\x6f\x63\x75\x73\ +\x6f\x75\x74\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x69\ +\x6d\x75\x6c\x61\x74\x65\x28\x62\x2c\x61\x2e\x74\x61\x72\x67\x65\ +\x74\x2c\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x66\x69\x78\x28\x61\x29\ +\x2c\x21\x30\x29\x7d\x3b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\ +\x65\x63\x69\x61\x6c\x5b\x62\x5d\x3d\x7b\x73\x65\x74\x75\x70\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x64\ +\x3d\x74\x68\x69\x73\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ +\x65\x6e\x74\x7c\x7c\x74\x68\x69\x73\x2c\x65\x3d\x6e\x2e\x5f\x64\ +\x61\x74\x61\x28\x64\x2c\x62\x29\x3b\x65\x7c\x7c\x64\x2e\x61\x64\ +\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x61\ +\x2c\x63\x2c\x21\x30\x29\x2c\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\ +\x2c\x62\x2c\x28\x65\x7c\x7c\x30\x29\x2b\x31\x29\x7d\x2c\x74\x65\ +\x61\x72\x64\x6f\x77\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x76\x61\x72\x20\x64\x3d\x74\x68\x69\x73\x2e\x6f\x77\x6e\ +\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x74\x68\x69\x73\ +\x2c\x65\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\x2c\x62\x29\x2d\ +\x31\x3b\x65\x3f\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\x2c\x62\x2c\ +\x65\x29\x3a\x28\x64\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\ +\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x61\x2c\x63\x2c\x21\x30\ +\x29\x2c\x6e\x2e\x5f\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\ +\x64\x2c\x62\x29\x29\x7d\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\ +\x78\x74\x65\x6e\x64\x28\x7b\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\ +\x72\x20\x66\x2c\x67\x3b\x69\x66\x28\x22\x6f\x62\x6a\x65\x63\x74\ +\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x7b\x22\x73\x74\ +\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\ +\x26\x28\x63\x3d\x63\x7c\x7c\x62\x2c\x62\x3d\x76\x6f\x69\x64\x20\ +\x30\x29\x3b\x66\x6f\x72\x28\x66\x20\x69\x6e\x20\x61\x29\x74\x68\ +\x69\x73\x2e\x6f\x6e\x28\x66\x2c\x62\x2c\x63\x2c\x61\x5b\x66\x5d\ +\x2c\x65\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\ +\x69\x66\x28\x6e\x75\x6c\x6c\x3d\x3d\x63\x26\x26\x6e\x75\x6c\x6c\ +\x3d\x3d\x64\x3f\x28\x64\x3d\x62\x2c\x63\x3d\x62\x3d\x76\x6f\x69\ +\x64\x20\x30\x29\x3a\x6e\x75\x6c\x6c\x3d\x3d\x64\x26\x26\x28\x22\ +\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ +\x62\x3f\x28\x64\x3d\x63\x2c\x63\x3d\x76\x6f\x69\x64\x20\x30\x29\ +\x3a\x28\x64\x3d\x63\x2c\x63\x3d\x62\x2c\x62\x3d\x76\x6f\x69\x64\ +\x20\x30\x29\x29\x2c\x64\x3d\x3d\x3d\x21\x31\x29\x64\x3d\x63\x62\ +\x3b\x65\x6c\x73\x65\x20\x69\x66\x28\x21\x64\x29\x72\x65\x74\x75\ +\x72\x6e\x20\x74\x68\x69\x73\x3b\x72\x65\x74\x75\x72\x6e\x20\x31\ +\x3d\x3d\x3d\x65\x26\x26\x28\x67\x3d\x64\x2c\x64\x3d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x28\x29\x2e\x6f\x66\x66\x28\x61\x29\x2c\x67\x2e\x61\x70\x70\ +\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\ +\x73\x29\x7d\x2c\x64\x2e\x67\x75\x69\x64\x3d\x67\x2e\x67\x75\x69\ +\x64\x7c\x7c\x28\x67\x2e\x67\x75\x69\x64\x3d\x6e\x2e\x67\x75\x69\ +\x64\x2b\x2b\x29\x29\x2c\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x65\x76\x65\ +\x6e\x74\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x61\x2c\x64\x2c\ +\x63\x2c\x62\x29\x7d\x29\x7d\x2c\x6f\x6e\x65\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x6f\x6e\x28\x61\x2c\x62\ +\x2c\x63\x2c\x64\x2c\x31\x29\x7d\x2c\x6f\x66\x66\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ +\x20\x64\x2c\x65\x3b\x69\x66\x28\x61\x26\x26\x61\x2e\x70\x72\x65\ +\x76\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x26\x26\x61\x2e\x68\ +\x61\x6e\x64\x6c\x65\x4f\x62\x6a\x29\x72\x65\x74\x75\x72\x6e\x20\ +\x64\x3d\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\x6a\x2c\x6e\x28\ +\x61\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x54\x61\x72\x67\x65\x74\ +\x29\x2e\x6f\x66\x66\x28\x64\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\ +\x65\x3f\x64\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\x2b\x22\x2e\x22\ +\x2b\x64\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x3a\x64\x2e\x6f\ +\x72\x69\x67\x54\x79\x70\x65\x2c\x64\x2e\x73\x65\x6c\x65\x63\x74\ +\x6f\x72\x2c\x64\x2e\x68\x61\x6e\x64\x6c\x65\x72\x29\x2c\x74\x68\ +\x69\x73\x3b\x69\x66\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\ +\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x7b\x66\x6f\x72\x28\x65\x20\ +\x69\x6e\x20\x61\x29\x74\x68\x69\x73\x2e\x6f\x66\x66\x28\x65\x2c\ +\x62\x2c\x61\x5b\x65\x5d\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\ +\x68\x69\x73\x7d\x72\x65\x74\x75\x72\x6e\x28\x62\x3d\x3d\x3d\x21\ +\x31\x7c\x7c\x22\x66\x75\x6e\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x74\ +\x79\x70\x65\x6f\x66\x20\x62\x29\x26\x26\x28\x63\x3d\x62\x2c\x62\ +\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\x63\x3d\x3d\x3d\x21\x31\x26\ +\x26\x28\x63\x3d\x63\x62\x29\x2c\x74\x68\x69\x73\x2e\x65\x61\x63\ +\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x65\ +\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\x74\x68\x69\x73\ +\x2c\x61\x2c\x63\x2c\x62\x29\x7d\x29\x7d\x2c\x74\x72\x69\x67\x67\ +\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\ +\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x65\ +\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x61\x2c\x62\ +\x2c\x74\x68\x69\x73\x29\x7d\x29\x7d\x2c\x74\x72\x69\x67\x67\x65\ +\x72\x48\x61\x6e\x64\x6c\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x74\x68\x69\ +\x73\x5b\x30\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\x6e\x2e\ +\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x61\x2c\ +\x62\x2c\x63\x2c\x21\x30\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x7d\ +\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x62\x28\x61\x29\ +\x7b\x76\x61\x72\x20\x62\x3d\x66\x62\x2e\x73\x70\x6c\x69\x74\x28\ +\x22\x7c\x22\x29\x2c\x63\x3d\x61\x2e\x63\x72\x65\x61\x74\x65\x44\ +\x6f\x63\x75\x6d\x65\x6e\x74\x46\x72\x61\x67\x6d\x65\x6e\x74\x28\ +\x29\x3b\x69\x66\x28\x63\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\ +\x6d\x65\x6e\x74\x29\x77\x68\x69\x6c\x65\x28\x62\x2e\x6c\x65\x6e\ +\x67\x74\x68\x29\x63\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\ +\x65\x6e\x74\x28\x62\x2e\x70\x6f\x70\x28\x29\x29\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x63\x7d\x76\x61\x72\x20\x66\x62\x3d\x22\x61\x62\ +\x62\x72\x7c\x61\x72\x74\x69\x63\x6c\x65\x7c\x61\x73\x69\x64\x65\ +\x7c\x61\x75\x64\x69\x6f\x7c\x62\x64\x69\x7c\x63\x61\x6e\x76\x61\ +\x73\x7c\x64\x61\x74\x61\x7c\x64\x61\x74\x61\x6c\x69\x73\x74\x7c\ +\x64\x65\x74\x61\x69\x6c\x73\x7c\x66\x69\x67\x63\x61\x70\x74\x69\ +\x6f\x6e\x7c\x66\x69\x67\x75\x72\x65\x7c\x66\x6f\x6f\x74\x65\x72\ +\x7c\x68\x65\x61\x64\x65\x72\x7c\x68\x67\x72\x6f\x75\x70\x7c\x6d\ +\x61\x72\x6b\x7c\x6d\x65\x74\x65\x72\x7c\x6e\x61\x76\x7c\x6f\x75\ +\x74\x70\x75\x74\x7c\x70\x72\x6f\x67\x72\x65\x73\x73\x7c\x73\x65\ +\x63\x74\x69\x6f\x6e\x7c\x73\x75\x6d\x6d\x61\x72\x79\x7c\x74\x69\ +\x6d\x65\x7c\x76\x69\x64\x65\x6f\x22\x2c\x67\x62\x3d\x2f\x20\x6a\ +\x51\x75\x65\x72\x79\x5c\x64\x2b\x3d\x22\x28\x3f\x3a\x6e\x75\x6c\ +\x6c\x7c\x5c\x64\x2b\x29\x22\x2f\x67\x2c\x68\x62\x3d\x6e\x65\x77\ +\x20\x52\x65\x67\x45\x78\x70\x28\x22\x3c\x28\x3f\x3a\x22\x2b\x66\ +\x62\x2b\x22\x29\x5b\x5c\x5c\x73\x2f\x3e\x5d\x22\x2c\x22\x69\x22\ +\x29\x2c\x69\x62\x3d\x2f\x5e\x5c\x73\x2b\x2f\x2c\x6a\x62\x3d\x2f\ +\x3c\x28\x3f\x21\x61\x72\x65\x61\x7c\x62\x72\x7c\x63\x6f\x6c\x7c\ +\x65\x6d\x62\x65\x64\x7c\x68\x72\x7c\x69\x6d\x67\x7c\x69\x6e\x70\ +\x75\x74\x7c\x6c\x69\x6e\x6b\x7c\x6d\x65\x74\x61\x7c\x70\x61\x72\ +\x61\x6d\x29\x28\x28\x5b\x5c\x77\x3a\x5d\x2b\x29\x5b\x5e\x3e\x5d\ +\x2a\x29\x5c\x2f\x3e\x2f\x67\x69\x2c\x6b\x62\x3d\x2f\x3c\x28\x5b\ +\x5c\x77\x3a\x5d\x2b\x29\x2f\x2c\x6c\x62\x3d\x2f\x3c\x74\x62\x6f\ +\x64\x79\x2f\x69\x2c\x6d\x62\x3d\x2f\x3c\x7c\x26\x23\x3f\x5c\x77\ +\x2b\x3b\x2f\x2c\x6e\x62\x3d\x2f\x3c\x28\x3f\x3a\x73\x63\x72\x69\ +\x70\x74\x7c\x73\x74\x79\x6c\x65\x7c\x6c\x69\x6e\x6b\x29\x2f\x69\ +\x2c\x6f\x62\x3d\x2f\x63\x68\x65\x63\x6b\x65\x64\x5c\x73\x2a\x28\ +\x3f\x3a\x5b\x5e\x3d\x5d\x7c\x3d\x5c\x73\x2a\x2e\x63\x68\x65\x63\ +\x6b\x65\x64\x2e\x29\x2f\x69\x2c\x70\x62\x3d\x2f\x5e\x24\x7c\x5c\ +\x2f\x28\x3f\x3a\x6a\x61\x76\x61\x7c\x65\x63\x6d\x61\x29\x73\x63\ +\x72\x69\x70\x74\x2f\x69\x2c\x71\x62\x3d\x2f\x5e\x74\x72\x75\x65\ +\x5c\x2f\x28\x2e\x2a\x29\x2f\x2c\x72\x62\x3d\x2f\x5e\x5c\x73\x2a\ +\x3c\x21\x28\x3f\x3a\x5c\x5b\x43\x44\x41\x54\x41\x5c\x5b\x7c\x2d\ +\x2d\x29\x7c\x28\x3f\x3a\x5c\x5d\x5c\x5d\x7c\x2d\x2d\x29\x3e\x5c\ +\x73\x2a\x24\x2f\x67\x2c\x73\x62\x3d\x7b\x6f\x70\x74\x69\x6f\x6e\ +\x3a\x5b\x31\x2c\x22\x3c\x73\x65\x6c\x65\x63\x74\x20\x6d\x75\x6c\ +\x74\x69\x70\x6c\x65\x3d\x27\x6d\x75\x6c\x74\x69\x70\x6c\x65\x27\ +\x3e\x22\x2c\x22\x3c\x2f\x73\x65\x6c\x65\x63\x74\x3e\x22\x5d\x2c\ +\x6c\x65\x67\x65\x6e\x64\x3a\x5b\x31\x2c\x22\x3c\x66\x69\x65\x6c\ +\x64\x73\x65\x74\x3e\x22\x2c\x22\x3c\x2f\x66\x69\x65\x6c\x64\x73\ +\x65\x74\x3e\x22\x5d\x2c\x61\x72\x65\x61\x3a\x5b\x31\x2c\x22\x3c\ +\x6d\x61\x70\x3e\x22\x2c\x22\x3c\x2f\x6d\x61\x70\x3e\x22\x5d\x2c\ +\x70\x61\x72\x61\x6d\x3a\x5b\x31\x2c\x22\x3c\x6f\x62\x6a\x65\x63\ +\x74\x3e\x22\x2c\x22\x3c\x2f\x6f\x62\x6a\x65\x63\x74\x3e\x22\x5d\ +\x2c\x74\x68\x65\x61\x64\x3a\x5b\x31\x2c\x22\x3c\x74\x61\x62\x6c\ +\x65\x3e\x22\x2c\x22\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\ +\x74\x72\x3a\x5b\x32\x2c\x22\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x74\ +\x62\x6f\x64\x79\x3e\x22\x2c\x22\x3c\x2f\x74\x62\x6f\x64\x79\x3e\ +\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\x63\x6f\x6c\x3a\x5b\ +\x32\x2c\x22\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x74\x62\x6f\x64\x79\ +\x3e\x3c\x2f\x74\x62\x6f\x64\x79\x3e\x3c\x63\x6f\x6c\x67\x72\x6f\ +\x75\x70\x3e\x22\x2c\x22\x3c\x2f\x63\x6f\x6c\x67\x72\x6f\x75\x70\ +\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\x74\x64\x3a\x5b\ +\x33\x2c\x22\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x74\x62\x6f\x64\x79\ +\x3e\x3c\x74\x72\x3e\x22\x2c\x22\x3c\x2f\x74\x72\x3e\x3c\x2f\x74\ +\x62\x6f\x64\x79\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\ +\x5f\x64\x65\x66\x61\x75\x6c\x74\x3a\x6c\x2e\x68\x74\x6d\x6c\x53\ +\x65\x72\x69\x61\x6c\x69\x7a\x65\x3f\x5b\x30\x2c\x22\x22\x2c\x22\ +\x22\x5d\x3a\x5b\x31\x2c\x22\x58\x3c\x64\x69\x76\x3e\x22\x2c\x22\ +\x3c\x2f\x64\x69\x76\x3e\x22\x5d\x7d\x2c\x74\x62\x3d\x65\x62\x28\ +\x7a\x29\x2c\x75\x62\x3d\x74\x62\x2e\x61\x70\x70\x65\x6e\x64\x43\ +\x68\x69\x6c\x64\x28\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\ +\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x29\x3b\x73\x62\x2e\ +\x6f\x70\x74\x67\x72\x6f\x75\x70\x3d\x73\x62\x2e\x6f\x70\x74\x69\ +\x6f\x6e\x2c\x73\x62\x2e\x74\x62\x6f\x64\x79\x3d\x73\x62\x2e\x74\ +\x66\x6f\x6f\x74\x3d\x73\x62\x2e\x63\x6f\x6c\x67\x72\x6f\x75\x70\ +\x3d\x73\x62\x2e\x63\x61\x70\x74\x69\x6f\x6e\x3d\x73\x62\x2e\x74\ +\x68\x65\x61\x64\x2c\x73\x62\x2e\x74\x68\x3d\x73\x62\x2e\x74\x64\ +\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x76\x62\x28\x61\x2c\x62\ +\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x3d\x30\x2c\x66\x3d\ +\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x21\x3d\x3d\ +\x4c\x3f\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ +\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x62\x7c\x7c\x22\x2a\x22\x29\ +\x3a\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x71\x75\x65\x72\x79\x53\ +\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x21\x3d\x3d\x4c\x3f\x61\ +\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\ +\x6c\x28\x62\x7c\x7c\x22\x2a\x22\x29\x3a\x76\x6f\x69\x64\x20\x30\ +\x3b\x69\x66\x28\x21\x66\x29\x66\x6f\x72\x28\x66\x3d\x5b\x5d\x2c\ +\x63\x3d\x61\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x7c\x7c\ +\x61\x3b\x6e\x75\x6c\x6c\x21\x3d\x28\x64\x3d\x63\x5b\x65\x5d\x29\ +\x3b\x65\x2b\x2b\x29\x21\x62\x7c\x7c\x6e\x2e\x6e\x6f\x64\x65\x4e\ +\x61\x6d\x65\x28\x64\x2c\x62\x29\x3f\x66\x2e\x70\x75\x73\x68\x28\ +\x64\x29\x3a\x6e\x2e\x6d\x65\x72\x67\x65\x28\x66\x2c\x76\x62\x28\ +\x64\x2c\x62\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\ +\x64\x20\x30\x3d\x3d\x3d\x62\x7c\x7c\x62\x26\x26\x6e\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x62\x29\x3f\x6e\x2e\x6d\x65\ +\x72\x67\x65\x28\x5b\x61\x5d\x2c\x66\x29\x3a\x66\x7d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x77\x62\x28\x61\x29\x7b\x58\x2e\x74\x65\ +\x73\x74\x28\x61\x2e\x74\x79\x70\x65\x29\x26\x26\x28\x61\x2e\x64\ +\x65\x66\x61\x75\x6c\x74\x43\x68\x65\x63\x6b\x65\x64\x3d\x61\x2e\ +\x63\x68\x65\x63\x6b\x65\x64\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x20\x78\x62\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x22\x74\ +\x61\x62\x6c\x65\x22\x29\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\ +\x6d\x65\x28\x31\x31\x21\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\ +\x70\x65\x3f\x62\x3a\x62\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\ +\x64\x2c\x22\x74\x72\x22\x29\x3f\x61\x2e\x67\x65\x74\x45\x6c\x65\ +\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\ +\x74\x62\x6f\x64\x79\x22\x29\x5b\x30\x5d\x7c\x7c\x61\x2e\x61\x70\ +\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\x2e\x6f\x77\x6e\x65\ +\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\ +\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x74\x62\x6f\x64\x79\x22\x29\ +\x29\x3a\x61\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x79\x62\x28\ +\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x74\x79\x70\x65\ +\x3d\x28\x6e\x75\x6c\x6c\x21\x3d\x3d\x6e\x2e\x66\x69\x6e\x64\x2e\ +\x61\x74\x74\x72\x28\x61\x2c\x22\x74\x79\x70\x65\x22\x29\x29\x2b\ +\x22\x2f\x22\x2b\x61\x2e\x74\x79\x70\x65\x2c\x61\x7d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x7a\x62\x28\x61\x29\x7b\x76\x61\x72\x20\ +\x62\x3d\x71\x62\x2e\x65\x78\x65\x63\x28\x61\x2e\x74\x79\x70\x65\ +\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x61\x2e\x74\x79\x70\ +\x65\x3d\x62\x5b\x31\x5d\x3a\x61\x2e\x72\x65\x6d\x6f\x76\x65\x41\ +\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x74\x79\x70\x65\x22\x29\ +\x2c\x61\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x41\x62\x28\x61\ +\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x63\x2c\x64\x3d\ +\x30\x3b\x6e\x75\x6c\x6c\x21\x3d\x28\x63\x3d\x61\x5b\x64\x5d\x29\ +\x3b\x64\x2b\x2b\x29\x6e\x2e\x5f\x64\x61\x74\x61\x28\x63\x2c\x22\ +\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x6c\x22\x2c\x21\x62\x7c\x7c\ +\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\x5b\x64\x5d\x2c\x22\x67\x6c\ +\x6f\x62\x61\x6c\x45\x76\x61\x6c\x22\x29\x29\x7d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x20\x42\x62\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\ +\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\ +\x6e\x2e\x68\x61\x73\x44\x61\x74\x61\x28\x61\x29\x29\x7b\x76\x61\ +\x72\x20\x63\x2c\x64\x2c\x65\x2c\x66\x3d\x6e\x2e\x5f\x64\x61\x74\ +\x61\x28\x61\x29\x2c\x67\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\ +\x2c\x66\x29\x2c\x68\x3d\x66\x2e\x65\x76\x65\x6e\x74\x73\x3b\x69\ +\x66\x28\x68\x29\x7b\x64\x65\x6c\x65\x74\x65\x20\x67\x2e\x68\x61\ +\x6e\x64\x6c\x65\x2c\x67\x2e\x65\x76\x65\x6e\x74\x73\x3d\x7b\x7d\ +\x3b\x66\x6f\x72\x28\x63\x20\x69\x6e\x20\x68\x29\x66\x6f\x72\x28\ +\x64\x3d\x30\x2c\x65\x3d\x68\x5b\x63\x5d\x2e\x6c\x65\x6e\x67\x74\ +\x68\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x6e\x2e\x65\x76\x65\x6e\ +\x74\x2e\x61\x64\x64\x28\x62\x2c\x63\x2c\x68\x5b\x63\x5d\x5b\x64\ +\x5d\x29\x7d\x67\x2e\x64\x61\x74\x61\x26\x26\x28\x67\x2e\x64\x61\ +\x74\x61\x3d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x67\ +\x2e\x64\x61\x74\x61\x29\x29\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x20\x43\x62\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\ +\x64\x2c\x65\x3b\x69\x66\x28\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\ +\x65\x54\x79\x70\x65\x29\x7b\x69\x66\x28\x63\x3d\x62\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ +\x73\x65\x28\x29\x2c\x21\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\ +\x76\x65\x6e\x74\x26\x26\x62\x5b\x6e\x2e\x65\x78\x70\x61\x6e\x64\ +\x6f\x5d\x29\x7b\x65\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\x29\ +\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x65\x2e\x65\x76\x65\x6e\ +\x74\x73\x29\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\ +\x28\x62\x2c\x64\x2c\x65\x2e\x68\x61\x6e\x64\x6c\x65\x29\x3b\x62\ +\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\ +\x28\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x29\x7d\x22\x73\x63\x72\ +\x69\x70\x74\x22\x3d\x3d\x3d\x63\x26\x26\x62\x2e\x74\x65\x78\x74\ +\x21\x3d\x3d\x61\x2e\x74\x65\x78\x74\x3f\x28\x79\x62\x28\x62\x29\ +\x2e\x74\x65\x78\x74\x3d\x61\x2e\x74\x65\x78\x74\x2c\x7a\x62\x28\ +\x62\x29\x29\x3a\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x3d\x63\ +\x3f\x28\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\ +\x28\x62\x2e\x6f\x75\x74\x65\x72\x48\x54\x4d\x4c\x3d\x61\x2e\x6f\ +\x75\x74\x65\x72\x48\x54\x4d\x4c\x29\x2c\x6c\x2e\x68\x74\x6d\x6c\ +\x35\x43\x6c\x6f\x6e\x65\x26\x26\x61\x2e\x69\x6e\x6e\x65\x72\x48\ +\x54\x4d\x4c\x26\x26\x21\x6e\x2e\x74\x72\x69\x6d\x28\x62\x2e\x69\ +\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x29\x26\x26\x28\x62\x2e\x69\x6e\ +\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x61\x2e\x69\x6e\x6e\x65\x72\x48\ +\x54\x4d\x4c\x29\x29\x3a\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\ +\x63\x26\x26\x58\x2e\x74\x65\x73\x74\x28\x61\x2e\x74\x79\x70\x65\ +\x29\x3f\x28\x62\x2e\x64\x65\x66\x61\x75\x6c\x74\x43\x68\x65\x63\ +\x6b\x65\x64\x3d\x62\x2e\x63\x68\x65\x63\x6b\x65\x64\x3d\x61\x2e\ +\x63\x68\x65\x63\x6b\x65\x64\x2c\x62\x2e\x76\x61\x6c\x75\x65\x21\ +\x3d\x3d\x61\x2e\x76\x61\x6c\x75\x65\x26\x26\x28\x62\x2e\x76\x61\ +\x6c\x75\x65\x3d\x61\x2e\x76\x61\x6c\x75\x65\x29\x29\x3a\x22\x6f\ +\x70\x74\x69\x6f\x6e\x22\x3d\x3d\x3d\x63\x3f\x62\x2e\x64\x65\x66\ +\x61\x75\x6c\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x3d\x62\x2e\x73\ +\x65\x6c\x65\x63\x74\x65\x64\x3d\x61\x2e\x64\x65\x66\x61\x75\x6c\ +\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x3a\x28\x22\x69\x6e\x70\x75\ +\x74\x22\x3d\x3d\x3d\x63\x7c\x7c\x22\x74\x65\x78\x74\x61\x72\x65\ +\x61\x22\x3d\x3d\x3d\x63\x29\x26\x26\x28\x62\x2e\x64\x65\x66\x61\ +\x75\x6c\x74\x56\x61\x6c\x75\x65\x3d\x61\x2e\x64\x65\x66\x61\x75\ +\x6c\x74\x56\x61\x6c\x75\x65\x29\x7d\x7d\x6e\x2e\x65\x78\x74\x65\ +\x6e\x64\x28\x7b\x63\x6c\x6f\x6e\x65\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\ +\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x3d\x6e\x2e\x63\x6f\x6e\x74\ +\x61\x69\x6e\x73\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\ +\x6d\x65\x6e\x74\x2c\x61\x29\x3b\x69\x66\x28\x6c\x2e\x68\x74\x6d\ +\x6c\x35\x43\x6c\x6f\x6e\x65\x7c\x7c\x6e\x2e\x69\x73\x58\x4d\x4c\ +\x44\x6f\x63\x28\x61\x29\x7c\x7c\x21\x68\x62\x2e\x74\x65\x73\x74\ +\x28\x22\x3c\x22\x2b\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2b\ +\x22\x3e\x22\x29\x3f\x66\x3d\x61\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\ +\x64\x65\x28\x21\x30\x29\x3a\x28\x75\x62\x2e\x69\x6e\x6e\x65\x72\ +\x48\x54\x4d\x4c\x3d\x61\x2e\x6f\x75\x74\x65\x72\x48\x54\x4d\x4c\ +\x2c\x75\x62\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\ +\x66\x3d\x75\x62\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\ +\x29\x2c\x21\x28\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\x76\x65\ +\x6e\x74\x26\x26\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x43\x68\x65\ +\x63\x6b\x65\x64\x7c\x7c\x31\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\ +\x54\x79\x70\x65\x26\x26\x31\x31\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\ +\x65\x54\x79\x70\x65\x7c\x7c\x6e\x2e\x69\x73\x58\x4d\x4c\x44\x6f\ +\x63\x28\x61\x29\x29\x29\x66\x6f\x72\x28\x64\x3d\x76\x62\x28\x66\ +\x29\x2c\x68\x3d\x76\x62\x28\x61\x29\x2c\x67\x3d\x30\x3b\x6e\x75\ +\x6c\x6c\x21\x3d\x28\x65\x3d\x68\x5b\x67\x5d\x29\x3b\x2b\x2b\x67\ +\x29\x64\x5b\x67\x5d\x26\x26\x43\x62\x28\x65\x2c\x64\x5b\x67\x5d\ +\x29\x3b\x69\x66\x28\x62\x29\x69\x66\x28\x63\x29\x66\x6f\x72\x28\ +\x68\x3d\x68\x7c\x7c\x76\x62\x28\x61\x29\x2c\x64\x3d\x64\x7c\x7c\ +\x76\x62\x28\x66\x29\x2c\x67\x3d\x30\x3b\x6e\x75\x6c\x6c\x21\x3d\ +\x28\x65\x3d\x68\x5b\x67\x5d\x29\x3b\x67\x2b\x2b\x29\x42\x62\x28\ +\x65\x2c\x64\x5b\x67\x5d\x29\x3b\x65\x6c\x73\x65\x20\x42\x62\x28\ +\x61\x2c\x66\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x3d\x76\x62\ +\x28\x66\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\x2c\x64\x2e\x6c\ +\x65\x6e\x67\x74\x68\x3e\x30\x26\x26\x41\x62\x28\x64\x2c\x21\x69\ +\x26\x26\x76\x62\x28\x61\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\ +\x29\x2c\x64\x3d\x68\x3d\x65\x3d\x6e\x75\x6c\x6c\x2c\x66\x7d\x2c\ +\x62\x75\x69\x6c\x64\x46\x72\x61\x67\x6d\x65\x6e\x74\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\ +\x66\x6f\x72\x28\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\x2c\x68\x2c\ +\x69\x2c\x6a\x2c\x6b\x2c\x6d\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\ +\x2c\x6f\x3d\x65\x62\x28\x62\x29\x2c\x70\x3d\x5b\x5d\x2c\x71\x3d\ +\x30\x3b\x6d\x3e\x71\x3b\x71\x2b\x2b\x29\x69\x66\x28\x66\x3d\x61\ +\x5b\x71\x5d\x2c\x66\x7c\x7c\x30\x3d\x3d\x3d\x66\x29\x69\x66\x28\ +\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x3d\x6e\x2e\x74\x79\x70\ +\x65\x28\x66\x29\x29\x6e\x2e\x6d\x65\x72\x67\x65\x28\x70\x2c\x66\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x5b\x66\x5d\x3a\x66\x29\ +\x3b\x65\x6c\x73\x65\x20\x69\x66\x28\x6d\x62\x2e\x74\x65\x73\x74\ +\x28\x66\x29\x29\x7b\x68\x3d\x68\x7c\x7c\x6f\x2e\x61\x70\x70\x65\ +\x6e\x64\x43\x68\x69\x6c\x64\x28\x62\x2e\x63\x72\x65\x61\x74\x65\ +\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x29\x2c\ +\x69\x3d\x28\x6b\x62\x2e\x65\x78\x65\x63\x28\x66\x29\x7c\x7c\x5b\ +\x22\x22\x2c\x22\x22\x5d\x29\x5b\x31\x5d\x2e\x74\x6f\x4c\x6f\x77\ +\x65\x72\x43\x61\x73\x65\x28\x29\x2c\x6b\x3d\x73\x62\x5b\x69\x5d\ +\x7c\x7c\x73\x62\x2e\x5f\x64\x65\x66\x61\x75\x6c\x74\x2c\x68\x2e\ +\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x6b\x5b\x31\x5d\x2b\x66\ +\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x6a\x62\x2c\x22\x3c\x24\x31\ +\x3e\x3c\x2f\x24\x32\x3e\x22\x29\x2b\x6b\x5b\x32\x5d\x2c\x65\x3d\ +\x6b\x5b\x30\x5d\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x68\ +\x3d\x68\x2e\x6c\x61\x73\x74\x43\x68\x69\x6c\x64\x3b\x69\x66\x28\ +\x21\x6c\x2e\x6c\x65\x61\x64\x69\x6e\x67\x57\x68\x69\x74\x65\x73\ +\x70\x61\x63\x65\x26\x26\x69\x62\x2e\x74\x65\x73\x74\x28\x66\x29\ +\x26\x26\x70\x2e\x70\x75\x73\x68\x28\x62\x2e\x63\x72\x65\x61\x74\ +\x65\x54\x65\x78\x74\x4e\x6f\x64\x65\x28\x69\x62\x2e\x65\x78\x65\ +\x63\x28\x66\x29\x5b\x30\x5d\x29\x29\x2c\x21\x6c\x2e\x74\x62\x6f\ +\x64\x79\x29\x7b\x66\x3d\x22\x74\x61\x62\x6c\x65\x22\x21\x3d\x3d\ +\x69\x7c\x7c\x6c\x62\x2e\x74\x65\x73\x74\x28\x66\x29\x3f\x22\x3c\ +\x74\x61\x62\x6c\x65\x3e\x22\x21\x3d\x3d\x6b\x5b\x31\x5d\x7c\x7c\ +\x6c\x62\x2e\x74\x65\x73\x74\x28\x66\x29\x3f\x30\x3a\x68\x3a\x68\ +\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2c\x65\x3d\x66\x26\ +\x26\x66\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x2e\x6c\x65\ +\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x6e\ +\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x6a\x3d\x66\x2e\x63\x68\ +\x69\x6c\x64\x4e\x6f\x64\x65\x73\x5b\x65\x5d\x2c\x22\x74\x62\x6f\ +\x64\x79\x22\x29\x26\x26\x21\x6a\x2e\x63\x68\x69\x6c\x64\x4e\x6f\ +\x64\x65\x73\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x66\x2e\x72\x65\ +\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x6a\x29\x7d\x6e\x2e\x6d\ +\x65\x72\x67\x65\x28\x70\x2c\x68\x2e\x63\x68\x69\x6c\x64\x4e\x6f\ +\x64\x65\x73\x29\x2c\x68\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\ +\x6e\x74\x3d\x22\x22\x3b\x77\x68\x69\x6c\x65\x28\x68\x2e\x66\x69\ +\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x68\x2e\x72\x65\x6d\x6f\x76\ +\x65\x43\x68\x69\x6c\x64\x28\x68\x2e\x66\x69\x72\x73\x74\x43\x68\ +\x69\x6c\x64\x29\x3b\x68\x3d\x6f\x2e\x6c\x61\x73\x74\x43\x68\x69\ +\x6c\x64\x7d\x65\x6c\x73\x65\x20\x70\x2e\x70\x75\x73\x68\x28\x62\ +\x2e\x63\x72\x65\x61\x74\x65\x54\x65\x78\x74\x4e\x6f\x64\x65\x28\ +\x66\x29\x29\x3b\x68\x26\x26\x6f\x2e\x72\x65\x6d\x6f\x76\x65\x43\ +\x68\x69\x6c\x64\x28\x68\x29\x2c\x6c\x2e\x61\x70\x70\x65\x6e\x64\ +\x43\x68\x65\x63\x6b\x65\x64\x7c\x7c\x6e\x2e\x67\x72\x65\x70\x28\ +\x76\x62\x28\x70\x2c\x22\x69\x6e\x70\x75\x74\x22\x29\x2c\x77\x62\ +\x29\x2c\x71\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x66\x3d\x70\x5b\ +\x71\x2b\x2b\x5d\x29\x69\x66\x28\x28\x21\x64\x7c\x7c\x2d\x31\x3d\ +\x3d\x3d\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x66\x2c\x64\x29\ +\x29\x26\x26\x28\x67\x3d\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\ +\x28\x66\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\ +\x2c\x66\x29\x2c\x68\x3d\x76\x62\x28\x6f\x2e\x61\x70\x70\x65\x6e\ +\x64\x43\x68\x69\x6c\x64\x28\x66\x29\x2c\x22\x73\x63\x72\x69\x70\ +\x74\x22\x29\x2c\x67\x26\x26\x41\x62\x28\x68\x29\x2c\x63\x29\x29\ +\x7b\x65\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x66\x3d\x68\x5b\x65\ +\x2b\x2b\x5d\x29\x70\x62\x2e\x74\x65\x73\x74\x28\x66\x2e\x74\x79\ +\x70\x65\x7c\x7c\x22\x22\x29\x26\x26\x63\x2e\x70\x75\x73\x68\x28\ +\x66\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x68\x3d\x6e\x75\x6c\x6c\ +\x2c\x6f\x7d\x2c\x63\x6c\x65\x61\x6e\x44\x61\x74\x61\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\ +\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x30\x2c\ +\x69\x3d\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x2c\x6a\x3d\x6e\x2e\ +\x63\x61\x63\x68\x65\x2c\x6b\x3d\x6c\x2e\x64\x65\x6c\x65\x74\x65\ +\x45\x78\x70\x61\x6e\x64\x6f\x2c\x6d\x3d\x6e\x2e\x65\x76\x65\x6e\ +\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x3b\x6e\x75\x6c\x6c\x21\x3d\ +\x28\x64\x3d\x61\x5b\x68\x5d\x29\x3b\x68\x2b\x2b\x29\x69\x66\x28\ +\x28\x62\x7c\x7c\x6e\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\ +\x28\x64\x29\x29\x26\x26\x28\x66\x3d\x64\x5b\x69\x5d\x2c\x67\x3d\ +\x66\x26\x26\x6a\x5b\x66\x5d\x29\x29\x7b\x69\x66\x28\x67\x2e\x65\ +\x76\x65\x6e\x74\x73\x29\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x67\ +\x2e\x65\x76\x65\x6e\x74\x73\x29\x6d\x5b\x65\x5d\x3f\x6e\x2e\x65\ +\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\x64\x2c\x65\x29\ +\x3a\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x28\x64\ +\x2c\x65\x2c\x67\x2e\x68\x61\x6e\x64\x6c\x65\x29\x3b\x6a\x5b\x66\ +\x5d\x26\x26\x28\x64\x65\x6c\x65\x74\x65\x20\x6a\x5b\x66\x5d\x2c\ +\x6b\x3f\x64\x65\x6c\x65\x74\x65\x20\x64\x5b\x69\x5d\x3a\x74\x79\ +\x70\x65\x6f\x66\x20\x64\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\ +\x72\x69\x62\x75\x74\x65\x21\x3d\x3d\x4c\x3f\x64\x2e\x72\x65\x6d\ +\x6f\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x69\x29\x3a\ +\x64\x5b\x69\x5d\x3d\x6e\x75\x6c\x6c\x2c\x63\x2e\x70\x75\x73\x68\ +\x28\x66\x29\x29\x7d\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\ +\x74\x65\x6e\x64\x28\x7b\x74\x65\x78\x74\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x28\ +\x74\x68\x69\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\ +\x3d\x61\x3f\x6e\x2e\x74\x65\x78\x74\x28\x74\x68\x69\x73\x29\x3a\ +\x74\x68\x69\x73\x2e\x65\x6d\x70\x74\x79\x28\x29\x2e\x61\x70\x70\ +\x65\x6e\x64\x28\x28\x74\x68\x69\x73\x5b\x30\x5d\x26\x26\x74\x68\ +\x69\x73\x5b\x30\x5d\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ +\x65\x6e\x74\x7c\x7c\x7a\x29\x2e\x63\x72\x65\x61\x74\x65\x54\x65\ +\x78\x74\x4e\x6f\x64\x65\x28\x61\x29\x29\x7d\x2c\x6e\x75\x6c\x6c\ +\x2c\x61\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\ +\x67\x74\x68\x29\x7d\x2c\x61\x70\x70\x65\x6e\x64\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ +\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x72\x67\ +\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x69\x66\x28\x31\x3d\x3d\x3d\x74\x68\x69\x73\x2e\x6e\ +\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x31\x31\x3d\x3d\x3d\x74\x68\ +\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x39\x3d\x3d\ +\x3d\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x7b\ +\x76\x61\x72\x20\x62\x3d\x78\x62\x28\x74\x68\x69\x73\x2c\x61\x29\ +\x3b\x62\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\ +\x29\x7d\x7d\x29\x7d\x2c\x70\x72\x65\x70\x65\x6e\x64\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x74\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x72\ +\x67\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x69\x66\x28\x31\x3d\x3d\x3d\x74\x68\x69\x73\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x31\x31\x3d\x3d\x3d\x74\ +\x68\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x39\x3d\ +\x3d\x3d\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\ +\x7b\x76\x61\x72\x20\x62\x3d\x78\x62\x28\x74\x68\x69\x73\x2c\x61\ +\x29\x3b\x62\x2e\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\ +\x28\x61\x2c\x62\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\ +\x7d\x7d\x29\x7d\x2c\x62\x65\x66\x6f\x72\x65\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ +\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x72\x67\x75\ +\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ +\x65\x26\x26\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ +\x64\x65\x2e\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\x28\ +\x61\x2c\x74\x68\x69\x73\x29\x7d\x29\x7d\x2c\x61\x66\x74\x65\x72\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x74\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\ +\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x74\x68\x69\x73\x2e\x70\x61\x72\x65\ +\x6e\x74\x4e\x6f\x64\x65\x26\x26\x74\x68\x69\x73\x2e\x70\x61\x72\ +\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x69\x6e\x73\x65\x72\x74\x42\x65\ +\x66\x6f\x72\x65\x28\x61\x2c\x74\x68\x69\x73\x2e\x6e\x65\x78\x74\ +\x53\x69\x62\x6c\x69\x6e\x67\x29\x7d\x29\x7d\x2c\x72\x65\x6d\x6f\ +\x76\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ +\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x63\x2c\x64\x3d\x61\x3f\x6e\ +\x2e\x66\x69\x6c\x74\x65\x72\x28\x61\x2c\x74\x68\x69\x73\x29\x3a\ +\x74\x68\x69\x73\x2c\x65\x3d\x30\x3b\x6e\x75\x6c\x6c\x21\x3d\x28\ +\x63\x3d\x64\x5b\x65\x5d\x29\x3b\x65\x2b\x2b\x29\x62\x7c\x7c\x31\ +\x21\x3d\x3d\x63\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x6e\ +\x2e\x63\x6c\x65\x61\x6e\x44\x61\x74\x61\x28\x76\x62\x28\x63\x29\ +\x29\x2c\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\ +\x28\x62\x26\x26\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x63\ +\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2c\x63\ +\x29\x26\x26\x41\x62\x28\x76\x62\x28\x63\x2c\x22\x73\x63\x72\x69\ +\x70\x74\x22\x29\x29\x2c\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ +\x64\x65\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x63\ +\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\ +\x65\x6d\x70\x74\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x61\x2c\x62\x3d\x30\x3b\x6e\ +\x75\x6c\x6c\x21\x3d\x28\x61\x3d\x74\x68\x69\x73\x5b\x62\x5d\x29\ +\x3b\x62\x2b\x2b\x29\x7b\x31\x3d\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\ +\x54\x79\x70\x65\x26\x26\x6e\x2e\x63\x6c\x65\x61\x6e\x44\x61\x74\ +\x61\x28\x76\x62\x28\x61\x2c\x21\x31\x29\x29\x3b\x77\x68\x69\x6c\ +\x65\x28\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x61\ +\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x61\x2e\x66\ +\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x3b\x61\x2e\x6f\x70\x74\ +\x69\x6f\x6e\x73\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ +\x28\x61\x2c\x22\x73\x65\x6c\x65\x63\x74\x22\x29\x26\x26\x28\x61\ +\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3d\ +\x30\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\ +\x63\x6c\x6f\x6e\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x6e\x75\x6c\ +\x6c\x3d\x3d\x61\x3f\x21\x31\x3a\x61\x2c\x62\x3d\x6e\x75\x6c\x6c\ +\x3d\x3d\x62\x3f\x61\x3a\x62\x2c\x74\x68\x69\x73\x2e\x6d\x61\x70\ +\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x6e\x2e\x63\x6c\x6f\x6e\x65\x28\x74\x68\x69\x73\x2c\ +\x61\x2c\x62\x29\x7d\x29\x7d\x2c\x68\x74\x6d\x6c\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x57\x28\x74\x68\x69\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x74\x68\x69\x73\x5b\x30\x5d\ +\x7c\x7c\x7b\x7d\x2c\x63\x3d\x30\x2c\x64\x3d\x74\x68\x69\x73\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x69\x66\x28\x76\x6f\x69\x64\x20\x30\ +\x3d\x3d\x3d\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x31\x3d\x3d\x3d\ +\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x62\x2e\x69\x6e\x6e\ +\x65\x72\x48\x54\x4d\x4c\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x67\ +\x62\x2c\x22\x22\x29\x3a\x76\x6f\x69\x64\x20\x30\x3b\x69\x66\x28\ +\x21\x28\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\ +\x6f\x66\x20\x61\x7c\x7c\x6e\x62\x2e\x74\x65\x73\x74\x28\x61\x29\ +\x7c\x7c\x21\x6c\x2e\x68\x74\x6d\x6c\x53\x65\x72\x69\x61\x6c\x69\ +\x7a\x65\x26\x26\x68\x62\x2e\x74\x65\x73\x74\x28\x61\x29\x7c\x7c\ +\x21\x6c\x2e\x6c\x65\x61\x64\x69\x6e\x67\x57\x68\x69\x74\x65\x73\ +\x70\x61\x63\x65\x26\x26\x69\x62\x2e\x74\x65\x73\x74\x28\x61\x29\ +\x7c\x7c\x73\x62\x5b\x28\x6b\x62\x2e\x65\x78\x65\x63\x28\x61\x29\ +\x7c\x7c\x5b\x22\x22\x2c\x22\x22\x5d\x29\x5b\x31\x5d\x2e\x74\x6f\ +\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x29\x29\x7b\x61\ +\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x6a\x62\x2c\x22\x3c\ +\x24\x31\x3e\x3c\x2f\x24\x32\x3e\x22\x29\x3b\x74\x72\x79\x7b\x66\ +\x6f\x72\x28\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x62\x3d\x74\x68\ +\x69\x73\x5b\x63\x5d\x7c\x7c\x7b\x7d\x2c\x31\x3d\x3d\x3d\x62\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x6e\x2e\x63\x6c\x65\ +\x61\x6e\x44\x61\x74\x61\x28\x76\x62\x28\x62\x2c\x21\x31\x29\x29\ +\x2c\x62\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x61\x29\x3b\ +\x62\x3d\x30\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x7d\x62\ +\x26\x26\x74\x68\x69\x73\x2e\x65\x6d\x70\x74\x79\x28\x29\x2e\x61\ +\x70\x70\x65\x6e\x64\x28\x61\x29\x7d\x2c\x6e\x75\x6c\x6c\x2c\x61\ +\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\ +\x68\x29\x7d\x2c\x72\x65\x70\x6c\x61\x63\x65\x57\x69\x74\x68\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\ +\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x30\x5d\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\ +\x69\x70\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x61\x3d\x74\x68\x69\x73\x2e\ +\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x6e\x2e\x63\x6c\x65\ +\x61\x6e\x44\x61\x74\x61\x28\x76\x62\x28\x74\x68\x69\x73\x29\x29\ +\x2c\x61\x26\x26\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x43\x68\x69\ +\x6c\x64\x28\x62\x2c\x74\x68\x69\x73\x29\x7d\x29\x2c\x61\x26\x26\ +\x28\x61\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x61\x2e\x6e\x6f\x64\ +\x65\x54\x79\x70\x65\x29\x3f\x74\x68\x69\x73\x3a\x74\x68\x69\x73\ +\x2e\x72\x65\x6d\x6f\x76\x65\x28\x29\x7d\x2c\x64\x65\x74\x61\x63\ +\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x72\x65\x6d\x6f\x76\x65\ +\x28\x61\x2c\x21\x30\x29\x7d\x2c\x64\x6f\x6d\x4d\x61\x6e\x69\x70\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x61\ +\x3d\x65\x2e\x61\x70\x70\x6c\x79\x28\x5b\x5d\x2c\x61\x29\x3b\x76\ +\x61\x72\x20\x63\x2c\x64\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\x6a\ +\x3d\x30\x2c\x6b\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x2c\x6d\x3d\x74\x68\x69\x73\x2c\x6f\x3d\x6b\x2d\x31\x2c\x70\x3d\ +\x61\x5b\x30\x5d\x2c\x71\x3d\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x70\x29\x3b\x69\x66\x28\x71\x7c\x7c\x6b\x3e\x31\ +\x26\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\ +\x6f\x66\x20\x70\x26\x26\x21\x6c\x2e\x63\x68\x65\x63\x6b\x43\x6c\ +\x6f\x6e\x65\x26\x26\x6f\x62\x2e\x74\x65\x73\x74\x28\x70\x29\x29\ +\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\ +\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\x7b\x76\x61\x72\ +\x20\x64\x3d\x6d\x2e\x65\x71\x28\x63\x29\x3b\x71\x26\x26\x28\x61\ +\x5b\x30\x5d\x3d\x70\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\ +\x63\x2c\x64\x2e\x68\x74\x6d\x6c\x28\x29\x29\x29\x2c\x64\x2e\x64\ +\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x2c\x62\x29\x7d\x29\x3b\x69\ +\x66\x28\x6b\x26\x26\x28\x69\x3d\x6e\x2e\x62\x75\x69\x6c\x64\x46\ +\x72\x61\x67\x6d\x65\x6e\x74\x28\x61\x2c\x74\x68\x69\x73\x5b\x30\ +\x5d\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2c\ +\x21\x31\x2c\x74\x68\x69\x73\x29\x2c\x63\x3d\x69\x2e\x66\x69\x72\ +\x73\x74\x43\x68\x69\x6c\x64\x2c\x31\x3d\x3d\x3d\x69\x2e\x63\x68\ +\x69\x6c\x64\x4e\x6f\x64\x65\x73\x2e\x6c\x65\x6e\x67\x74\x68\x26\ +\x26\x28\x69\x3d\x63\x29\x2c\x63\x29\x29\x7b\x66\x6f\x72\x28\x67\ +\x3d\x6e\x2e\x6d\x61\x70\x28\x76\x62\x28\x69\x2c\x22\x73\x63\x72\ +\x69\x70\x74\x22\x29\x2c\x79\x62\x29\x2c\x66\x3d\x67\x2e\x6c\x65\ +\x6e\x67\x74\x68\x3b\x6b\x3e\x6a\x3b\x6a\x2b\x2b\x29\x64\x3d\x69\ +\x2c\x6a\x21\x3d\x3d\x6f\x26\x26\x28\x64\x3d\x6e\x2e\x63\x6c\x6f\ +\x6e\x65\x28\x64\x2c\x21\x30\x2c\x21\x30\x29\x2c\x66\x26\x26\x6e\ +\x2e\x6d\x65\x72\x67\x65\x28\x67\x2c\x76\x62\x28\x64\x2c\x22\x73\ +\x63\x72\x69\x70\x74\x22\x29\x29\x29\x2c\x62\x2e\x63\x61\x6c\x6c\ +\x28\x74\x68\x69\x73\x5b\x6a\x5d\x2c\x64\x2c\x6a\x29\x3b\x69\x66\ +\x28\x66\x29\x66\x6f\x72\x28\x68\x3d\x67\x5b\x67\x2e\x6c\x65\x6e\ +\x67\x74\x68\x2d\x31\x5d\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\ +\x6d\x65\x6e\x74\x2c\x6e\x2e\x6d\x61\x70\x28\x67\x2c\x7a\x62\x29\ +\x2c\x6a\x3d\x30\x3b\x66\x3e\x6a\x3b\x6a\x2b\x2b\x29\x64\x3d\x67\ +\x5b\x6a\x5d\x2c\x70\x62\x2e\x74\x65\x73\x74\x28\x64\x2e\x74\x79\ +\x70\x65\x7c\x7c\x22\x22\x29\x26\x26\x21\x6e\x2e\x5f\x64\x61\x74\ +\x61\x28\x64\x2c\x22\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x6c\x22\ +\x29\x26\x26\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x68\x2c\ +\x64\x29\x26\x26\x28\x64\x2e\x73\x72\x63\x3f\x6e\x2e\x5f\x65\x76\ +\x61\x6c\x55\x72\x6c\x26\x26\x6e\x2e\x5f\x65\x76\x61\x6c\x55\x72\ +\x6c\x28\x64\x2e\x73\x72\x63\x29\x3a\x6e\x2e\x67\x6c\x6f\x62\x61\ +\x6c\x45\x76\x61\x6c\x28\x28\x64\x2e\x74\x65\x78\x74\x7c\x7c\x64\ +\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74\x7c\x7c\x64\x2e\ +\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x7c\x7c\x22\x22\x29\x2e\x72\ +\x65\x70\x6c\x61\x63\x65\x28\x72\x62\x2c\x22\x22\x29\x29\x29\x3b\ +\x69\x3d\x63\x3d\x6e\x75\x6c\x6c\x7d\x72\x65\x74\x75\x72\x6e\x20\ +\x74\x68\x69\x73\x7d\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\ +\x61\x70\x70\x65\x6e\x64\x54\x6f\x3a\x22\x61\x70\x70\x65\x6e\x64\ +\x22\x2c\x70\x72\x65\x70\x65\x6e\x64\x54\x6f\x3a\x22\x70\x72\x65\ +\x70\x65\x6e\x64\x22\x2c\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\ +\x72\x65\x3a\x22\x62\x65\x66\x6f\x72\x65\x22\x2c\x69\x6e\x73\x65\ +\x72\x74\x41\x66\x74\x65\x72\x3a\x22\x61\x66\x74\x65\x72\x22\x2c\ +\x72\x65\x70\x6c\x61\x63\x65\x41\x6c\x6c\x3a\x22\x72\x65\x70\x6c\ +\x61\x63\x65\x57\x69\x74\x68\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\x61\x5d\x3d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\x72\x28\ +\x76\x61\x72\x20\x63\x2c\x64\x3d\x30\x2c\x65\x3d\x5b\x5d\x2c\x67\ +\x3d\x6e\x28\x61\x29\x2c\x68\x3d\x67\x2e\x6c\x65\x6e\x67\x74\x68\ +\x2d\x31\x3b\x68\x3e\x3d\x64\x3b\x64\x2b\x2b\x29\x63\x3d\x64\x3d\ +\x3d\x3d\x68\x3f\x74\x68\x69\x73\x3a\x74\x68\x69\x73\x2e\x63\x6c\ +\x6f\x6e\x65\x28\x21\x30\x29\x2c\x6e\x28\x67\x5b\x64\x5d\x29\x5b\ +\x62\x5d\x28\x63\x29\x2c\x66\x2e\x61\x70\x70\x6c\x79\x28\x65\x2c\ +\x63\x2e\x67\x65\x74\x28\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x65\ +\x29\x7d\x7d\x29\x3b\x76\x61\x72\x20\x44\x62\x2c\x45\x62\x3d\x7b\ +\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x46\x62\x28\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x6e\x28\x63\x2e\x63\x72\x65\ +\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x62\x29\x29\x2e\x61\ +\x70\x70\x65\x6e\x64\x54\x6f\x28\x63\x2e\x62\x6f\x64\x79\x29\x2c\ +\x65\x3d\x61\x2e\x67\x65\x74\x44\x65\x66\x61\x75\x6c\x74\x43\x6f\ +\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\x3f\x61\x2e\x67\x65\ +\x74\x44\x65\x66\x61\x75\x6c\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\ +\x53\x74\x79\x6c\x65\x28\x64\x5b\x30\x5d\x29\x2e\x64\x69\x73\x70\ +\x6c\x61\x79\x3a\x6e\x2e\x63\x73\x73\x28\x64\x5b\x30\x5d\x2c\x22\ +\x64\x69\x73\x70\x6c\x61\x79\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x64\x2e\x64\x65\x74\x61\x63\x68\x28\x29\x2c\x65\x7d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x20\x47\x62\x28\x61\x29\x7b\x76\x61\x72\ +\x20\x62\x3d\x7a\x2c\x63\x3d\x45\x62\x5b\x61\x5d\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x63\x7c\x7c\x28\x63\x3d\x46\x62\x28\x61\x2c\x62\ +\x29\x2c\x22\x6e\x6f\x6e\x65\x22\x21\x3d\x3d\x63\x26\x26\x63\x7c\ +\x7c\x28\x44\x62\x3d\x28\x44\x62\x7c\x7c\x6e\x28\x22\x3c\x69\x66\ +\x72\x61\x6d\x65\x20\x66\x72\x61\x6d\x65\x62\x6f\x72\x64\x65\x72\ +\x3d\x27\x30\x27\x20\x77\x69\x64\x74\x68\x3d\x27\x30\x27\x20\x68\ +\x65\x69\x67\x68\x74\x3d\x27\x30\x27\x2f\x3e\x22\x29\x29\x2e\x61\ +\x70\x70\x65\x6e\x64\x54\x6f\x28\x62\x2e\x64\x6f\x63\x75\x6d\x65\ +\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x29\x2c\x62\x3d\x28\x44\x62\ +\x5b\x30\x5d\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x57\x69\x6e\x64\x6f\ +\x77\x7c\x7c\x44\x62\x5b\x30\x5d\x2e\x63\x6f\x6e\x74\x65\x6e\x74\ +\x44\x6f\x63\x75\x6d\x65\x6e\x74\x29\x2e\x64\x6f\x63\x75\x6d\x65\ +\x6e\x74\x2c\x62\x2e\x77\x72\x69\x74\x65\x28\x29\x2c\x62\x2e\x63\ +\x6c\x6f\x73\x65\x28\x29\x2c\x63\x3d\x46\x62\x28\x61\x2c\x62\x29\ +\x2c\x44\x62\x2e\x64\x65\x74\x61\x63\x68\x28\x29\x29\x2c\x45\x62\ +\x5b\x61\x5d\x3d\x63\x29\x2c\x63\x7d\x21\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\x63\x3d\x7a\ +\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\ +\x64\x69\x76\x22\x29\x2c\x64\x3d\x22\x2d\x77\x65\x62\x6b\x69\x74\ +\x2d\x62\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\ +\x65\x6e\x74\x2d\x62\x6f\x78\x3b\x2d\x6d\x6f\x7a\x2d\x62\x6f\x78\ +\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\x6e\x74\x2d\ +\x62\x6f\x78\x3b\x62\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\ +\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\x3b\x64\x69\x73\x70\x6c\ +\x61\x79\x3a\x62\x6c\x6f\x63\x6b\x3b\x70\x61\x64\x64\x69\x6e\x67\ +\x3a\x30\x3b\x6d\x61\x72\x67\x69\x6e\x3a\x30\x3b\x62\x6f\x72\x64\ +\x65\x72\x3a\x30\x22\x3b\x63\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\ +\x4c\x3d\x22\x20\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\ +\x6c\x65\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\ +\x65\x66\x3d\x27\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\ +\x70\x75\x74\x20\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\ +\x6f\x78\x27\x2f\x3e\x22\x2c\x61\x3d\x63\x2e\x67\x65\x74\x45\x6c\ +\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\ +\x22\x61\x22\x29\x5b\x30\x5d\x2c\x61\x2e\x73\x74\x79\x6c\x65\x2e\ +\x63\x73\x73\x54\x65\x78\x74\x3d\x22\x66\x6c\x6f\x61\x74\x3a\x6c\ +\x65\x66\x74\x3b\x6f\x70\x61\x63\x69\x74\x79\x3a\x2e\x35\x22\x2c\ +\x6c\x2e\x6f\x70\x61\x63\x69\x74\x79\x3d\x2f\x5e\x30\x2e\x35\x2f\ +\x2e\x74\x65\x73\x74\x28\x61\x2e\x73\x74\x79\x6c\x65\x2e\x6f\x70\ +\x61\x63\x69\x74\x79\x29\x2c\x6c\x2e\x63\x73\x73\x46\x6c\x6f\x61\ +\x74\x3d\x21\x21\x61\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x46\ +\x6c\x6f\x61\x74\x2c\x63\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\ +\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\x63\x6f\x6e\ +\x74\x65\x6e\x74\x2d\x62\x6f\x78\x22\x2c\x63\x2e\x63\x6c\x6f\x6e\ +\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x73\x74\x79\x6c\x65\x2e\ +\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\ +\x22\x2c\x6c\x2e\x63\x6c\x65\x61\x72\x43\x6c\x6f\x6e\x65\x53\x74\ +\x79\x6c\x65\x3d\x22\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\ +\x22\x3d\x3d\x3d\x63\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\ +\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x2c\x61\x3d\x63\x3d\x6e\ +\x75\x6c\x6c\x2c\x6c\x2e\x73\x68\x72\x69\x6e\x6b\x57\x72\x61\x70\ +\x42\x6c\x6f\x63\x6b\x73\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x76\x61\x72\x20\x61\x2c\x63\x2c\x65\x2c\x66\x3b\x69\x66\ +\x28\x6e\x75\x6c\x6c\x3d\x3d\x62\x29\x7b\x69\x66\x28\x61\x3d\x7a\ +\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\ +\x67\x4e\x61\x6d\x65\x28\x22\x62\x6f\x64\x79\x22\x29\x5b\x30\x5d\ +\x2c\x21\x61\x29\x72\x65\x74\x75\x72\x6e\x3b\x66\x3d\x22\x62\x6f\ +\x72\x64\x65\x72\x3a\x30\x3b\x77\x69\x64\x74\x68\x3a\x30\x3b\x68\ +\x65\x69\x67\x68\x74\x3a\x30\x3b\x70\x6f\x73\x69\x74\x69\x6f\x6e\ +\x3a\x61\x62\x73\x6f\x6c\x75\x74\x65\x3b\x74\x6f\x70\x3a\x30\x3b\ +\x6c\x65\x66\x74\x3a\x2d\x39\x39\x39\x39\x70\x78\x22\x2c\x63\x3d\ +\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\ +\x22\x64\x69\x76\x22\x29\x2c\x65\x3d\x7a\x2e\x63\x72\x65\x61\x74\ +\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\ +\x61\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x63\x29\ +\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x65\x29\x2c\ +\x62\x3d\x21\x31\x2c\x74\x79\x70\x65\x6f\x66\x20\x65\x2e\x73\x74\ +\x79\x6c\x65\x2e\x7a\x6f\x6f\x6d\x21\x3d\x3d\x4c\x26\x26\x28\x65\ +\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x64\ +\x2b\x22\x3b\x77\x69\x64\x74\x68\x3a\x31\x70\x78\x3b\x70\x61\x64\ +\x64\x69\x6e\x67\x3a\x31\x70\x78\x3b\x7a\x6f\x6f\x6d\x3a\x31\x22\ +\x2c\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\x64\ +\x69\x76\x3e\x3c\x2f\x64\x69\x76\x3e\x22\x2c\x65\x2e\x66\x69\x72\ +\x73\x74\x43\x68\x69\x6c\x64\x2e\x73\x74\x79\x6c\x65\x2e\x77\x69\ +\x64\x74\x68\x3d\x22\x35\x70\x78\x22\x2c\x62\x3d\x33\x21\x3d\x3d\ +\x65\x2e\x6f\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68\x29\x2c\x61\ +\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x63\x29\x2c\ +\x61\x3d\x63\x3d\x65\x3d\x6e\x75\x6c\x6c\x7d\x72\x65\x74\x75\x72\ +\x6e\x20\x62\x7d\x7d\x28\x29\x3b\x76\x61\x72\x20\x48\x62\x3d\x2f\ +\x5e\x6d\x61\x72\x67\x69\x6e\x2f\x2c\x49\x62\x3d\x6e\x65\x77\x20\ +\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x28\x22\x2b\x54\x2b\x22\x29\ +\x28\x3f\x21\x70\x78\x29\x5b\x61\x2d\x7a\x25\x5d\x2b\x24\x22\x2c\ +\x22\x69\x22\x29\x2c\x4a\x62\x2c\x4b\x62\x2c\x4c\x62\x3d\x2f\x5e\ +\x28\x74\x6f\x70\x7c\x72\x69\x67\x68\x74\x7c\x62\x6f\x74\x74\x6f\ +\x6d\x7c\x6c\x65\x66\x74\x29\x24\x2f\x3b\x61\x2e\x67\x65\x74\x43\ +\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\x3f\x28\x4a\x62\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ +\x65\x6e\x74\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x69\x65\x77\x2e\ +\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\ +\x28\x61\x2c\x6e\x75\x6c\x6c\x29\x7d\x2c\x4b\x62\x3d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ +\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x61\x2e\x73\x74\x79\ +\x6c\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x3d\x63\x7c\x7c\x4a\ +\x62\x28\x61\x29\x2c\x67\x3d\x63\x3f\x63\x2e\x67\x65\x74\x50\x72\ +\x6f\x70\x65\x72\x74\x79\x56\x61\x6c\x75\x65\x28\x62\x29\x7c\x7c\ +\x63\x5b\x62\x5d\x3a\x76\x6f\x69\x64\x20\x30\x2c\x63\x26\x26\x28\ +\x22\x22\x21\x3d\x3d\x67\x7c\x7c\x6e\x2e\x63\x6f\x6e\x74\x61\x69\ +\x6e\x73\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ +\x6e\x74\x2c\x61\x29\x7c\x7c\x28\x67\x3d\x6e\x2e\x73\x74\x79\x6c\ +\x65\x28\x61\x2c\x62\x29\x29\x2c\x49\x62\x2e\x74\x65\x73\x74\x28\ +\x67\x29\x26\x26\x48\x62\x2e\x74\x65\x73\x74\x28\x62\x29\x26\x26\ +\x28\x64\x3d\x68\x2e\x77\x69\x64\x74\x68\x2c\x65\x3d\x68\x2e\x6d\ +\x69\x6e\x57\x69\x64\x74\x68\x2c\x66\x3d\x68\x2e\x6d\x61\x78\x57\ +\x69\x64\x74\x68\x2c\x68\x2e\x6d\x69\x6e\x57\x69\x64\x74\x68\x3d\ +\x68\x2e\x6d\x61\x78\x57\x69\x64\x74\x68\x3d\x68\x2e\x77\x69\x64\ +\x74\x68\x3d\x67\x2c\x67\x3d\x63\x2e\x77\x69\x64\x74\x68\x2c\x68\ +\x2e\x77\x69\x64\x74\x68\x3d\x64\x2c\x68\x2e\x6d\x69\x6e\x57\x69\ +\x64\x74\x68\x3d\x65\x2c\x68\x2e\x6d\x61\x78\x57\x69\x64\x74\x68\ +\x3d\x66\x29\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x67\x3f\ +\x67\x3a\x67\x2b\x22\x22\x7d\x29\x3a\x7a\x2e\x64\x6f\x63\x75\x6d\ +\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x2e\x63\x75\x72\x72\x65\ +\x6e\x74\x53\x74\x79\x6c\x65\x26\x26\x28\x4a\x62\x3d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\x65\x7d\x2c\ +\x4b\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\ +\x3d\x61\x2e\x73\x74\x79\x6c\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x63\x3d\x63\x7c\x7c\x4a\x62\x28\x61\x29\x2c\x67\x3d\x63\x3f\x63\ +\x5b\x62\x5d\x3a\x76\x6f\x69\x64\x20\x30\x2c\x6e\x75\x6c\x6c\x3d\ +\x3d\x67\x26\x26\x68\x26\x26\x68\x5b\x62\x5d\x26\x26\x28\x67\x3d\ +\x68\x5b\x62\x5d\x29\x2c\x49\x62\x2e\x74\x65\x73\x74\x28\x67\x29\ +\x26\x26\x21\x4c\x62\x2e\x74\x65\x73\x74\x28\x62\x29\x26\x26\x28\ +\x64\x3d\x68\x2e\x6c\x65\x66\x74\x2c\x65\x3d\x61\x2e\x72\x75\x6e\ +\x74\x69\x6d\x65\x53\x74\x79\x6c\x65\x2c\x66\x3d\x65\x26\x26\x65\ +\x2e\x6c\x65\x66\x74\x2c\x66\x26\x26\x28\x65\x2e\x6c\x65\x66\x74\ +\x3d\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\x65\x2e\ +\x6c\x65\x66\x74\x29\x2c\x68\x2e\x6c\x65\x66\x74\x3d\x22\x66\x6f\ +\x6e\x74\x53\x69\x7a\x65\x22\x3d\x3d\x3d\x62\x3f\x22\x31\x65\x6d\ +\x22\x3a\x67\x2c\x67\x3d\x68\x2e\x70\x69\x78\x65\x6c\x4c\x65\x66\ +\x74\x2b\x22\x70\x78\x22\x2c\x68\x2e\x6c\x65\x66\x74\x3d\x64\x2c\ +\x66\x26\x26\x28\x65\x2e\x6c\x65\x66\x74\x3d\x66\x29\x29\x2c\x76\ +\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x67\x3f\x67\x3a\x67\x2b\x22\x22\ +\x7c\x7c\x22\x61\x75\x74\x6f\x22\x7d\x29\x3b\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x20\x4d\x62\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x76\x61\x72\x20\x63\x3d\x61\x28\x29\x3b\x69\x66\x28\x6e\ +\x75\x6c\x6c\x21\x3d\x63\x29\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\ +\x76\x6f\x69\x64\x20\x64\x65\x6c\x65\x74\x65\x20\x74\x68\x69\x73\ +\x2e\x67\x65\x74\x3a\x28\x74\x68\x69\x73\x2e\x67\x65\x74\x3d\x62\ +\x29\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\ +\x75\x6d\x65\x6e\x74\x73\x29\x7d\x7d\x7d\x21\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x2c\ +\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\ +\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x69\ +\x3d\x22\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x77\x69\x64\x74\x68\ +\x3a\x30\x3b\x68\x65\x69\x67\x68\x74\x3a\x30\x3b\x70\x6f\x73\x69\ +\x74\x69\x6f\x6e\x3a\x61\x62\x73\x6f\x6c\x75\x74\x65\x3b\x74\x6f\ +\x70\x3a\x30\x3b\x6c\x65\x66\x74\x3a\x2d\x39\x39\x39\x39\x70\x78\ +\x22\x2c\x6a\x3d\x22\x2d\x77\x65\x62\x6b\x69\x74\x2d\x62\x6f\x78\ +\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\x6e\x74\x2d\ +\x62\x6f\x78\x3b\x2d\x6d\x6f\x7a\x2d\x62\x6f\x78\x2d\x73\x69\x7a\ +\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\x3b\ +\x62\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\ +\x6e\x74\x2d\x62\x6f\x78\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x62\ +\x6c\x6f\x63\x6b\x3b\x70\x61\x64\x64\x69\x6e\x67\x3a\x30\x3b\x6d\ +\x61\x72\x67\x69\x6e\x3a\x30\x3b\x62\x6f\x72\x64\x65\x72\x3a\x30\ +\x22\x3b\x68\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x20\ +\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\x6c\x65\x3e\x3c\ +\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\x65\x66\x3d\x27\ +\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\x70\x75\x74\x20\ +\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\x6f\x78\x27\x2f\ +\x3e\x22\x2c\x62\x3d\x68\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ +\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x61\x22\x29\ +\x5b\x30\x5d\x2c\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\ +\x65\x78\x74\x3d\x22\x66\x6c\x6f\x61\x74\x3a\x6c\x65\x66\x74\x3b\ +\x6f\x70\x61\x63\x69\x74\x79\x3a\x2e\x35\x22\x2c\x6c\x2e\x6f\x70\ +\x61\x63\x69\x74\x79\x3d\x2f\x5e\x30\x2e\x35\x2f\x2e\x74\x65\x73\ +\x74\x28\x62\x2e\x73\x74\x79\x6c\x65\x2e\x6f\x70\x61\x63\x69\x74\ +\x79\x29\x2c\x6c\x2e\x63\x73\x73\x46\x6c\x6f\x61\x74\x3d\x21\x21\ +\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x46\x6c\x6f\x61\x74\ +\x2c\x68\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\x67\x72\x6f\ +\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\x63\x6f\x6e\x74\x65\x6e\x74\ +\x2d\x62\x6f\x78\x22\x2c\x68\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\x64\ +\x65\x28\x21\x30\x29\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\ +\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\x22\x2c\x6c\x2e\ +\x63\x6c\x65\x61\x72\x43\x6c\x6f\x6e\x65\x53\x74\x79\x6c\x65\x3d\ +\x22\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\x22\x3d\x3d\x3d\ +\x68\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\x67\x72\x6f\x75\ +\x6e\x64\x43\x6c\x69\x70\x2c\x62\x3d\x68\x3d\x6e\x75\x6c\x6c\x2c\ +\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x6c\x2c\x7b\x72\x65\x6c\x69\ +\x61\x62\x6c\x65\x48\x69\x64\x64\x65\x6e\x4f\x66\x66\x73\x65\x74\ +\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\ +\x6e\x75\x6c\x6c\x21\x3d\x63\x29\x72\x65\x74\x75\x72\x6e\x20\x63\ +\x3b\x76\x61\x72\x20\x61\x2c\x62\x2c\x64\x2c\x65\x3d\x7a\x2e\x63\ +\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\ +\x76\x22\x29\x2c\x66\x3d\x7a\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\ +\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x62\x6f\ +\x64\x79\x22\x29\x5b\x30\x5d\x3b\x69\x66\x28\x66\x29\x72\x65\x74\ +\x75\x72\x6e\x20\x65\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x28\x22\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x22\x2c\x22\ +\x74\x22\x29\x2c\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\ +\x22\x20\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\x6c\x65\ +\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\x65\x66\ +\x3d\x27\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\x70\x75\ +\x74\x20\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\x6f\x78\ +\x27\x2f\x3e\x22\x2c\x61\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\ +\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x61\x2e\ +\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x69\x2c\ +\x66\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\x29\ +\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x65\x29\x2c\ +\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\x74\x61\ +\x62\x6c\x65\x3e\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x3c\x2f\x74\x64\ +\x3e\x3c\x74\x64\x3e\x74\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\ +\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x2c\x62\x3d\x65\x2e\x67\x65\ +\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\ +\x6d\x65\x28\x22\x74\x64\x22\x29\x2c\x62\x5b\x30\x5d\x2e\x73\x74\ +\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x22\x70\x61\x64\ +\x64\x69\x6e\x67\x3a\x30\x3b\x6d\x61\x72\x67\x69\x6e\x3a\x30\x3b\ +\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x64\x69\x73\x70\x6c\x61\x79\ +\x3a\x6e\x6f\x6e\x65\x22\x2c\x64\x3d\x30\x3d\x3d\x3d\x62\x5b\x30\ +\x5d\x2e\x6f\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x2c\x62\ +\x5b\x30\x5d\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\ +\x79\x3d\x22\x22\x2c\x62\x5b\x31\x5d\x2e\x73\x74\x79\x6c\x65\x2e\ +\x64\x69\x73\x70\x6c\x61\x79\x3d\x22\x6e\x6f\x6e\x65\x22\x2c\x63\ +\x3d\x64\x26\x26\x30\x3d\x3d\x3d\x62\x5b\x30\x5d\x2e\x6f\x66\x66\ +\x73\x65\x74\x48\x65\x69\x67\x68\x74\x2c\x66\x2e\x72\x65\x6d\x6f\ +\x76\x65\x43\x68\x69\x6c\x64\x28\x61\x29\x2c\x65\x3d\x66\x3d\x6e\ +\x75\x6c\x6c\x2c\x63\x7d\x2c\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x64\x26\x26\x6b\x28\x29\x2c\ +\x64\x7d\x2c\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x52\x65\x6c\x69\ +\x61\x62\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x65\x26\x26\ +\x6b\x28\x29\x2c\x65\x7d\x2c\x70\x69\x78\x65\x6c\x50\x6f\x73\x69\ +\x74\x69\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x66\x26\x26\ +\x6b\x28\x29\x2c\x66\x7d\x2c\x72\x65\x6c\x69\x61\x62\x6c\x65\x4d\ +\x61\x72\x67\x69\x6e\x52\x69\x67\x68\x74\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x2c\ +\x65\x3b\x69\x66\x28\x6e\x75\x6c\x6c\x3d\x3d\x67\x26\x26\x61\x2e\ +\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\ +\x29\x7b\x69\x66\x28\x62\x3d\x7a\x2e\x67\x65\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x62\ +\x6f\x64\x79\x22\x29\x5b\x30\x5d\x2c\x21\x62\x29\x72\x65\x74\x75\ +\x72\x6e\x3b\x63\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\ +\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x64\x3d\x7a\x2e\ +\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\ +\x69\x76\x22\x29\x2c\x63\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\ +\x54\x65\x78\x74\x3d\x69\x2c\x62\x2e\x61\x70\x70\x65\x6e\x64\x43\ +\x68\x69\x6c\x64\x28\x63\x29\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\ +\x69\x6c\x64\x28\x64\x29\x2c\x65\x3d\x64\x2e\x61\x70\x70\x65\x6e\ +\x64\x43\x68\x69\x6c\x64\x28\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\ +\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x29\x2c\x65\ +\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x64\ +\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x6a\ +\x2c\x65\x2e\x73\x74\x79\x6c\x65\x2e\x6d\x61\x72\x67\x69\x6e\x52\ +\x69\x67\x68\x74\x3d\x65\x2e\x73\x74\x79\x6c\x65\x2e\x77\x69\x64\ +\x74\x68\x3d\x22\x30\x22\x2c\x64\x2e\x73\x74\x79\x6c\x65\x2e\x77\ +\x69\x64\x74\x68\x3d\x22\x31\x70\x78\x22\x2c\x67\x3d\x21\x70\x61\ +\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x28\x61\x2e\x67\x65\x74\x43\ +\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\x28\x65\x2c\x6e\ +\x75\x6c\x6c\x29\x7c\x7c\x7b\x7d\x29\x2e\x6d\x61\x72\x67\x69\x6e\ +\x52\x69\x67\x68\x74\x29\x2c\x62\x2e\x72\x65\x6d\x6f\x76\x65\x43\ +\x68\x69\x6c\x64\x28\x63\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x67\ +\x7d\x7d\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6b\x28\x29\ +\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x68\x3d\x7a\x2e\x67\x65\x74\ +\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\ +\x65\x28\x22\x62\x6f\x64\x79\x22\x29\x5b\x30\x5d\x3b\x68\x26\x26\ +\x28\x62\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\ +\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x63\x3d\x7a\x2e\x63\x72\ +\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\ +\x22\x29\x2c\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\ +\x78\x74\x3d\x69\x2c\x68\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\ +\x6c\x64\x28\x62\x29\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\ +\x64\x28\x63\x29\x2c\x63\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\ +\x54\x65\x78\x74\x3d\x22\x2d\x77\x65\x62\x6b\x69\x74\x2d\x62\x6f\ +\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x62\x6f\x72\x64\x65\x72\x2d\ +\x62\x6f\x78\x3b\x2d\x6d\x6f\x7a\x2d\x62\x6f\x78\x2d\x73\x69\x7a\ +\x69\x6e\x67\x3a\x62\x6f\x72\x64\x65\x72\x2d\x62\x6f\x78\x3b\x62\ +\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x62\x6f\x72\x64\x65\x72\ +\x2d\x62\x6f\x78\x3b\x70\x6f\x73\x69\x74\x69\x6f\x6e\x3a\x61\x62\ +\x73\x6f\x6c\x75\x74\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x62\ +\x6c\x6f\x63\x6b\x3b\x70\x61\x64\x64\x69\x6e\x67\x3a\x31\x70\x78\ +\x3b\x62\x6f\x72\x64\x65\x72\x3a\x31\x70\x78\x3b\x77\x69\x64\x74\ +\x68\x3a\x34\x70\x78\x3b\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\ +\x3a\x31\x25\x3b\x74\x6f\x70\x3a\x31\x25\x22\x2c\x6e\x2e\x73\x77\ +\x61\x70\x28\x68\x2c\x6e\x75\x6c\x6c\x21\x3d\x68\x2e\x73\x74\x79\ +\x6c\x65\x2e\x7a\x6f\x6f\x6d\x3f\x7b\x7a\x6f\x6f\x6d\x3a\x31\x7d\ +\x3a\x7b\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x64\ +\x3d\x34\x3d\x3d\x3d\x63\x2e\x6f\x66\x66\x73\x65\x74\x57\x69\x64\ +\x74\x68\x7d\x29\x2c\x65\x3d\x21\x30\x2c\x66\x3d\x21\x31\x2c\x67\ +\x3d\x21\x30\x2c\x61\x2e\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\ +\x64\x53\x74\x79\x6c\x65\x26\x26\x28\x66\x3d\x22\x31\x25\x22\x21\ +\x3d\x3d\x28\x61\x2e\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\ +\x53\x74\x79\x6c\x65\x28\x63\x2c\x6e\x75\x6c\x6c\x29\x7c\x7c\x7b\ +\x7d\x29\x2e\x74\x6f\x70\x2c\x65\x3d\x22\x34\x70\x78\x22\x3d\x3d\ +\x3d\x28\x61\x2e\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\x53\ +\x74\x79\x6c\x65\x28\x63\x2c\x6e\x75\x6c\x6c\x29\x7c\x7c\x7b\x77\ +\x69\x64\x74\x68\x3a\x22\x34\x70\x78\x22\x7d\x29\x2e\x77\x69\x64\ +\x74\x68\x29\x2c\x68\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\ +\x64\x28\x62\x29\x2c\x63\x3d\x68\x3d\x6e\x75\x6c\x6c\x29\x7d\x7d\ +\x28\x29\x2c\x6e\x2e\x73\x77\x61\x70\x3d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\ +\x65\x2c\x66\x2c\x67\x3d\x7b\x7d\x3b\x66\x6f\x72\x28\x66\x20\x69\ +\x6e\x20\x62\x29\x67\x5b\x66\x5d\x3d\x61\x2e\x73\x74\x79\x6c\x65\ +\x5b\x66\x5d\x2c\x61\x2e\x73\x74\x79\x6c\x65\x5b\x66\x5d\x3d\x62\ +\x5b\x66\x5d\x3b\x65\x3d\x63\x2e\x61\x70\x70\x6c\x79\x28\x61\x2c\ +\x64\x7c\x7c\x5b\x5d\x29\x3b\x66\x6f\x72\x28\x66\x20\x69\x6e\x20\ +\x62\x29\x61\x2e\x73\x74\x79\x6c\x65\x5b\x66\x5d\x3d\x67\x5b\x66\ +\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x7d\x3b\x76\x61\x72\x20\ +\x4e\x62\x3d\x2f\x61\x6c\x70\x68\x61\x5c\x28\x5b\x5e\x29\x5d\x2a\ +\x5c\x29\x2f\x69\x2c\x4f\x62\x3d\x2f\x6f\x70\x61\x63\x69\x74\x79\ +\x5c\x73\x2a\x3d\x5c\x73\x2a\x28\x5b\x5e\x29\x5d\x2a\x29\x2f\x2c\ +\x50\x62\x3d\x2f\x5e\x28\x6e\x6f\x6e\x65\x7c\x74\x61\x62\x6c\x65\ +\x28\x3f\x21\x2d\x63\x5b\x65\x61\x5d\x29\x2e\x2b\x29\x2f\x2c\x51\ +\x62\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x28\ +\x22\x2b\x54\x2b\x22\x29\x28\x2e\x2a\x29\x24\x22\x2c\x22\x69\x22\ +\x29\x2c\x52\x62\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ +\x22\x5e\x28\x5b\x2b\x2d\x5d\x29\x3d\x28\x22\x2b\x54\x2b\x22\x29\ +\x22\x2c\x22\x69\x22\x29\x2c\x53\x62\x3d\x7b\x70\x6f\x73\x69\x74\ +\x69\x6f\x6e\x3a\x22\x61\x62\x73\x6f\x6c\x75\x74\x65\x22\x2c\x76\ +\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\x22\x68\x69\x64\x64\x65\ +\x6e\x22\x2c\x64\x69\x73\x70\x6c\x61\x79\x3a\x22\x62\x6c\x6f\x63\ +\x6b\x22\x7d\x2c\x54\x62\x3d\x7b\x6c\x65\x74\x74\x65\x72\x53\x70\ +\x61\x63\x69\x6e\x67\x3a\x30\x2c\x66\x6f\x6e\x74\x57\x65\x69\x67\ +\x68\x74\x3a\x34\x30\x30\x7d\x2c\x55\x62\x3d\x5b\x22\x57\x65\x62\ +\x6b\x69\x74\x22\x2c\x22\x4f\x22\x2c\x22\x4d\x6f\x7a\x22\x2c\x22\ +\x6d\x73\x22\x5d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x56\x62\ +\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\x62\x20\x69\x6e\x20\x61\x29\ +\x72\x65\x74\x75\x72\x6e\x20\x62\x3b\x76\x61\x72\x20\x63\x3d\x62\ +\x2e\x63\x68\x61\x72\x41\x74\x28\x30\x29\x2e\x74\x6f\x55\x70\x70\ +\x65\x72\x43\x61\x73\x65\x28\x29\x2b\x62\x2e\x73\x6c\x69\x63\x65\ +\x28\x31\x29\x2c\x64\x3d\x62\x2c\x65\x3d\x55\x62\x2e\x6c\x65\x6e\ +\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x69\x66\ +\x28\x62\x3d\x55\x62\x5b\x65\x5d\x2b\x63\x2c\x62\x20\x69\x6e\x20\ +\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x62\x3b\x72\x65\x74\x75\x72\ +\x6e\x20\x64\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x57\x62\x28\ +\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x63\x2c\x64\ +\x2c\x65\x2c\x66\x3d\x5b\x5d\x2c\x67\x3d\x30\x2c\x68\x3d\x61\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3b\x68\x3e\x67\x3b\x67\x2b\x2b\x29\x64\ +\x3d\x61\x5b\x67\x5d\x2c\x64\x2e\x73\x74\x79\x6c\x65\x26\x26\x28\ +\x66\x5b\x67\x5d\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\x2c\x22\ +\x6f\x6c\x64\x64\x69\x73\x70\x6c\x61\x79\x22\x29\x2c\x63\x3d\x64\ +\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x2c\x62\ +\x3f\x28\x66\x5b\x67\x5d\x7c\x7c\x22\x6e\x6f\x6e\x65\x22\x21\x3d\ +\x3d\x63\x7c\x7c\x28\x64\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\ +\x70\x6c\x61\x79\x3d\x22\x22\x29\x2c\x22\x22\x3d\x3d\x3d\x64\x2e\ +\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x26\x26\x56\ +\x28\x64\x29\x26\x26\x28\x66\x5b\x67\x5d\x3d\x6e\x2e\x5f\x64\x61\ +\x74\x61\x28\x64\x2c\x22\x6f\x6c\x64\x64\x69\x73\x70\x6c\x61\x79\ +\x22\x2c\x47\x62\x28\x64\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\ +\x29\x29\x29\x3a\x66\x5b\x67\x5d\x7c\x7c\x28\x65\x3d\x56\x28\x64\ +\x29\x2c\x28\x63\x26\x26\x22\x6e\x6f\x6e\x65\x22\x21\x3d\x3d\x63\ +\x7c\x7c\x21\x65\x29\x26\x26\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\ +\x2c\x22\x6f\x6c\x64\x64\x69\x73\x70\x6c\x61\x79\x22\x2c\x65\x3f\ +\x63\x3a\x6e\x2e\x63\x73\x73\x28\x64\x2c\x22\x64\x69\x73\x70\x6c\ +\x61\x79\x22\x29\x29\x29\x29\x3b\x66\x6f\x72\x28\x67\x3d\x30\x3b\ +\x68\x3e\x67\x3b\x67\x2b\x2b\x29\x64\x3d\x61\x5b\x67\x5d\x2c\x64\ +\x2e\x73\x74\x79\x6c\x65\x26\x26\x28\x62\x26\x26\x22\x6e\x6f\x6e\ +\x65\x22\x21\x3d\x3d\x64\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\ +\x70\x6c\x61\x79\x26\x26\x22\x22\x21\x3d\x3d\x64\x2e\x73\x74\x79\ +\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x7c\x7c\x28\x64\x2e\x73\ +\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x3d\x62\x3f\x66\ +\x5b\x67\x5d\x7c\x7c\x22\x22\x3a\x22\x6e\x6f\x6e\x65\x22\x29\x29\ +\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x58\x62\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ +\x20\x64\x3d\x51\x62\x2e\x65\x78\x65\x63\x28\x62\x29\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x64\x3f\x4d\x61\x74\x68\x2e\x6d\x61\x78\x28\ +\x30\x2c\x64\x5b\x31\x5d\x2d\x28\x63\x7c\x7c\x30\x29\x29\x2b\x28\ +\x64\x5b\x32\x5d\x7c\x7c\x22\x70\x78\x22\x29\x3a\x62\x7d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x20\x59\x62\x28\x61\x2c\x62\x2c\x63\x2c\ +\x64\x2c\x65\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x66\x3d\x63\ +\x3d\x3d\x3d\x28\x64\x3f\x22\x62\x6f\x72\x64\x65\x72\x22\x3a\x22\ +\x63\x6f\x6e\x74\x65\x6e\x74\x22\x29\x3f\x34\x3a\x22\x77\x69\x64\ +\x74\x68\x22\x3d\x3d\x3d\x62\x3f\x31\x3a\x30\x2c\x67\x3d\x30\x3b\ +\x34\x3e\x66\x3b\x66\x2b\x3d\x32\x29\x22\x6d\x61\x72\x67\x69\x6e\ +\x22\x3d\x3d\x3d\x63\x26\x26\x28\x67\x2b\x3d\x6e\x2e\x63\x73\x73\ +\x28\x61\x2c\x63\x2b\x55\x5b\x66\x5d\x2c\x21\x30\x2c\x65\x29\x29\ +\x2c\x64\x3f\x28\x22\x63\x6f\x6e\x74\x65\x6e\x74\x22\x3d\x3d\x3d\ +\x63\x26\x26\x28\x67\x2d\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\ +\x70\x61\x64\x64\x69\x6e\x67\x22\x2b\x55\x5b\x66\x5d\x2c\x21\x30\ +\x2c\x65\x29\x29\x2c\x22\x6d\x61\x72\x67\x69\x6e\x22\x21\x3d\x3d\ +\x63\x26\x26\x28\x67\x2d\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\ +\x62\x6f\x72\x64\x65\x72\x22\x2b\x55\x5b\x66\x5d\x2b\x22\x57\x69\ +\x64\x74\x68\x22\x2c\x21\x30\x2c\x65\x29\x29\x29\x3a\x28\x67\x2b\ +\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x70\x61\x64\x64\x69\x6e\ +\x67\x22\x2b\x55\x5b\x66\x5d\x2c\x21\x30\x2c\x65\x29\x2c\x22\x70\ +\x61\x64\x64\x69\x6e\x67\x22\x21\x3d\x3d\x63\x26\x26\x28\x67\x2b\ +\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x62\x6f\x72\x64\x65\x72\ +\x22\x2b\x55\x5b\x66\x5d\x2b\x22\x57\x69\x64\x74\x68\x22\x2c\x21\ +\x30\x2c\x65\x29\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5a\x62\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x21\x30\x2c\x65\x3d\x22\x77\ +\x69\x64\x74\x68\x22\x3d\x3d\x3d\x62\x3f\x61\x2e\x6f\x66\x66\x73\ +\x65\x74\x57\x69\x64\x74\x68\x3a\x61\x2e\x6f\x66\x66\x73\x65\x74\ +\x48\x65\x69\x67\x68\x74\x2c\x66\x3d\x4a\x62\x28\x61\x29\x2c\x67\ +\x3d\x6c\x2e\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x28\x29\x26\x26\ +\x22\x62\x6f\x72\x64\x65\x72\x2d\x62\x6f\x78\x22\x3d\x3d\x3d\x6e\ +\x2e\x63\x73\x73\x28\x61\x2c\x22\x62\x6f\x78\x53\x69\x7a\x69\x6e\ +\x67\x22\x2c\x21\x31\x2c\x66\x29\x3b\x69\x66\x28\x30\x3e\x3d\x65\ +\x7c\x7c\x6e\x75\x6c\x6c\x3d\x3d\x65\x29\x7b\x69\x66\x28\x65\x3d\ +\x4b\x62\x28\x61\x2c\x62\x2c\x66\x29\x2c\x28\x30\x3e\x65\x7c\x7c\ +\x6e\x75\x6c\x6c\x3d\x3d\x65\x29\x26\x26\x28\x65\x3d\x61\x2e\x73\ +\x74\x79\x6c\x65\x5b\x62\x5d\x29\x2c\x49\x62\x2e\x74\x65\x73\x74\ +\x28\x65\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x65\x3b\x64\x3d\x67\ +\x26\x26\x28\x6c\x2e\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x52\x65\ +\x6c\x69\x61\x62\x6c\x65\x28\x29\x7c\x7c\x65\x3d\x3d\x3d\x61\x2e\ +\x73\x74\x79\x6c\x65\x5b\x62\x5d\x29\x2c\x65\x3d\x70\x61\x72\x73\ +\x65\x46\x6c\x6f\x61\x74\x28\x65\x29\x7c\x7c\x30\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x65\x2b\x59\x62\x28\x61\x2c\x62\x2c\x63\x7c\x7c\ +\x28\x67\x3f\x22\x62\x6f\x72\x64\x65\x72\x22\x3a\x22\x63\x6f\x6e\ +\x74\x65\x6e\x74\x22\x29\x2c\x64\x2c\x66\x29\x2b\x22\x70\x78\x22\ +\x7d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x63\x73\x73\x48\x6f\ +\x6f\x6b\x73\x3a\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\x7b\x67\x65\ +\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ +\x69\x66\x28\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x4b\x62\x28\x61\ +\x2c\x22\x6f\x70\x61\x63\x69\x74\x79\x22\x29\x3b\x72\x65\x74\x75\ +\x72\x6e\x22\x22\x3d\x3d\x3d\x63\x3f\x22\x31\x22\x3a\x63\x7d\x7d\ +\x7d\x7d\x2c\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x3a\x7b\x63\x6f\ +\x6c\x75\x6d\x6e\x43\x6f\x75\x6e\x74\x3a\x21\x30\x2c\x66\x69\x6c\ +\x6c\x4f\x70\x61\x63\x69\x74\x79\x3a\x21\x30\x2c\x66\x6f\x6e\x74\ +\x57\x65\x69\x67\x68\x74\x3a\x21\x30\x2c\x6c\x69\x6e\x65\x48\x65\ +\x69\x67\x68\x74\x3a\x21\x30\x2c\x6f\x70\x61\x63\x69\x74\x79\x3a\ +\x21\x30\x2c\x6f\x72\x64\x65\x72\x3a\x21\x30\x2c\x6f\x72\x70\x68\ +\x61\x6e\x73\x3a\x21\x30\x2c\x77\x69\x64\x6f\x77\x73\x3a\x21\x30\ +\x2c\x7a\x49\x6e\x64\x65\x78\x3a\x21\x30\x2c\x7a\x6f\x6f\x6d\x3a\ +\x21\x30\x7d\x2c\x63\x73\x73\x50\x72\x6f\x70\x73\x3a\x7b\x22\x66\ +\x6c\x6f\x61\x74\x22\x3a\x6c\x2e\x63\x73\x73\x46\x6c\x6f\x61\x74\ +\x3f\x22\x63\x73\x73\x46\x6c\x6f\x61\x74\x22\x3a\x22\x73\x74\x79\ +\x6c\x65\x46\x6c\x6f\x61\x74\x22\x7d\x2c\x73\x74\x79\x6c\x65\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\ +\x29\x7b\x69\x66\x28\x61\x26\x26\x33\x21\x3d\x3d\x61\x2e\x6e\x6f\ +\x64\x65\x54\x79\x70\x65\x26\x26\x38\x21\x3d\x3d\x61\x2e\x6e\x6f\ +\x64\x65\x54\x79\x70\x65\x26\x26\x61\x2e\x73\x74\x79\x6c\x65\x29\ +\x7b\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x6e\x2e\x63\ +\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\x29\x2c\x69\x3d\x61\x2e\ +\x73\x74\x79\x6c\x65\x3b\x69\x66\x28\x62\x3d\x6e\x2e\x63\x73\x73\ +\x50\x72\x6f\x70\x73\x5b\x68\x5d\x7c\x7c\x28\x6e\x2e\x63\x73\x73\ +\x50\x72\x6f\x70\x73\x5b\x68\x5d\x3d\x56\x62\x28\x69\x2c\x68\x29\ +\x29\x2c\x67\x3d\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x62\ +\x5d\x7c\x7c\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x68\x5d\ +\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x29\x72\x65\x74\x75\ +\x72\x6e\x20\x67\x26\x26\x22\x67\x65\x74\x22\x69\x6e\x20\x67\x26\ +\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x28\x65\x3d\x67\x2e\x67\ +\x65\x74\x28\x61\x2c\x21\x31\x2c\x64\x29\x29\x3f\x65\x3a\x69\x5b\ +\x62\x5d\x3b\x69\x66\x28\x66\x3d\x74\x79\x70\x65\x6f\x66\x20\x63\ +\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x3d\x66\x26\x26\x28\ +\x65\x3d\x52\x62\x2e\x65\x78\x65\x63\x28\x63\x29\x29\x26\x26\x28\ +\x63\x3d\x28\x65\x5b\x31\x5d\x2b\x31\x29\x2a\x65\x5b\x32\x5d\x2b\ +\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x6e\x2e\x63\x73\x73\ +\x28\x61\x2c\x62\x29\x29\x2c\x66\x3d\x22\x6e\x75\x6d\x62\x65\x72\ +\x22\x29\x2c\x6e\x75\x6c\x6c\x21\x3d\x63\x26\x26\x63\x3d\x3d\x3d\ +\x63\x26\x26\x28\x22\x6e\x75\x6d\x62\x65\x72\x22\x21\x3d\x3d\x66\ +\x7c\x7c\x6e\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\x68\x5d\ +\x7c\x7c\x28\x63\x2b\x3d\x22\x70\x78\x22\x29\x2c\x6c\x2e\x63\x6c\ +\x65\x61\x72\x43\x6c\x6f\x6e\x65\x53\x74\x79\x6c\x65\x7c\x7c\x22\ +\x22\x21\x3d\x3d\x63\x7c\x7c\x30\x21\x3d\x3d\x62\x2e\x69\x6e\x64\ +\x65\x78\x4f\x66\x28\x22\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\ +\x22\x29\x7c\x7c\x28\x69\x5b\x62\x5d\x3d\x22\x69\x6e\x68\x65\x72\ +\x69\x74\x22\x29\x2c\x21\x28\x67\x26\x26\x22\x73\x65\x74\x22\x69\ +\x6e\x20\x67\x26\x26\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x28\x63\ +\x3d\x67\x2e\x73\x65\x74\x28\x61\x2c\x63\x2c\x64\x29\x29\x29\x29\ +\x29\x74\x72\x79\x7b\x69\x5b\x62\x5d\x3d\x22\x22\x2c\x69\x5b\x62\ +\x5d\x3d\x63\x7d\x63\x61\x74\x63\x68\x28\x6a\x29\x7b\x7d\x7d\x7d\ +\x2c\x63\x73\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\ +\x2c\x68\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\ +\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3d\x6e\x2e\x63\x73\x73\ +\x50\x72\x6f\x70\x73\x5b\x68\x5d\x7c\x7c\x28\x6e\x2e\x63\x73\x73\ +\x50\x72\x6f\x70\x73\x5b\x68\x5d\x3d\x56\x62\x28\x61\x2e\x73\x74\ +\x79\x6c\x65\x2c\x68\x29\x29\x2c\x67\x3d\x6e\x2e\x63\x73\x73\x48\ +\x6f\x6f\x6b\x73\x5b\x62\x5d\x7c\x7c\x6e\x2e\x63\x73\x73\x48\x6f\ +\x6f\x6b\x73\x5b\x68\x5d\x2c\x67\x26\x26\x22\x67\x65\x74\x22\x69\ +\x6e\x20\x67\x26\x26\x28\x66\x3d\x67\x2e\x67\x65\x74\x28\x61\x2c\ +\x21\x30\x2c\x63\x29\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\ +\x66\x26\x26\x28\x66\x3d\x4b\x62\x28\x61\x2c\x62\x2c\x64\x29\x29\ +\x2c\x22\x6e\x6f\x72\x6d\x61\x6c\x22\x3d\x3d\x3d\x66\x26\x26\x62\ +\x20\x69\x6e\x20\x54\x62\x26\x26\x28\x66\x3d\x54\x62\x5b\x62\x5d\ +\x29\x2c\x22\x22\x3d\x3d\x3d\x63\x7c\x7c\x63\x3f\x28\x65\x3d\x70\ +\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x66\x29\x2c\x63\x3d\x3d\ +\x3d\x21\x30\x7c\x7c\x6e\x2e\x69\x73\x4e\x75\x6d\x65\x72\x69\x63\ +\x28\x65\x29\x3f\x65\x7c\x7c\x30\x3a\x66\x29\x3a\x66\x7d\x7d\x29\ +\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x68\x65\x69\x67\x68\x74\ +\x22\x2c\x22\x77\x69\x64\x74\x68\x22\x5d\x2c\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x63\x73\x73\x48\x6f\ +\x6f\x6b\x73\x5b\x62\x5d\x3d\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\x64\x29\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x63\x3f\x30\x3d\x3d\x3d\x61\x2e\x6f\x66\x66\x73\x65\ +\x74\x57\x69\x64\x74\x68\x26\x26\x50\x62\x2e\x74\x65\x73\x74\x28\ +\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\ +\x22\x29\x29\x3f\x6e\x2e\x73\x77\x61\x70\x28\x61\x2c\x53\x62\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x5a\x62\x28\x61\x2c\x62\x2c\x64\x29\x7d\x29\x3a\x5a\x62\ +\x28\x61\x2c\x62\x2c\x64\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\ +\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\ +\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x64\x26\x26\x4a\x62\x28\ +\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x58\x62\x28\x61\x2c\x63\ +\x2c\x64\x3f\x59\x62\x28\x61\x2c\x62\x2c\x64\x2c\x6c\x2e\x62\x6f\ +\x78\x53\x69\x7a\x69\x6e\x67\x28\x29\x26\x26\x22\x62\x6f\x72\x64\ +\x65\x72\x2d\x62\x6f\x78\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\x73\x28\ +\x61\x2c\x22\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x22\x2c\x21\x31\ +\x2c\x65\x29\x2c\x65\x29\x3a\x30\x29\x7d\x7d\x7d\x29\x2c\x6c\x2e\ +\x6f\x70\x61\x63\x69\x74\x79\x7c\x7c\x28\x6e\x2e\x63\x73\x73\x48\ +\x6f\x6f\x6b\x73\x2e\x6f\x70\x61\x63\x69\x74\x79\x3d\x7b\x67\x65\ +\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x4f\x62\x2e\x74\x65\x73\x74\x28\x28\ +\x62\x26\x26\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\ +\x65\x3f\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\x65\ +\x2e\x66\x69\x6c\x74\x65\x72\x3a\x61\x2e\x73\x74\x79\x6c\x65\x2e\ +\x66\x69\x6c\x74\x65\x72\x29\x7c\x7c\x22\x22\x29\x3f\x2e\x30\x31\ +\x2a\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x52\x65\x67\x45\ +\x78\x70\x2e\x24\x31\x29\x2b\x22\x22\x3a\x62\x3f\x22\x31\x22\x3a\ +\x22\x22\x7d\x2c\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x61\x2e\x73\x74\ +\x79\x6c\x65\x2c\x64\x3d\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\ +\x74\x79\x6c\x65\x2c\x65\x3d\x6e\x2e\x69\x73\x4e\x75\x6d\x65\x72\ +\x69\x63\x28\x62\x29\x3f\x22\x61\x6c\x70\x68\x61\x28\x6f\x70\x61\ +\x63\x69\x74\x79\x3d\x22\x2b\x31\x30\x30\x2a\x62\x2b\x22\x29\x22\ +\x3a\x22\x22\x2c\x66\x3d\x64\x26\x26\x64\x2e\x66\x69\x6c\x74\x65\ +\x72\x7c\x7c\x63\x2e\x66\x69\x6c\x74\x65\x72\x7c\x7c\x22\x22\x3b\ +\x63\x2e\x7a\x6f\x6f\x6d\x3d\x31\x2c\x28\x62\x3e\x3d\x31\x7c\x7c\ +\x22\x22\x3d\x3d\x3d\x62\x29\x26\x26\x22\x22\x3d\x3d\x3d\x6e\x2e\ +\x74\x72\x69\x6d\x28\x66\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x4e\ +\x62\x2c\x22\x22\x29\x29\x26\x26\x63\x2e\x72\x65\x6d\x6f\x76\x65\ +\x41\x74\x74\x72\x69\x62\x75\x74\x65\x26\x26\x28\x63\x2e\x72\x65\ +\x6d\x6f\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x66\ +\x69\x6c\x74\x65\x72\x22\x29\x2c\x22\x22\x3d\x3d\x3d\x62\x7c\x7c\ +\x64\x26\x26\x21\x64\x2e\x66\x69\x6c\x74\x65\x72\x29\x7c\x7c\x28\ +\x63\x2e\x66\x69\x6c\x74\x65\x72\x3d\x4e\x62\x2e\x74\x65\x73\x74\ +\x28\x66\x29\x3f\x66\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x4e\x62\ +\x2c\x65\x29\x3a\x66\x2b\x22\x20\x22\x2b\x65\x29\x7d\x7d\x29\x2c\ +\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x2e\x6d\x61\x72\x67\x69\ +\x6e\x52\x69\x67\x68\x74\x3d\x4d\x62\x28\x6c\x2e\x72\x65\x6c\x69\ +\x61\x62\x6c\x65\x4d\x61\x72\x67\x69\x6e\x52\x69\x67\x68\x74\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x62\x3f\x6e\x2e\x73\x77\x61\x70\x28\x61\x2c\ +\x7b\x64\x69\x73\x70\x6c\x61\x79\x3a\x22\x69\x6e\x6c\x69\x6e\x65\ +\x2d\x62\x6c\x6f\x63\x6b\x22\x7d\x2c\x4b\x62\x2c\x5b\x61\x2c\x22\ +\x6d\x61\x72\x67\x69\x6e\x52\x69\x67\x68\x74\x22\x5d\x29\x3a\x76\ +\x6f\x69\x64\x20\x30\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\ +\x6d\x61\x72\x67\x69\x6e\x3a\x22\x22\x2c\x70\x61\x64\x64\x69\x6e\ +\x67\x3a\x22\x22\x2c\x62\x6f\x72\x64\x65\x72\x3a\x22\x57\x69\x64\ +\x74\x68\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x29\x7b\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x61\x2b\ +\x62\x5d\x3d\x7b\x65\x78\x70\x61\x6e\x64\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x64\ +\x3d\x30\x2c\x65\x3d\x7b\x7d\x2c\x66\x3d\x22\x73\x74\x72\x69\x6e\ +\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x63\x3f\x63\x2e\x73\ +\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x3a\x5b\x63\x5d\x3b\x34\x3e\ +\x64\x3b\x64\x2b\x2b\x29\x65\x5b\x61\x2b\x55\x5b\x64\x5d\x2b\x62\ +\x5d\x3d\x66\x5b\x64\x5d\x7c\x7c\x66\x5b\x64\x2d\x32\x5d\x7c\x7c\ +\x66\x5b\x30\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x7d\x7d\x2c\ +\x48\x62\x2e\x74\x65\x73\x74\x28\x61\x29\x7c\x7c\x28\x6e\x2e\x63\ +\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x61\x2b\x62\x5d\x2e\x73\x65\x74\ +\x3d\x58\x62\x29\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\ +\x6e\x64\x28\x7b\x63\x73\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x28\x74\ +\x68\x69\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x3d\x7b\x7d\ +\x2c\x67\x3d\x30\x3b\x69\x66\x28\x6e\x2e\x69\x73\x41\x72\x72\x61\ +\x79\x28\x62\x29\x29\x7b\x66\x6f\x72\x28\x64\x3d\x4a\x62\x28\x61\ +\x29\x2c\x65\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x65\x3e\x67\ +\x3b\x67\x2b\x2b\x29\x66\x5b\x62\x5b\x67\x5d\x5d\x3d\x6e\x2e\x63\ +\x73\x73\x28\x61\x2c\x62\x5b\x67\x5d\x2c\x21\x31\x2c\x64\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x66\x7d\x72\x65\x74\x75\x72\x6e\x20\ +\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x63\x3f\x6e\x2e\x73\x74\x79\ +\x6c\x65\x28\x61\x2c\x62\x2c\x63\x29\x3a\x6e\x2e\x63\x73\x73\x28\ +\x61\x2c\x62\x29\x0a\x7d\x2c\x61\x2c\x62\x2c\x61\x72\x67\x75\x6d\ +\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x31\x29\x7d\x2c\ +\x73\x68\x6f\x77\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x57\x62\x28\x74\x68\x69\x73\x2c\x21\ +\x30\x29\x7d\x2c\x68\x69\x64\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x62\x28\x74\x68\ +\x69\x73\x29\x7d\x2c\x74\x6f\x67\x67\x6c\x65\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x62\ +\x6f\x6f\x6c\x65\x61\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ +\x61\x3f\x61\x3f\x74\x68\x69\x73\x2e\x73\x68\x6f\x77\x28\x29\x3a\ +\x74\x68\x69\x73\x2e\x68\x69\x64\x65\x28\x29\x3a\x74\x68\x69\x73\ +\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x56\x28\x74\x68\x69\x73\x29\x3f\x6e\x28\x74\x68\x69\x73\x29\ +\x2e\x73\x68\x6f\x77\x28\x29\x3a\x6e\x28\x74\x68\x69\x73\x29\x2e\ +\x68\x69\x64\x65\x28\x29\x7d\x29\x7d\x7d\x29\x3b\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x20\x24\x62\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\ +\x65\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x24\x62\ +\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2e\x69\x6e\x69\x74\x28\ +\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\x7d\x6e\x2e\x54\x77\x65\ +\x65\x6e\x3d\x24\x62\x2c\x24\x62\x2e\x70\x72\x6f\x74\x6f\x74\x79\ +\x70\x65\x3d\x7b\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3a\ +\x24\x62\x2c\x69\x6e\x69\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x29\x7b\x74\x68\ +\x69\x73\x2e\x65\x6c\x65\x6d\x3d\x61\x2c\x74\x68\x69\x73\x2e\x70\ +\x72\x6f\x70\x3d\x63\x2c\x74\x68\x69\x73\x2e\x65\x61\x73\x69\x6e\ +\x67\x3d\x65\x7c\x7c\x22\x73\x77\x69\x6e\x67\x22\x2c\x74\x68\x69\ +\x73\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x3d\x62\x2c\x74\x68\x69\x73\ +\x2e\x73\x74\x61\x72\x74\x3d\x74\x68\x69\x73\x2e\x6e\x6f\x77\x3d\ +\x74\x68\x69\x73\x2e\x63\x75\x72\x28\x29\x2c\x74\x68\x69\x73\x2e\ +\x65\x6e\x64\x3d\x64\x2c\x74\x68\x69\x73\x2e\x75\x6e\x69\x74\x3d\ +\x66\x7c\x7c\x28\x6e\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\ +\x63\x5d\x3f\x22\x22\x3a\x22\x70\x78\x22\x29\x7d\x2c\x63\x75\x72\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\ +\x61\x3d\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x5b\x74\ +\x68\x69\x73\x2e\x70\x72\x6f\x70\x5d\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x61\x26\x26\x61\x2e\x67\x65\x74\x3f\x61\x2e\x67\x65\x74\x28\ +\x74\x68\x69\x73\x29\x3a\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\ +\x6b\x73\x2e\x5f\x64\x65\x66\x61\x75\x6c\x74\x2e\x67\x65\x74\x28\ +\x74\x68\x69\x73\x29\x7d\x2c\x72\x75\x6e\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x24\ +\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x5b\x74\x68\x69\x73\ +\x2e\x70\x72\x6f\x70\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ +\x69\x73\x2e\x70\x6f\x73\x3d\x62\x3d\x74\x68\x69\x73\x2e\x6f\x70\ +\x74\x69\x6f\x6e\x73\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x3f\x6e\ +\x2e\x65\x61\x73\x69\x6e\x67\x5b\x74\x68\x69\x73\x2e\x65\x61\x73\ +\x69\x6e\x67\x5d\x28\x61\x2c\x74\x68\x69\x73\x2e\x6f\x70\x74\x69\ +\x6f\x6e\x73\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x2a\x61\x2c\x30\ +\x2c\x31\x2c\x74\x68\x69\x73\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x2e\ +\x64\x75\x72\x61\x74\x69\x6f\x6e\x29\x3a\x61\x2c\x74\x68\x69\x73\ +\x2e\x6e\x6f\x77\x3d\x28\x74\x68\x69\x73\x2e\x65\x6e\x64\x2d\x74\ +\x68\x69\x73\x2e\x73\x74\x61\x72\x74\x29\x2a\x62\x2b\x74\x68\x69\ +\x73\x2e\x73\x74\x61\x72\x74\x2c\x74\x68\x69\x73\x2e\x6f\x70\x74\ +\x69\x6f\x6e\x73\x2e\x73\x74\x65\x70\x26\x26\x74\x68\x69\x73\x2e\ +\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x73\x74\x65\x70\x2e\x63\x61\x6c\ +\x6c\x28\x74\x68\x69\x73\x2e\x65\x6c\x65\x6d\x2c\x74\x68\x69\x73\ +\x2e\x6e\x6f\x77\x2c\x74\x68\x69\x73\x29\x2c\x63\x26\x26\x63\x2e\ +\x73\x65\x74\x3f\x63\x2e\x73\x65\x74\x28\x74\x68\x69\x73\x29\x3a\ +\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x2e\x5f\x64\x65\ +\x66\x61\x75\x6c\x74\x2e\x73\x65\x74\x28\x74\x68\x69\x73\x29\x2c\ +\x74\x68\x69\x73\x7d\x7d\x2c\x24\x62\x2e\x70\x72\x6f\x74\x6f\x74\ +\x79\x70\x65\x2e\x69\x6e\x69\x74\x2e\x70\x72\x6f\x74\x6f\x74\x79\ +\x70\x65\x3d\x24\x62\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2c\ +\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x3d\x7b\x5f\x64\ +\x65\x66\x61\x75\x6c\x74\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x61\x2e\x65\x6c\x65\ +\x6d\x5b\x61\x2e\x70\x72\x6f\x70\x5d\x7c\x7c\x61\x2e\x65\x6c\x65\ +\x6d\x2e\x73\x74\x79\x6c\x65\x26\x26\x6e\x75\x6c\x6c\x21\x3d\x61\ +\x2e\x65\x6c\x65\x6d\x2e\x73\x74\x79\x6c\x65\x5b\x61\x2e\x70\x72\ +\x6f\x70\x5d\x3f\x28\x62\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2e\x65\ +\x6c\x65\x6d\x2c\x61\x2e\x70\x72\x6f\x70\x2c\x22\x22\x29\x2c\x62\ +\x26\x26\x22\x61\x75\x74\x6f\x22\x21\x3d\x3d\x62\x3f\x62\x3a\x30\ +\x29\x3a\x61\x2e\x65\x6c\x65\x6d\x5b\x61\x2e\x70\x72\x6f\x70\x5d\ +\x7d\x2c\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x6e\x2e\x66\x78\x2e\x73\x74\x65\x70\x5b\x61\x2e\x70\x72\ +\x6f\x70\x5d\x3f\x6e\x2e\x66\x78\x2e\x73\x74\x65\x70\x5b\x61\x2e\ +\x70\x72\x6f\x70\x5d\x28\x61\x29\x3a\x61\x2e\x65\x6c\x65\x6d\x2e\ +\x73\x74\x79\x6c\x65\x26\x26\x28\x6e\x75\x6c\x6c\x21\x3d\x61\x2e\ +\x65\x6c\x65\x6d\x2e\x73\x74\x79\x6c\x65\x5b\x6e\x2e\x63\x73\x73\ +\x50\x72\x6f\x70\x73\x5b\x61\x2e\x70\x72\x6f\x70\x5d\x5d\x7c\x7c\ +\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x61\x2e\x70\x72\x6f\ +\x70\x5d\x29\x3f\x6e\x2e\x73\x74\x79\x6c\x65\x28\x61\x2e\x65\x6c\ +\x65\x6d\x2c\x61\x2e\x70\x72\x6f\x70\x2c\x61\x2e\x6e\x6f\x77\x2b\ +\x61\x2e\x75\x6e\x69\x74\x29\x3a\x61\x2e\x65\x6c\x65\x6d\x5b\x61\ +\x2e\x70\x72\x6f\x70\x5d\x3d\x61\x2e\x6e\x6f\x77\x7d\x7d\x7d\x2c\ +\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x2e\x73\x63\x72\ +\x6f\x6c\x6c\x54\x6f\x70\x3d\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\ +\x6f\x6b\x73\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x3d\x7b\ +\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ +\x61\x2e\x65\x6c\x65\x6d\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\ +\x26\x61\x2e\x65\x6c\x65\x6d\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ +\x64\x65\x26\x26\x28\x61\x2e\x65\x6c\x65\x6d\x5b\x61\x2e\x70\x72\ +\x6f\x70\x5d\x3d\x61\x2e\x6e\x6f\x77\x29\x7d\x7d\x2c\x6e\x2e\x65\ +\x61\x73\x69\x6e\x67\x3d\x7b\x6c\x69\x6e\x65\x61\x72\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x61\x7d\x2c\x73\x77\x69\x6e\x67\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x2e\x35\x2d\x4d\ +\x61\x74\x68\x2e\x63\x6f\x73\x28\x61\x2a\x4d\x61\x74\x68\x2e\x50\ +\x49\x29\x2f\x32\x7d\x7d\x2c\x6e\x2e\x66\x78\x3d\x24\x62\x2e\x70\ +\x72\x6f\x74\x6f\x74\x79\x70\x65\x2e\x69\x6e\x69\x74\x2c\x6e\x2e\ +\x66\x78\x2e\x73\x74\x65\x70\x3d\x7b\x7d\x3b\x76\x61\x72\x20\x5f\ +\x62\x2c\x61\x63\x2c\x62\x63\x3d\x2f\x5e\x28\x3f\x3a\x74\x6f\x67\ +\x67\x6c\x65\x7c\x73\x68\x6f\x77\x7c\x68\x69\x64\x65\x29\x24\x2f\ +\x2c\x63\x63\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\ +\x5e\x28\x3f\x3a\x28\x5b\x2b\x2d\x5d\x29\x3d\x7c\x29\x28\x22\x2b\ +\x54\x2b\x22\x29\x28\x5b\x61\x2d\x7a\x25\x5d\x2a\x29\x24\x22\x2c\ +\x22\x69\x22\x29\x2c\x64\x63\x3d\x2f\x71\x75\x65\x75\x65\x48\x6f\ +\x6f\x6b\x73\x24\x2f\x2c\x65\x63\x3d\x5b\x6a\x63\x5d\x2c\x66\x63\ +\x3d\x7b\x22\x2a\x22\x3a\x5b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x74\x68\x69\x73\x2e\ +\x63\x72\x65\x61\x74\x65\x54\x77\x65\x65\x6e\x28\x61\x2c\x62\x29\ +\x2c\x64\x3d\x63\x2e\x63\x75\x72\x28\x29\x2c\x65\x3d\x63\x63\x2e\ +\x65\x78\x65\x63\x28\x62\x29\x2c\x66\x3d\x65\x26\x26\x65\x5b\x33\ +\x5d\x7c\x7c\x28\x6e\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\ +\x61\x5d\x3f\x22\x22\x3a\x22\x70\x78\x22\x29\x2c\x67\x3d\x28\x6e\ +\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\x61\x5d\x7c\x7c\x22\ +\x70\x78\x22\x21\x3d\x3d\x66\x26\x26\x2b\x64\x29\x26\x26\x63\x63\ +\x2e\x65\x78\x65\x63\x28\x6e\x2e\x63\x73\x73\x28\x63\x2e\x65\x6c\ +\x65\x6d\x2c\x61\x29\x29\x2c\x68\x3d\x31\x2c\x69\x3d\x32\x30\x3b\ +\x69\x66\x28\x67\x26\x26\x67\x5b\x33\x5d\x21\x3d\x3d\x66\x29\x7b\ +\x66\x3d\x66\x7c\x7c\x67\x5b\x33\x5d\x2c\x65\x3d\x65\x7c\x7c\x5b\ +\x5d\x2c\x67\x3d\x2b\x64\x7c\x7c\x31\x3b\x64\x6f\x20\x68\x3d\x68\ +\x7c\x7c\x22\x2e\x35\x22\x2c\x67\x2f\x3d\x68\x2c\x6e\x2e\x73\x74\ +\x79\x6c\x65\x28\x63\x2e\x65\x6c\x65\x6d\x2c\x61\x2c\x67\x2b\x66\ +\x29\x3b\x77\x68\x69\x6c\x65\x28\x68\x21\x3d\x3d\x28\x68\x3d\x63\ +\x2e\x63\x75\x72\x28\x29\x2f\x64\x29\x26\x26\x31\x21\x3d\x3d\x68\ +\x26\x26\x2d\x2d\x69\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x65\x26\ +\x26\x28\x67\x3d\x63\x2e\x73\x74\x61\x72\x74\x3d\x2b\x67\x7c\x7c\ +\x2b\x64\x7c\x7c\x30\x2c\x63\x2e\x75\x6e\x69\x74\x3d\x66\x2c\x63\ +\x2e\x65\x6e\x64\x3d\x65\x5b\x31\x5d\x3f\x67\x2b\x28\x65\x5b\x31\ +\x5d\x2b\x31\x29\x2a\x65\x5b\x32\x5d\x3a\x2b\x65\x5b\x32\x5d\x29\ +\x2c\x63\x7d\x5d\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\ +\x63\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x74\x54\x69\ +\x6d\x65\x6f\x75\x74\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x5f\x62\x3d\x76\x6f\x69\x64\x20\x30\x7d\x29\x2c\x5f\x62\x3d\ +\x6e\x2e\x6e\x6f\x77\x28\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x20\x68\x63\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\ +\x3d\x7b\x68\x65\x69\x67\x68\x74\x3a\x61\x7d\x2c\x65\x3d\x30\x3b\ +\x66\x6f\x72\x28\x62\x3d\x62\x3f\x31\x3a\x30\x3b\x34\x3e\x65\x3b\ +\x65\x2b\x3d\x32\x2d\x62\x29\x63\x3d\x55\x5b\x65\x5d\x2c\x64\x5b\ +\x22\x6d\x61\x72\x67\x69\x6e\x22\x2b\x63\x5d\x3d\x64\x5b\x22\x70\ +\x61\x64\x64\x69\x6e\x67\x22\x2b\x63\x5d\x3d\x61\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x62\x26\x26\x28\x64\x2e\x6f\x70\x61\x63\x69\x74\ +\x79\x3d\x64\x2e\x77\x69\x64\x74\x68\x3d\x61\x29\x2c\x64\x7d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x63\x28\x61\x2c\x62\x2c\x63\ +\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x64\x2c\x65\x3d\x28\x66\ +\x63\x5b\x62\x5d\x7c\x7c\x5b\x5d\x29\x2e\x63\x6f\x6e\x63\x61\x74\ +\x28\x66\x63\x5b\x22\x2a\x22\x5d\x29\x2c\x66\x3d\x30\x2c\x67\x3d\ +\x65\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\ +\x29\x69\x66\x28\x64\x3d\x65\x5b\x66\x5d\x2e\x63\x61\x6c\x6c\x28\ +\x63\x2c\x62\x2c\x61\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x64\x7d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6a\x63\x28\x61\x2c\x62\x2c\ +\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\ +\x2c\x69\x2c\x6a\x2c\x6b\x2c\x6d\x3d\x74\x68\x69\x73\x2c\x6f\x3d\ +\x7b\x7d\x2c\x70\x3d\x61\x2e\x73\x74\x79\x6c\x65\x2c\x71\x3d\x61\ +\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x56\x28\x61\x29\x2c\ +\x72\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x22\x66\x78\x73\ +\x68\x6f\x77\x22\x29\x3b\x63\x2e\x71\x75\x65\x75\x65\x7c\x7c\x28\ +\x68\x3d\x6e\x2e\x5f\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x28\ +\x61\x2c\x22\x66\x78\x22\x29\x2c\x6e\x75\x6c\x6c\x3d\x3d\x68\x2e\ +\x75\x6e\x71\x75\x65\x75\x65\x64\x26\x26\x28\x68\x2e\x75\x6e\x71\ +\x75\x65\x75\x65\x64\x3d\x30\x2c\x69\x3d\x68\x2e\x65\x6d\x70\x74\ +\x79\x2e\x66\x69\x72\x65\x2c\x68\x2e\x65\x6d\x70\x74\x79\x2e\x66\ +\x69\x72\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x68\ +\x2e\x75\x6e\x71\x75\x65\x75\x65\x64\x7c\x7c\x69\x28\x29\x7d\x29\ +\x2c\x68\x2e\x75\x6e\x71\x75\x65\x75\x65\x64\x2b\x2b\x2c\x6d\x2e\ +\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x6d\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x68\x2e\x75\x6e\x71\x75\x65\x75\x65\x64\ +\x2d\x2d\x2c\x6e\x2e\x71\x75\x65\x75\x65\x28\x61\x2c\x22\x66\x78\ +\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x68\x2e\x65\x6d\x70\ +\x74\x79\x2e\x66\x69\x72\x65\x28\x29\x7d\x29\x7d\x29\x29\x2c\x31\ +\x3d\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\ +\x22\x68\x65\x69\x67\x68\x74\x22\x69\x6e\x20\x62\x7c\x7c\x22\x77\ +\x69\x64\x74\x68\x22\x69\x6e\x20\x62\x29\x26\x26\x28\x63\x2e\x6f\ +\x76\x65\x72\x66\x6c\x6f\x77\x3d\x5b\x70\x2e\x6f\x76\x65\x72\x66\ +\x6c\x6f\x77\x2c\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x58\x2c\ +\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x59\x5d\x2c\x6a\x3d\x6e\ +\x2e\x63\x73\x73\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\x22\ +\x29\x2c\x6b\x3d\x47\x62\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ +\x65\x29\x2c\x22\x6e\x6f\x6e\x65\x22\x3d\x3d\x3d\x6a\x26\x26\x28\ +\x6a\x3d\x6b\x29\x2c\x22\x69\x6e\x6c\x69\x6e\x65\x22\x3d\x3d\x3d\ +\x6a\x26\x26\x22\x6e\x6f\x6e\x65\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\ +\x73\x28\x61\x2c\x22\x66\x6c\x6f\x61\x74\x22\x29\x26\x26\x28\x6c\ +\x2e\x69\x6e\x6c\x69\x6e\x65\x42\x6c\x6f\x63\x6b\x4e\x65\x65\x64\ +\x73\x4c\x61\x79\x6f\x75\x74\x26\x26\x22\x69\x6e\x6c\x69\x6e\x65\ +\x22\x21\x3d\x3d\x6b\x3f\x70\x2e\x7a\x6f\x6f\x6d\x3d\x31\x3a\x70\ +\x2e\x64\x69\x73\x70\x6c\x61\x79\x3d\x22\x69\x6e\x6c\x69\x6e\x65\ +\x2d\x62\x6c\x6f\x63\x6b\x22\x29\x29\x2c\x63\x2e\x6f\x76\x65\x72\ +\x66\x6c\x6f\x77\x26\x26\x28\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\ +\x77\x3d\x22\x68\x69\x64\x64\x65\x6e\x22\x2c\x6c\x2e\x73\x68\x72\ +\x69\x6e\x6b\x57\x72\x61\x70\x42\x6c\x6f\x63\x6b\x73\x28\x29\x7c\ +\x7c\x6d\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x29\x7b\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3d\ +\x63\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5b\x30\x5d\x2c\x70\x2e\ +\x6f\x76\x65\x72\x66\x6c\x6f\x77\x58\x3d\x63\x2e\x6f\x76\x65\x72\ +\x66\x6c\x6f\x77\x5b\x31\x5d\x2c\x70\x2e\x6f\x76\x65\x72\x66\x6c\ +\x6f\x77\x59\x3d\x63\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5b\x32\ +\x5d\x7d\x29\x29\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x62\x29\ +\x69\x66\x28\x65\x3d\x62\x5b\x64\x5d\x2c\x62\x63\x2e\x65\x78\x65\ +\x63\x28\x65\x29\x29\x7b\x69\x66\x28\x64\x65\x6c\x65\x74\x65\x20\ +\x62\x5b\x64\x5d\x2c\x66\x3d\x66\x7c\x7c\x22\x74\x6f\x67\x67\x6c\ +\x65\x22\x3d\x3d\x3d\x65\x2c\x65\x3d\x3d\x3d\x28\x71\x3f\x22\x68\ +\x69\x64\x65\x22\x3a\x22\x73\x68\x6f\x77\x22\x29\x29\x7b\x69\x66\ +\x28\x22\x73\x68\x6f\x77\x22\x21\x3d\x3d\x65\x7c\x7c\x21\x72\x7c\ +\x7c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x72\x5b\x64\x5d\x29\x63\ +\x6f\x6e\x74\x69\x6e\x75\x65\x3b\x71\x3d\x21\x30\x7d\x6f\x5b\x64\ +\x5d\x3d\x72\x26\x26\x72\x5b\x64\x5d\x7c\x7c\x6e\x2e\x73\x74\x79\ +\x6c\x65\x28\x61\x2c\x64\x29\x7d\x69\x66\x28\x21\x6e\x2e\x69\x73\ +\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\x74\x28\x6f\x29\x29\x7b\ +\x72\x3f\x22\x68\x69\x64\x64\x65\x6e\x22\x69\x6e\x20\x72\x26\x26\ +\x28\x71\x3d\x72\x2e\x68\x69\x64\x64\x65\x6e\x29\x3a\x72\x3d\x6e\ +\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x22\x66\x78\x73\x68\x6f\x77\ +\x22\x2c\x7b\x7d\x29\x2c\x66\x26\x26\x28\x72\x2e\x68\x69\x64\x64\ +\x65\x6e\x3d\x21\x71\x29\x2c\x71\x3f\x6e\x28\x61\x29\x2e\x73\x68\ +\x6f\x77\x28\x29\x3a\x6d\x2e\x64\x6f\x6e\x65\x28\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x28\x61\x29\x2e\x68\x69\x64\x65\ +\x28\x29\x7d\x29\x2c\x6d\x2e\x64\x6f\x6e\x65\x28\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x3b\x6e\x2e\x5f\ +\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\x22\x66\x78\ +\x73\x68\x6f\x77\x22\x29\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x20\ +\x6f\x29\x6e\x2e\x73\x74\x79\x6c\x65\x28\x61\x2c\x62\x2c\x6f\x5b\ +\x62\x5d\x29\x7d\x29\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x6f\ +\x29\x67\x3d\x69\x63\x28\x71\x3f\x72\x5b\x64\x5d\x3a\x30\x2c\x64\ +\x2c\x6d\x29\x2c\x64\x20\x69\x6e\x20\x72\x7c\x7c\x28\x72\x5b\x64\ +\x5d\x3d\x67\x2e\x73\x74\x61\x72\x74\x2c\x71\x26\x26\x28\x67\x2e\ +\x65\x6e\x64\x3d\x67\x2e\x73\x74\x61\x72\x74\x2c\x67\x2e\x73\x74\ +\x61\x72\x74\x3d\x22\x77\x69\x64\x74\x68\x22\x3d\x3d\x3d\x64\x7c\ +\x7c\x22\x68\x65\x69\x67\x68\x74\x22\x3d\x3d\x3d\x64\x3f\x31\x3a\ +\x30\x29\x29\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6b\x63\ +\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x2c\ +\x66\x2c\x67\x3b\x66\x6f\x72\x28\x63\x20\x69\x6e\x20\x61\x29\x69\ +\x66\x28\x64\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\ +\x63\x29\x2c\x65\x3d\x62\x5b\x64\x5d\x2c\x66\x3d\x61\x5b\x63\x5d\ +\x2c\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x66\x29\x26\x26\x28\ +\x65\x3d\x66\x5b\x31\x5d\x2c\x66\x3d\x61\x5b\x63\x5d\x3d\x66\x5b\ +\x30\x5d\x29\x2c\x63\x21\x3d\x3d\x64\x26\x26\x28\x61\x5b\x64\x5d\ +\x3d\x66\x2c\x64\x65\x6c\x65\x74\x65\x20\x61\x5b\x63\x5d\x29\x2c\ +\x67\x3d\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x64\x5d\x2c\ +\x67\x26\x26\x22\x65\x78\x70\x61\x6e\x64\x22\x69\x6e\x20\x67\x29\ +\x7b\x66\x3d\x67\x2e\x65\x78\x70\x61\x6e\x64\x28\x66\x29\x2c\x64\ +\x65\x6c\x65\x74\x65\x20\x61\x5b\x64\x5d\x3b\x66\x6f\x72\x28\x63\ +\x20\x69\x6e\x20\x66\x29\x63\x20\x69\x6e\x20\x61\x7c\x7c\x28\x61\ +\x5b\x63\x5d\x3d\x66\x5b\x63\x5d\x2c\x62\x5b\x63\x5d\x3d\x65\x29\ +\x7d\x65\x6c\x73\x65\x20\x62\x5b\x64\x5d\x3d\x65\x7d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x20\x6c\x63\x28\x61\x2c\x62\x2c\x63\x29\x7b\ +\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x3d\x30\x2c\x67\x3d\x65\x63\ +\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x68\x3d\x6e\x2e\x44\x65\x66\x65\ +\x72\x72\x65\x64\x28\x29\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x64\x65\x6c\x65\x74\x65\x20\ +\x69\x2e\x65\x6c\x65\x6d\x7d\x29\x2c\x69\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x65\x29\x72\x65\x74\x75\x72\ +\x6e\x21\x31\x3b\x66\x6f\x72\x28\x76\x61\x72\x20\x62\x3d\x5f\x62\ +\x7c\x7c\x67\x63\x28\x29\x2c\x63\x3d\x4d\x61\x74\x68\x2e\x6d\x61\ +\x78\x28\x30\x2c\x6a\x2e\x73\x74\x61\x72\x74\x54\x69\x6d\x65\x2b\ +\x6a\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x2d\x62\x29\x2c\x64\x3d\ +\x63\x2f\x6a\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x7c\x7c\x30\x2c\ +\x66\x3d\x31\x2d\x64\x2c\x67\x3d\x30\x2c\x69\x3d\x6a\x2e\x74\x77\ +\x65\x65\x6e\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x69\x3e\x67\x3b\ +\x67\x2b\x2b\x29\x6a\x2e\x74\x77\x65\x65\x6e\x73\x5b\x67\x5d\x2e\ +\x72\x75\x6e\x28\x66\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x68\x2e\ +\x6e\x6f\x74\x69\x66\x79\x57\x69\x74\x68\x28\x61\x2c\x5b\x6a\x2c\ +\x66\x2c\x63\x5d\x29\x2c\x31\x3e\x66\x26\x26\x69\x3f\x63\x3a\x28\ +\x68\x2e\x72\x65\x73\x6f\x6c\x76\x65\x57\x69\x74\x68\x28\x61\x2c\ +\x5b\x6a\x5d\x29\x2c\x21\x31\x29\x7d\x2c\x6a\x3d\x68\x2e\x70\x72\ +\x6f\x6d\x69\x73\x65\x28\x7b\x65\x6c\x65\x6d\x3a\x61\x2c\x70\x72\ +\x6f\x70\x73\x3a\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\ +\x62\x29\x2c\x6f\x70\x74\x73\x3a\x6e\x2e\x65\x78\x74\x65\x6e\x64\ +\x28\x21\x30\x2c\x7b\x73\x70\x65\x63\x69\x61\x6c\x45\x61\x73\x69\ +\x6e\x67\x3a\x7b\x7d\x7d\x2c\x63\x29\x2c\x6f\x72\x69\x67\x69\x6e\ +\x61\x6c\x50\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x3a\x62\x2c\x6f\ +\x72\x69\x67\x69\x6e\x61\x6c\x4f\x70\x74\x69\x6f\x6e\x73\x3a\x63\ +\x2c\x73\x74\x61\x72\x74\x54\x69\x6d\x65\x3a\x5f\x62\x7c\x7c\x67\ +\x63\x28\x29\x2c\x64\x75\x72\x61\x74\x69\x6f\x6e\x3a\x63\x2e\x64\ +\x75\x72\x61\x74\x69\x6f\x6e\x2c\x74\x77\x65\x65\x6e\x73\x3a\x5b\ +\x5d\x2c\x63\x72\x65\x61\x74\x65\x54\x77\x65\x65\x6e\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\ +\x64\x3d\x6e\x2e\x54\x77\x65\x65\x6e\x28\x61\x2c\x6a\x2e\x6f\x70\ +\x74\x73\x2c\x62\x2c\x63\x2c\x6a\x2e\x6f\x70\x74\x73\x2e\x73\x70\ +\x65\x63\x69\x61\x6c\x45\x61\x73\x69\x6e\x67\x5b\x62\x5d\x7c\x7c\ +\x6a\x2e\x6f\x70\x74\x73\x2e\x65\x61\x73\x69\x6e\x67\x29\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x6a\x2e\x74\x77\x65\x65\x6e\x73\x2e\x70\ +\x75\x73\x68\x28\x64\x29\x2c\x64\x7d\x2c\x73\x74\x6f\x70\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x76\x61\x72\x20\x63\ +\x3d\x30\x2c\x64\x3d\x62\x3f\x6a\x2e\x74\x77\x65\x65\x6e\x73\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3a\x30\x3b\x69\x66\x28\x65\x29\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x3b\x66\x6f\x72\x28\x65\x3d\ +\x21\x30\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x6a\x2e\x74\x77\x65\ +\x65\x6e\x73\x5b\x63\x5d\x2e\x72\x75\x6e\x28\x31\x29\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x62\x3f\x68\x2e\x72\x65\x73\x6f\x6c\x76\x65\ +\x57\x69\x74\x68\x28\x61\x2c\x5b\x6a\x2c\x62\x5d\x29\x3a\x68\x2e\ +\x72\x65\x6a\x65\x63\x74\x57\x69\x74\x68\x28\x61\x2c\x5b\x6a\x2c\ +\x62\x5d\x29\x2c\x74\x68\x69\x73\x7d\x7d\x29\x2c\x6b\x3d\x6a\x2e\ +\x70\x72\x6f\x70\x73\x3b\x66\x6f\x72\x28\x6b\x63\x28\x6b\x2c\x6a\ +\x2e\x6f\x70\x74\x73\x2e\x73\x70\x65\x63\x69\x61\x6c\x45\x61\x73\ +\x69\x6e\x67\x29\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\x29\x69\x66\x28\ +\x64\x3d\x65\x63\x5b\x66\x5d\x2e\x63\x61\x6c\x6c\x28\x6a\x2c\x61\ +\x2c\x6b\x2c\x6a\x2e\x6f\x70\x74\x73\x29\x29\x72\x65\x74\x75\x72\ +\x6e\x20\x64\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6d\x61\x70\ +\x28\x6b\x2c\x69\x63\x2c\x6a\x29\x2c\x6e\x2e\x69\x73\x46\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x6a\x2e\x6f\x70\x74\x73\x2e\x73\x74\x61\ +\x72\x74\x29\x26\x26\x6a\x2e\x6f\x70\x74\x73\x2e\x73\x74\x61\x72\ +\x74\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x6a\x29\x2c\x6e\x2e\x66\x78\ +\x2e\x74\x69\x6d\x65\x72\x28\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\ +\x69\x2c\x7b\x65\x6c\x65\x6d\x3a\x61\x2c\x61\x6e\x69\x6d\x3a\x6a\ +\x2c\x71\x75\x65\x75\x65\x3a\x6a\x2e\x6f\x70\x74\x73\x2e\x71\x75\ +\x65\x75\x65\x7d\x29\x29\x2c\x6a\x2e\x70\x72\x6f\x67\x72\x65\x73\ +\x73\x28\x6a\x2e\x6f\x70\x74\x73\x2e\x70\x72\x6f\x67\x72\x65\x73\ +\x73\x29\x2e\x64\x6f\x6e\x65\x28\x6a\x2e\x6f\x70\x74\x73\x2e\x64\ +\x6f\x6e\x65\x2c\x6a\x2e\x6f\x70\x74\x73\x2e\x63\x6f\x6d\x70\x6c\ +\x65\x74\x65\x29\x2e\x66\x61\x69\x6c\x28\x6a\x2e\x6f\x70\x74\x73\ +\x2e\x66\x61\x69\x6c\x29\x2e\x61\x6c\x77\x61\x79\x73\x28\x6a\x2e\ +\x6f\x70\x74\x73\x2e\x61\x6c\x77\x61\x79\x73\x29\x7d\x6e\x2e\x41\ +\x6e\x69\x6d\x61\x74\x69\x6f\x6e\x3d\x6e\x2e\x65\x78\x74\x65\x6e\ +\x64\x28\x6c\x63\x2c\x7b\x74\x77\x65\x65\x6e\x65\x72\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x69\x73\ +\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3f\x28\x62\x3d\x61\ +\x2c\x61\x3d\x5b\x22\x2a\x22\x5d\x29\x3a\x61\x3d\x61\x2e\x73\x70\ +\x6c\x69\x74\x28\x22\x20\x22\x29\x3b\x66\x6f\x72\x28\x76\x61\x72\ +\x20\x63\x2c\x64\x3d\x30\x2c\x65\x3d\x61\x2e\x6c\x65\x6e\x67\x74\ +\x68\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x63\x3d\x61\x5b\x64\x5d\ +\x2c\x66\x63\x5b\x63\x5d\x3d\x66\x63\x5b\x63\x5d\x7c\x7c\x5b\x5d\ +\x2c\x66\x63\x5b\x63\x5d\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x62\ +\x29\x7d\x2c\x70\x72\x65\x66\x69\x6c\x74\x65\x72\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x62\x3f\x65\x63\x2e\ +\x75\x6e\x73\x68\x69\x66\x74\x28\x61\x29\x3a\x65\x63\x2e\x70\x75\ +\x73\x68\x28\x61\x29\x7d\x7d\x29\x2c\x6e\x2e\x73\x70\x65\x65\x64\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\ +\x7b\x76\x61\x72\x20\x64\x3d\x61\x26\x26\x22\x6f\x62\x6a\x65\x63\ +\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x6e\x2e\x65\ +\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x61\x29\x3a\x7b\x63\x6f\x6d\ +\x70\x6c\x65\x74\x65\x3a\x63\x7c\x7c\x21\x63\x26\x26\x62\x7c\x7c\ +\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x26\ +\x26\x61\x2c\x64\x75\x72\x61\x74\x69\x6f\x6e\x3a\x61\x2c\x65\x61\ +\x73\x69\x6e\x67\x3a\x63\x26\x26\x62\x7c\x7c\x62\x26\x26\x21\x6e\ +\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x26\x26\ +\x62\x7d\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x64\x75\x72\x61\ +\x74\x69\x6f\x6e\x3d\x6e\x2e\x66\x78\x2e\x6f\x66\x66\x3f\x30\x3a\ +\x22\x6e\x75\x6d\x62\x65\x72\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\ +\x20\x64\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x3f\x64\x2e\x64\x75\ +\x72\x61\x74\x69\x6f\x6e\x3a\x64\x2e\x64\x75\x72\x61\x74\x69\x6f\ +\x6e\x20\x69\x6e\x20\x6e\x2e\x66\x78\x2e\x73\x70\x65\x65\x64\x73\ +\x3f\x6e\x2e\x66\x78\x2e\x73\x70\x65\x65\x64\x73\x5b\x64\x2e\x64\ +\x75\x72\x61\x74\x69\x6f\x6e\x5d\x3a\x6e\x2e\x66\x78\x2e\x73\x70\ +\x65\x65\x64\x73\x2e\x5f\x64\x65\x66\x61\x75\x6c\x74\x2c\x28\x6e\ +\x75\x6c\x6c\x3d\x3d\x64\x2e\x71\x75\x65\x75\x65\x7c\x7c\x64\x2e\ +\x71\x75\x65\x75\x65\x3d\x3d\x3d\x21\x30\x29\x26\x26\x28\x64\x2e\ +\x71\x75\x65\x75\x65\x3d\x22\x66\x78\x22\x29\x2c\x64\x2e\x6f\x6c\ +\x64\x3d\x64\x2e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2c\x64\x2e\x63\ +\x6f\x6d\x70\x6c\x65\x74\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x29\x7b\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x64\x2e\x6f\x6c\x64\x29\x26\x26\x64\x2e\x6f\x6c\x64\x2e\x63\x61\ +\x6c\x6c\x28\x74\x68\x69\x73\x29\x2c\x64\x2e\x71\x75\x65\x75\x65\ +\x26\x26\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x74\x68\x69\x73\ +\x2c\x64\x2e\x71\x75\x65\x75\x65\x29\x7d\x2c\x64\x7d\x2c\x6e\x2e\ +\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x66\x61\x64\x65\x54\ +\x6f\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\ +\x2c\x64\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ +\x66\x69\x6c\x74\x65\x72\x28\x56\x29\x2e\x63\x73\x73\x28\x22\x6f\ +\x70\x61\x63\x69\x74\x79\x22\x2c\x30\x29\x2e\x73\x68\x6f\x77\x28\ +\x29\x2e\x65\x6e\x64\x28\x29\x2e\x61\x6e\x69\x6d\x61\x74\x65\x28\ +\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\x62\x7d\x2c\x61\x2c\x63\x2c\ +\x64\x29\x7d\x2c\x61\x6e\x69\x6d\x61\x74\x65\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\ +\x72\x20\x65\x3d\x6e\x2e\x69\x73\x45\x6d\x70\x74\x79\x4f\x62\x6a\ +\x65\x63\x74\x28\x61\x29\x2c\x66\x3d\x6e\x2e\x73\x70\x65\x65\x64\ +\x28\x62\x2c\x63\x2c\x64\x29\x2c\x67\x3d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x3d\x6c\x63\x28\x74\x68\ +\x69\x73\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x61\ +\x29\x2c\x66\x29\x3b\x28\x65\x7c\x7c\x6e\x2e\x5f\x64\x61\x74\x61\ +\x28\x74\x68\x69\x73\x2c\x22\x66\x69\x6e\x69\x73\x68\x22\x29\x29\ +\x26\x26\x62\x2e\x73\x74\x6f\x70\x28\x21\x30\x29\x7d\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x67\x2e\x66\x69\x6e\x69\x73\x68\x3d\x67\x2c\ +\x65\x7c\x7c\x66\x2e\x71\x75\x65\x75\x65\x3d\x3d\x3d\x21\x31\x3f\ +\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x67\x29\x3a\x74\x68\x69\ +\x73\x2e\x71\x75\x65\x75\x65\x28\x66\x2e\x71\x75\x65\x75\x65\x2c\ +\x67\x29\x7d\x2c\x73\x74\x6f\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ +\x3d\x61\x2e\x73\x74\x6f\x70\x3b\x64\x65\x6c\x65\x74\x65\x20\x61\ +\x2e\x73\x74\x6f\x70\x2c\x62\x28\x63\x29\x7d\x3b\x72\x65\x74\x75\ +\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\ +\x6f\x66\x20\x61\x26\x26\x28\x63\x3d\x62\x2c\x62\x3d\x61\x2c\x61\ +\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\x62\x26\x26\x61\x21\x3d\x3d\ +\x21\x31\x26\x26\x74\x68\x69\x73\x2e\x71\x75\x65\x75\x65\x28\x61\ +\x7c\x7c\x22\x66\x78\x22\x2c\x5b\x5d\x29\x2c\x74\x68\x69\x73\x2e\ +\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x76\x61\x72\x20\x62\x3d\x21\x30\x2c\x65\x3d\x6e\x75\x6c\x6c\x21\ +\x3d\x61\x26\x26\x61\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\ +\x73\x22\x2c\x66\x3d\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2c\x67\x3d\ +\x6e\x2e\x5f\x64\x61\x74\x61\x28\x74\x68\x69\x73\x29\x3b\x69\x66\ +\x28\x65\x29\x67\x5b\x65\x5d\x26\x26\x67\x5b\x65\x5d\x2e\x73\x74\ +\x6f\x70\x26\x26\x64\x28\x67\x5b\x65\x5d\x29\x3b\x65\x6c\x73\x65\ +\x20\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x67\x29\x67\x5b\x65\x5d\ +\x26\x26\x67\x5b\x65\x5d\x2e\x73\x74\x6f\x70\x26\x26\x64\x63\x2e\ +\x74\x65\x73\x74\x28\x65\x29\x26\x26\x64\x28\x67\x5b\x65\x5d\x29\ +\x3b\x66\x6f\x72\x28\x65\x3d\x66\x2e\x6c\x65\x6e\x67\x74\x68\x3b\ +\x65\x2d\x2d\x3b\x29\x66\x5b\x65\x5d\x2e\x65\x6c\x65\x6d\x21\x3d\ +\x3d\x74\x68\x69\x73\x7c\x7c\x6e\x75\x6c\x6c\x21\x3d\x61\x26\x26\ +\x66\x5b\x65\x5d\x2e\x71\x75\x65\x75\x65\x21\x3d\x3d\x61\x7c\x7c\ +\x28\x66\x5b\x65\x5d\x2e\x61\x6e\x69\x6d\x2e\x73\x74\x6f\x70\x28\ +\x63\x29\x2c\x62\x3d\x21\x31\x2c\x66\x2e\x73\x70\x6c\x69\x63\x65\ +\x28\x65\x2c\x31\x29\x29\x3b\x28\x62\x7c\x7c\x21\x63\x29\x26\x26\ +\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x74\x68\x69\x73\x2c\x61\ +\x29\x7d\x29\x7d\x2c\x66\x69\x6e\x69\x73\x68\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ +\x21\x3d\x3d\x21\x31\x26\x26\x28\x61\x3d\x61\x7c\x7c\x22\x66\x78\ +\x22\x29\x2c\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\ +\x6e\x2e\x5f\x64\x61\x74\x61\x28\x74\x68\x69\x73\x29\x2c\x64\x3d\ +\x63\x5b\x61\x2b\x22\x71\x75\x65\x75\x65\x22\x5d\x2c\x65\x3d\x63\ +\x5b\x61\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x22\x5d\ +\x2c\x66\x3d\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2c\x67\x3d\x64\x3f\ +\x64\x2e\x6c\x65\x6e\x67\x74\x68\x3a\x30\x3b\x66\x6f\x72\x28\x63\ +\x2e\x66\x69\x6e\x69\x73\x68\x3d\x21\x30\x2c\x6e\x2e\x71\x75\x65\ +\x75\x65\x28\x74\x68\x69\x73\x2c\x61\x2c\x5b\x5d\x29\x2c\x65\x26\ +\x26\x65\x2e\x73\x74\x6f\x70\x26\x26\x65\x2e\x73\x74\x6f\x70\x2e\ +\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x21\x30\x29\x2c\x62\x3d\ +\x66\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x62\x2d\x2d\x3b\x29\x66\x5b\ +\x62\x5d\x2e\x65\x6c\x65\x6d\x3d\x3d\x3d\x74\x68\x69\x73\x26\x26\ +\x66\x5b\x62\x5d\x2e\x71\x75\x65\x75\x65\x3d\x3d\x3d\x61\x26\x26\ +\x28\x66\x5b\x62\x5d\x2e\x61\x6e\x69\x6d\x2e\x73\x74\x6f\x70\x28\ +\x21\x30\x29\x2c\x66\x2e\x73\x70\x6c\x69\x63\x65\x28\x62\x2c\x31\ +\x29\x29\x3b\x66\x6f\x72\x28\x62\x3d\x30\x3b\x67\x3e\x62\x3b\x62\ +\x2b\x2b\x29\x64\x5b\x62\x5d\x26\x26\x64\x5b\x62\x5d\x2e\x66\x69\ +\x6e\x69\x73\x68\x26\x26\x64\x5b\x62\x5d\x2e\x66\x69\x6e\x69\x73\ +\x68\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x29\x3b\x64\x65\x6c\ +\x65\x74\x65\x20\x63\x2e\x66\x69\x6e\x69\x73\x68\x7d\x29\x7d\x7d\ +\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x74\x6f\x67\x67\x6c\ +\x65\x22\x2c\x22\x73\x68\x6f\x77\x22\x2c\x22\x68\x69\x64\x65\x22\ +\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ +\x76\x61\x72\x20\x63\x3d\x6e\x2e\x66\x6e\x5b\x62\x5d\x3b\x6e\x2e\ +\x66\x6e\x5b\x62\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x64\x2c\x65\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\ +\x6c\x3d\x3d\x61\x7c\x7c\x22\x62\x6f\x6f\x6c\x65\x61\x6e\x22\x3d\ +\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x63\x2e\x61\x70\x70\x6c\ +\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\ +\x29\x3a\x74\x68\x69\x73\x2e\x61\x6e\x69\x6d\x61\x74\x65\x28\x68\ +\x63\x28\x62\x2c\x21\x30\x29\x2c\x61\x2c\x64\x2c\x65\x29\x7d\x7d\ +\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\x73\x6c\x69\x64\x65\x44\ +\x6f\x77\x6e\x3a\x68\x63\x28\x22\x73\x68\x6f\x77\x22\x29\x2c\x73\ +\x6c\x69\x64\x65\x55\x70\x3a\x68\x63\x28\x22\x68\x69\x64\x65\x22\ +\x29\x2c\x73\x6c\x69\x64\x65\x54\x6f\x67\x67\x6c\x65\x3a\x68\x63\ +\x28\x22\x74\x6f\x67\x67\x6c\x65\x22\x29\x2c\x66\x61\x64\x65\x49\ +\x6e\x3a\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\x22\x73\x68\x6f\x77\ +\x22\x7d\x2c\x66\x61\x64\x65\x4f\x75\x74\x3a\x7b\x6f\x70\x61\x63\ +\x69\x74\x79\x3a\x22\x68\x69\x64\x65\x22\x7d\x2c\x66\x61\x64\x65\ +\x54\x6f\x67\x67\x6c\x65\x3a\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\ +\x22\x74\x6f\x67\x67\x6c\x65\x22\x7d\x7d\x2c\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\x61\x5d\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\x64\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x61\x6e\x69\ +\x6d\x61\x74\x65\x28\x62\x2c\x61\x2c\x63\x2c\x64\x29\x7d\x7d\x29\ +\x2c\x6e\x2e\x74\x69\x6d\x65\x72\x73\x3d\x5b\x5d\x2c\x6e\x2e\x66\ +\x78\x2e\x74\x69\x63\x6b\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x3d\x6e\x2e\x74\x69\x6d\x65\ +\x72\x73\x2c\x63\x3d\x30\x3b\x66\x6f\x72\x28\x5f\x62\x3d\x6e\x2e\ +\x6e\x6f\x77\x28\x29\x3b\x63\x3c\x62\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3b\x63\x2b\x2b\x29\x61\x3d\x62\x5b\x63\x5d\x2c\x61\x28\x29\x7c\ +\x7c\x62\x5b\x63\x5d\x21\x3d\x3d\x61\x7c\x7c\x62\x2e\x73\x70\x6c\ +\x69\x63\x65\x28\x63\x2d\x2d\x2c\x31\x29\x3b\x62\x2e\x6c\x65\x6e\ +\x67\x74\x68\x7c\x7c\x6e\x2e\x66\x78\x2e\x73\x74\x6f\x70\x28\x29\ +\x2c\x5f\x62\x3d\x76\x6f\x69\x64\x20\x30\x7d\x2c\x6e\x2e\x66\x78\ +\x2e\x74\x69\x6d\x65\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2e\x70\x75\x73\x68\ +\x28\x61\x29\x2c\x61\x28\x29\x3f\x6e\x2e\x66\x78\x2e\x73\x74\x61\ +\x72\x74\x28\x29\x3a\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2e\x70\x6f\ +\x70\x28\x29\x7d\x2c\x6e\x2e\x66\x78\x2e\x69\x6e\x74\x65\x72\x76\ +\x61\x6c\x3d\x31\x33\x2c\x6e\x2e\x66\x78\x2e\x73\x74\x61\x72\x74\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x61\x63\x7c\x7c\ +\x28\x61\x63\x3d\x73\x65\x74\x49\x6e\x74\x65\x72\x76\x61\x6c\x28\ +\x6e\x2e\x66\x78\x2e\x74\x69\x63\x6b\x2c\x6e\x2e\x66\x78\x2e\x69\ +\x6e\x74\x65\x72\x76\x61\x6c\x29\x29\x7d\x2c\x6e\x2e\x66\x78\x2e\ +\x73\x74\x6f\x70\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x63\x6c\x65\x61\x72\x49\x6e\x74\x65\x72\x76\x61\x6c\x28\x61\x63\ +\x29\x2c\x61\x63\x3d\x6e\x75\x6c\x6c\x7d\x2c\x6e\x2e\x66\x78\x2e\ +\x73\x70\x65\x65\x64\x73\x3d\x7b\x73\x6c\x6f\x77\x3a\x36\x30\x30\ +\x2c\x66\x61\x73\x74\x3a\x32\x30\x30\x2c\x5f\x64\x65\x66\x61\x75\ +\x6c\x74\x3a\x34\x30\x30\x7d\x2c\x6e\x2e\x66\x6e\x2e\x64\x65\x6c\ +\x61\x79\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x6e\x2e\x66\x78\x3f\x6e\ +\x2e\x66\x78\x2e\x73\x70\x65\x65\x64\x73\x5b\x61\x5d\x7c\x7c\x61\ +\x3a\x61\x2c\x62\x3d\x62\x7c\x7c\x22\x66\x78\x22\x2c\x74\x68\x69\ +\x73\x2e\x71\x75\x65\x75\x65\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x73\x65\ +\x74\x54\x69\x6d\x65\x6f\x75\x74\x28\x62\x2c\x61\x29\x3b\x63\x2e\ +\x73\x74\x6f\x70\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x63\x6c\x65\x61\x72\x54\x69\x6d\x65\x6f\x75\x74\x28\x64\x29\x7d\ +\x7d\x29\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\ +\x61\x72\x20\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x3d\x7a\x2e\x63\ +\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\ +\x76\x22\x29\x3b\x65\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x28\x22\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x22\x2c\x22\ +\x74\x22\x29\x2c\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\ +\x22\x20\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\x6c\x65\ +\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\x65\x66\ +\x3d\x27\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\x70\x75\ +\x74\x20\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\x6f\x78\ +\x27\x2f\x3e\x22\x2c\x61\x3d\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x61\ +\x22\x29\x5b\x30\x5d\x2c\x63\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\ +\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x73\x65\x6c\x65\x63\x74\x22\ +\x29\x2c\x64\x3d\x63\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\ +\x64\x28\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\ +\x74\x28\x22\x6f\x70\x74\x69\x6f\x6e\x22\x29\x29\x2c\x62\x3d\x65\ +\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\ +\x67\x4e\x61\x6d\x65\x28\x22\x69\x6e\x70\x75\x74\x22\x29\x5b\x30\ +\x5d\x2c\x61\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\ +\x74\x3d\x22\x74\x6f\x70\x3a\x31\x70\x78\x22\x2c\x6c\x2e\x67\x65\ +\x74\x53\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x3d\x22\x74\ +\x22\x21\x3d\x3d\x65\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x2c\ +\x6c\x2e\x73\x74\x79\x6c\x65\x3d\x2f\x74\x6f\x70\x2f\x2e\x74\x65\ +\x73\x74\x28\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ +\x65\x28\x22\x73\x74\x79\x6c\x65\x22\x29\x29\x2c\x6c\x2e\x68\x72\ +\x65\x66\x4e\x6f\x72\x6d\x61\x6c\x69\x7a\x65\x64\x3d\x22\x2f\x61\ +\x22\x3d\x3d\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x28\x22\x68\x72\x65\x66\x22\x29\x2c\x6c\x2e\x63\x68\x65\ +\x63\x6b\x4f\x6e\x3d\x21\x21\x62\x2e\x76\x61\x6c\x75\x65\x2c\x6c\ +\x2e\x6f\x70\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x3d\x64\x2e\x73\ +\x65\x6c\x65\x63\x74\x65\x64\x2c\x6c\x2e\x65\x6e\x63\x74\x79\x70\ +\x65\x3d\x21\x21\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\ +\x65\x6e\x74\x28\x22\x66\x6f\x72\x6d\x22\x29\x2e\x65\x6e\x63\x74\ +\x79\x70\x65\x2c\x63\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\x3d\x21\ +\x30\x2c\x6c\x2e\x6f\x70\x74\x44\x69\x73\x61\x62\x6c\x65\x64\x3d\ +\x21\x64\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\x2c\x62\x3d\x7a\x2e\ +\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x69\ +\x6e\x70\x75\x74\x22\x29\x2c\x62\x2e\x73\x65\x74\x41\x74\x74\x72\ +\x69\x62\x75\x74\x65\x28\x22\x76\x61\x6c\x75\x65\x22\x2c\x22\x22\ +\x29\x2c\x6c\x2e\x69\x6e\x70\x75\x74\x3d\x22\x22\x3d\x3d\x3d\x62\ +\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x76\ +\x61\x6c\x75\x65\x22\x29\x2c\x62\x2e\x76\x61\x6c\x75\x65\x3d\x22\ +\x74\x22\x2c\x62\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ +\x65\x28\x22\x74\x79\x70\x65\x22\x2c\x22\x72\x61\x64\x69\x6f\x22\ +\x29\x2c\x6c\x2e\x72\x61\x64\x69\x6f\x56\x61\x6c\x75\x65\x3d\x22\ +\x74\x22\x3d\x3d\x3d\x62\x2e\x76\x61\x6c\x75\x65\x2c\x61\x3d\x62\ +\x3d\x63\x3d\x64\x3d\x65\x3d\x6e\x75\x6c\x6c\x7d\x28\x29\x3b\x76\ +\x61\x72\x20\x6d\x63\x3d\x2f\x5c\x72\x2f\x67\x3b\x6e\x2e\x66\x6e\ +\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x76\x61\x6c\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\ +\x2c\x64\x2c\x65\x3d\x74\x68\x69\x73\x5b\x30\x5d\x3b\x7b\x69\x66\ +\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\ +\x68\x29\x72\x65\x74\x75\x72\x6e\x20\x64\x3d\x6e\x2e\x69\x73\x46\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x2c\x74\x68\x69\x73\x2e\ +\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\ +\x7b\x76\x61\x72\x20\x65\x3b\x31\x3d\x3d\x3d\x74\x68\x69\x73\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x65\x3d\x64\x3f\x61\ +\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x63\x2c\x6e\x28\x74\ +\x68\x69\x73\x29\x2e\x76\x61\x6c\x28\x29\x29\x3a\x61\x2c\x6e\x75\ +\x6c\x6c\x3d\x3d\x65\x3f\x65\x3d\x22\x22\x3a\x22\x6e\x75\x6d\x62\ +\x65\x72\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x65\x3f\x65\x2b\ +\x3d\x22\x22\x3a\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x65\x29\ +\x26\x26\x28\x65\x3d\x6e\x2e\x6d\x61\x70\x28\x65\x2c\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x6e\x75\x6c\x6c\x3d\x3d\x61\x3f\x22\x22\x3a\x61\x2b\x22\x22\x7d\ +\x29\x29\x2c\x62\x3d\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\x73\x5b\ +\x74\x68\x69\x73\x2e\x74\x79\x70\x65\x5d\x7c\x7c\x6e\x2e\x76\x61\ +\x6c\x48\x6f\x6f\x6b\x73\x5b\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\ +\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\ +\x28\x29\x5d\x2c\x62\x26\x26\x22\x73\x65\x74\x22\x69\x6e\x20\x62\ +\x26\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x62\x2e\x73\x65\x74\ +\x28\x74\x68\x69\x73\x2c\x65\x2c\x22\x76\x61\x6c\x75\x65\x22\x29\ +\x7c\x7c\x28\x74\x68\x69\x73\x2e\x76\x61\x6c\x75\x65\x3d\x65\x29\ +\x29\x7d\x29\x3b\x69\x66\x28\x65\x29\x72\x65\x74\x75\x72\x6e\x20\ +\x62\x3d\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\x73\x5b\x65\x2e\x74\ +\x79\x70\x65\x5d\x7c\x7c\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\x73\ +\x5b\x65\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\ +\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x2c\x62\x26\x26\x22\x67\ +\x65\x74\x22\x69\x6e\x20\x62\x26\x26\x76\x6f\x69\x64\x20\x30\x21\ +\x3d\x3d\x28\x63\x3d\x62\x2e\x67\x65\x74\x28\x65\x2c\x22\x76\x61\ +\x6c\x75\x65\x22\x29\x29\x3f\x63\x3a\x28\x63\x3d\x65\x2e\x76\x61\ +\x6c\x75\x65\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\ +\x70\x65\x6f\x66\x20\x63\x3f\x63\x2e\x72\x65\x70\x6c\x61\x63\x65\ +\x28\x6d\x63\x2c\x22\x22\x29\x3a\x6e\x75\x6c\x6c\x3d\x3d\x63\x3f\ +\x22\x22\x3a\x63\x29\x7d\x7d\x7d\x29\x2c\x6e\x2e\x65\x78\x74\x65\ +\x6e\x64\x28\x7b\x76\x61\x6c\x48\x6f\x6f\x6b\x73\x3a\x7b\x6f\x70\ +\x74\x69\x6f\x6e\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\x66\x69\ +\x6e\x64\x2e\x61\x74\x74\x72\x28\x61\x2c\x22\x76\x61\x6c\x75\x65\ +\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x21\x3d\ +\x62\x3f\x62\x3a\x6e\x2e\x74\x65\x78\x74\x28\x61\x29\x7d\x7d\x2c\ +\x73\x65\x6c\x65\x63\x74\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\ +\x62\x2c\x63\x2c\x64\x3d\x61\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x2c\ +\x65\x3d\x61\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x49\x6e\x64\x65\ +\x78\x2c\x66\x3d\x22\x73\x65\x6c\x65\x63\x74\x2d\x6f\x6e\x65\x22\ +\x3d\x3d\x3d\x61\x2e\x74\x79\x70\x65\x7c\x7c\x30\x3e\x65\x2c\x67\ +\x3d\x66\x3f\x6e\x75\x6c\x6c\x3a\x5b\x5d\x2c\x68\x3d\x66\x3f\x65\ +\x2b\x31\x3a\x64\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x69\x3d\x30\x3e\ +\x65\x3f\x68\x3a\x66\x3f\x65\x3a\x30\x3b\x68\x3e\x69\x3b\x69\x2b\ +\x2b\x29\x69\x66\x28\x63\x3d\x64\x5b\x69\x5d\x2c\x21\x28\x21\x63\ +\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x26\x26\x69\x21\x3d\x3d\x65\ +\x7c\x7c\x28\x6c\x2e\x6f\x70\x74\x44\x69\x73\x61\x62\x6c\x65\x64\ +\x3f\x63\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\x3a\x6e\x75\x6c\x6c\ +\x21\x3d\x3d\x63\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ +\x65\x28\x22\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x29\x7c\x7c\ +\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x64\x69\x73\ +\x61\x62\x6c\x65\x64\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ +\x65\x28\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x22\ +\x6f\x70\x74\x67\x72\x6f\x75\x70\x22\x29\x29\x29\x7b\x69\x66\x28\ +\x62\x3d\x6e\x28\x63\x29\x2e\x76\x61\x6c\x28\x29\x2c\x66\x29\x72\ +\x65\x74\x75\x72\x6e\x20\x62\x3b\x67\x2e\x70\x75\x73\x68\x28\x62\ +\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\x2c\x73\x65\x74\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\ +\x72\x20\x63\x2c\x64\x2c\x65\x3d\x61\x2e\x6f\x70\x74\x69\x6f\x6e\ +\x73\x2c\x66\x3d\x6e\x2e\x6d\x61\x6b\x65\x41\x72\x72\x61\x79\x28\ +\x62\x29\x2c\x67\x3d\x65\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\ +\x69\x6c\x65\x28\x67\x2d\x2d\x29\x69\x66\x28\x64\x3d\x65\x5b\x67\ +\x5d\x2c\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x6e\x2e\x76\x61\ +\x6c\x48\x6f\x6f\x6b\x73\x2e\x6f\x70\x74\x69\x6f\x6e\x2e\x67\x65\ +\x74\x28\x64\x29\x2c\x66\x29\x3e\x3d\x30\x29\x74\x72\x79\x7b\x64\ +\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x3d\x63\x3d\x21\x30\x7d\x63\ +\x61\x74\x63\x68\x28\x68\x29\x7b\x64\x2e\x73\x63\x72\x6f\x6c\x6c\ +\x48\x65\x69\x67\x68\x74\x7d\x65\x6c\x73\x65\x20\x64\x2e\x73\x65\ +\x6c\x65\x63\x74\x65\x64\x3d\x21\x31\x3b\x72\x65\x74\x75\x72\x6e\ +\x20\x63\x7c\x7c\x28\x61\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x49\ +\x6e\x64\x65\x78\x3d\x2d\x31\x29\x2c\x65\x7d\x7d\x7d\x7d\x29\x2c\ +\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x72\x61\x64\x69\x6f\x22\x2c\ +\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x5d\x2c\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\ +\x73\x5b\x74\x68\x69\x73\x5d\x3d\x7b\x73\x65\x74\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x62\x29\x3f\x61\ +\x2e\x63\x68\x65\x63\x6b\x65\x64\x3d\x6e\x2e\x69\x6e\x41\x72\x72\ +\x61\x79\x28\x6e\x28\x61\x29\x2e\x76\x61\x6c\x28\x29\x2c\x62\x29\ +\x3e\x3d\x30\x3a\x76\x6f\x69\x64\x20\x30\x7d\x7d\x2c\x6c\x2e\x63\ +\x68\x65\x63\x6b\x4f\x6e\x7c\x7c\x28\x6e\x2e\x76\x61\x6c\x48\x6f\ +\x6f\x6b\x73\x5b\x74\x68\x69\x73\x5d\x2e\x67\x65\x74\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x75\x6c\x6c\x3d\x3d\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\ +\x72\x69\x62\x75\x74\x65\x28\x22\x76\x61\x6c\x75\x65\x22\x29\x3f\ +\x22\x6f\x6e\x22\x3a\x61\x2e\x76\x61\x6c\x75\x65\x7d\x29\x7d\x29\ +\x3b\x76\x61\x72\x20\x6e\x63\x2c\x6f\x63\x2c\x70\x63\x3d\x6e\x2e\ +\x65\x78\x70\x72\x2e\x61\x74\x74\x72\x48\x61\x6e\x64\x6c\x65\x2c\ +\x71\x63\x3d\x2f\x5e\x28\x3f\x3a\x63\x68\x65\x63\x6b\x65\x64\x7c\ +\x73\x65\x6c\x65\x63\x74\x65\x64\x29\x24\x2f\x69\x2c\x72\x63\x3d\ +\x6c\x2e\x67\x65\x74\x53\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ +\x65\x2c\x73\x63\x3d\x6c\x2e\x69\x6e\x70\x75\x74\x3b\x6e\x2e\x66\ +\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x61\x74\x74\x72\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\x6e\x2e\x61\x74\x74\ +\x72\x2c\x61\x2c\x62\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3e\x31\x29\x7d\x2c\x72\x65\x6d\x6f\x76\ +\x65\x41\x74\x74\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\ +\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\ +\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x28\x74\x68\x69\x73\x2c\ +\x61\x29\x7d\x29\x7d\x7d\x29\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\ +\x28\x7b\x61\x74\x74\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\ +\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3b\x69\x66\x28\x61\ +\x26\x26\x33\x21\x3d\x3d\x66\x26\x26\x38\x21\x3d\x3d\x66\x26\x26\ +\x32\x21\x3d\x3d\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x74\x79\x70\ +\x65\x6f\x66\x20\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x3d\x3d\x3d\x4c\x3f\x6e\x2e\x70\x72\x6f\x70\x28\x61\x2c\ +\x62\x2c\x63\x29\x3a\x28\x31\x3d\x3d\x3d\x66\x26\x26\x6e\x2e\x69\ +\x73\x58\x4d\x4c\x44\x6f\x63\x28\x61\x29\x7c\x7c\x28\x62\x3d\x62\ +\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x2c\x64\ +\x3d\x6e\x2e\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x5b\x62\x5d\x7c\ +\x7c\x28\x6e\x2e\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\x62\ +\x6f\x6f\x6c\x2e\x74\x65\x73\x74\x28\x62\x29\x3f\x6f\x63\x3a\x6e\ +\x63\x29\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x3f\x64\ +\x26\x26\x22\x67\x65\x74\x22\x69\x6e\x20\x64\x26\x26\x6e\x75\x6c\ +\x6c\x21\x3d\x3d\x28\x65\x3d\x64\x2e\x67\x65\x74\x28\x61\x2c\x62\ +\x29\x29\x3f\x65\x3a\x28\x65\x3d\x6e\x2e\x66\x69\x6e\x64\x2e\x61\ +\x74\x74\x72\x28\x61\x2c\x62\x29\x2c\x6e\x75\x6c\x6c\x3d\x3d\x65\ +\x3f\x76\x6f\x69\x64\x20\x30\x3a\x65\x29\x3a\x6e\x75\x6c\x6c\x21\ +\x3d\x3d\x63\x3f\x64\x26\x26\x22\x73\x65\x74\x22\x69\x6e\x20\x64\ +\x26\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x28\x65\x3d\x64\x2e\ +\x73\x65\x74\x28\x61\x2c\x63\x2c\x62\x29\x29\x3f\x65\x3a\x28\x61\ +\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x62\x2c\ +\x63\x2b\x22\x22\x29\x2c\x63\x29\x3a\x76\x6f\x69\x64\x20\x6e\x2e\ +\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x28\x61\x2c\x62\x29\x29\ +\x7d\x2c\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\ +\x2c\x64\x2c\x65\x3d\x30\x2c\x66\x3d\x62\x26\x26\x62\x2e\x6d\x61\ +\x74\x63\x68\x28\x46\x29\x3b\x69\x66\x28\x66\x26\x26\x31\x3d\x3d\ +\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x77\x68\x69\x6c\ +\x65\x28\x63\x3d\x66\x5b\x65\x2b\x2b\x5d\x29\x64\x3d\x6e\x2e\x70\ +\x72\x6f\x70\x46\x69\x78\x5b\x63\x5d\x7c\x7c\x63\x2c\x6e\x2e\x65\ +\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\x62\x6f\x6f\x6c\x2e\x74\ +\x65\x73\x74\x28\x63\x29\x3f\x73\x63\x26\x26\x72\x63\x7c\x7c\x21\ +\x71\x63\x2e\x74\x65\x73\x74\x28\x63\x29\x3f\x61\x5b\x64\x5d\x3d\ +\x21\x31\x3a\x61\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\ +\x28\x22\x64\x65\x66\x61\x75\x6c\x74\x2d\x22\x2b\x63\x29\x5d\x3d\ +\x61\x5b\x64\x5d\x3d\x21\x31\x3a\x6e\x2e\x61\x74\x74\x72\x28\x61\ +\x2c\x63\x2c\x22\x22\x29\x2c\x61\x2e\x72\x65\x6d\x6f\x76\x65\x41\ +\x74\x74\x72\x69\x62\x75\x74\x65\x28\x72\x63\x3f\x63\x3a\x64\x29\ +\x7d\x2c\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x3a\x7b\x74\x79\x70\ +\x65\x3a\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x29\x7b\x69\x66\x28\x21\x6c\x2e\x72\x61\x64\x69\x6f\ +\x56\x61\x6c\x75\x65\x26\x26\x22\x72\x61\x64\x69\x6f\x22\x3d\x3d\ +\x3d\x62\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x61\ +\x2c\x22\x69\x6e\x70\x75\x74\x22\x29\x29\x7b\x76\x61\x72\x20\x63\ +\x3d\x61\x2e\x76\x61\x6c\x75\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\ +\x61\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\ +\x74\x79\x70\x65\x22\x2c\x62\x29\x2c\x63\x26\x26\x28\x61\x2e\x76\ +\x61\x6c\x75\x65\x3d\x63\x29\x2c\x62\x7d\x7d\x7d\x7d\x7d\x29\x2c\ +\x6f\x63\x3d\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x62\ +\x3d\x3d\x3d\x21\x31\x3f\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\ +\x74\x72\x28\x61\x2c\x63\x29\x3a\x73\x63\x26\x26\x72\x63\x7c\x7c\ +\x21\x71\x63\x2e\x74\x65\x73\x74\x28\x63\x29\x3f\x61\x2e\x73\x65\ +\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x21\x72\x63\x26\x26\ +\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x5b\x63\x5d\x7c\x7c\x63\x2c\ +\x63\x29\x3a\x61\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\ +\x28\x22\x64\x65\x66\x61\x75\x6c\x74\x2d\x22\x2b\x63\x29\x5d\x3d\ +\x61\x5b\x63\x5d\x3d\x21\x30\x2c\x63\x7d\x7d\x2c\x6e\x2e\x65\x61\ +\x63\x68\x28\x6e\x2e\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\ +\x62\x6f\x6f\x6c\x2e\x73\x6f\x75\x72\x63\x65\x2e\x6d\x61\x74\x63\ +\x68\x28\x2f\x5c\x77\x2b\x2f\x67\x29\x2c\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x70\x63\ +\x5b\x62\x5d\x7c\x7c\x6e\x2e\x66\x69\x6e\x64\x2e\x61\x74\x74\x72\ +\x3b\x70\x63\x5b\x62\x5d\x3d\x73\x63\x26\x26\x72\x63\x7c\x7c\x21\ +\x71\x63\x2e\x74\x65\x73\x74\x28\x62\x29\x3f\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\ +\x2c\x66\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x7c\x7c\x28\x66\x3d\ +\x70\x63\x5b\x62\x5d\x2c\x70\x63\x5b\x62\x5d\x3d\x65\x2c\x65\x3d\ +\x6e\x75\x6c\x6c\x21\x3d\x63\x28\x61\x2c\x62\x2c\x64\x29\x3f\x62\ +\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3a\x6e\ +\x75\x6c\x6c\x2c\x70\x63\x5b\x62\x5d\x3d\x66\x29\x2c\x65\x7d\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\ +\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\x76\x6f\x69\x64\x20\x30\x3a\ +\x61\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x22\x64\ +\x65\x66\x61\x75\x6c\x74\x2d\x22\x2b\x62\x29\x5d\x3f\x62\x2e\x74\ +\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3a\x6e\x75\x6c\ +\x6c\x7d\x7d\x29\x2c\x73\x63\x26\x26\x72\x63\x7c\x7c\x28\x6e\x2e\ +\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x2e\x76\x61\x6c\x75\x65\x3d\ +\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x22\x69\x6e\x70\x75\x74\x22\ +\x29\x3f\x76\x6f\x69\x64\x28\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\ +\x56\x61\x6c\x75\x65\x3d\x62\x29\x3a\x6e\x63\x26\x26\x6e\x63\x2e\ +\x73\x65\x74\x28\x61\x2c\x62\x2c\x63\x29\x7d\x7d\x29\x2c\x72\x63\ +\x7c\x7c\x28\x6e\x63\x3d\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\ +\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4e\ +\x6f\x64\x65\x28\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x7c\ +\x7c\x61\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4e\ +\x6f\x64\x65\x28\x64\x3d\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\ +\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\x41\x74\x74\x72\ +\x69\x62\x75\x74\x65\x28\x63\x29\x29\x2c\x64\x2e\x76\x61\x6c\x75\ +\x65\x3d\x62\x2b\x3d\x22\x22\x2c\x22\x76\x61\x6c\x75\x65\x22\x3d\ +\x3d\x3d\x63\x7c\x7c\x62\x3d\x3d\x3d\x61\x2e\x67\x65\x74\x41\x74\ +\x74\x72\x69\x62\x75\x74\x65\x28\x63\x29\x3f\x62\x3a\x76\x6f\x69\ +\x64\x20\x30\x7d\x7d\x2c\x70\x63\x2e\x69\x64\x3d\x70\x63\x2e\x6e\ +\x61\x6d\x65\x3d\x70\x63\x2e\x63\x6f\x6f\x72\x64\x73\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\ +\x72\x20\x64\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\x76\x6f\x69\ +\x64\x20\x30\x3a\x28\x64\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\ +\x69\x62\x75\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x29\x26\x26\x22\ +\x22\x21\x3d\x3d\x64\x2e\x76\x61\x6c\x75\x65\x3f\x64\x2e\x76\x61\ +\x6c\x75\x65\x3a\x6e\x75\x6c\x6c\x7d\x2c\x6e\x2e\x76\x61\x6c\x48\ +\x6f\x6f\x6b\x73\x2e\x62\x75\x74\x74\x6f\x6e\x3d\x7b\x67\x65\x74\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\ +\x61\x72\x20\x63\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\ +\x75\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x3b\x72\x65\x74\x75\x72\ +\x6e\x20\x63\x26\x26\x63\x2e\x73\x70\x65\x63\x69\x66\x69\x65\x64\ +\x3f\x63\x2e\x76\x61\x6c\x75\x65\x3a\x76\x6f\x69\x64\x20\x30\x7d\ +\x2c\x73\x65\x74\x3a\x6e\x63\x2e\x73\x65\x74\x7d\x2c\x6e\x2e\x61\ +\x74\x74\x72\x48\x6f\x6f\x6b\x73\x2e\x63\x6f\x6e\x74\x65\x6e\x74\ +\x65\x64\x69\x74\x61\x62\x6c\x65\x3d\x7b\x73\x65\x74\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x6e\x63\ +\x2e\x73\x65\x74\x28\x61\x2c\x22\x22\x3d\x3d\x3d\x62\x3f\x21\x31\ +\x3a\x62\x2c\x63\x29\x7d\x7d\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\ +\x22\x77\x69\x64\x74\x68\x22\x2c\x22\x68\x65\x69\x67\x68\x74\x22\ +\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ +\x6e\x2e\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x5b\x62\x5d\x3d\x7b\ +\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x22\x3d\x3d\x3d\x63\x3f\x28\ +\x61\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x62\ +\x2c\x22\x61\x75\x74\x6f\x22\x29\x2c\x63\x29\x3a\x76\x6f\x69\x64\ +\x20\x30\x7d\x7d\x7d\x29\x29\x2c\x6c\x2e\x73\x74\x79\x6c\x65\x7c\ +\x7c\x28\x6e\x2e\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x2e\x73\x74\ +\x79\x6c\x65\x3d\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x73\x74\ +\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x7c\x7c\x76\x6f\x69\ +\x64\x20\x30\x7d\x2c\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\ +\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x62\x2b\ +\x22\x22\x7d\x7d\x29\x3b\x76\x61\x72\x20\x74\x63\x3d\x2f\x5e\x28\ +\x3f\x3a\x69\x6e\x70\x75\x74\x7c\x73\x65\x6c\x65\x63\x74\x7c\x74\ +\x65\x78\x74\x61\x72\x65\x61\x7c\x62\x75\x74\x74\x6f\x6e\x7c\x6f\ +\x62\x6a\x65\x63\x74\x29\x24\x2f\x69\x2c\x75\x63\x3d\x2f\x5e\x28\ +\x3f\x3a\x61\x7c\x61\x72\x65\x61\x29\x24\x2f\x69\x3b\x6e\x2e\x66\ +\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x70\x72\x6f\x70\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\x6e\x2e\x70\x72\x6f\ +\x70\x2c\x61\x2c\x62\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\ +\x6c\x65\x6e\x67\x74\x68\x3e\x31\x29\x7d\x2c\x72\x65\x6d\x6f\x76\ +\x65\x50\x72\x6f\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x6e\x2e\x70\x72\x6f\ +\x70\x46\x69\x78\x5b\x61\x5d\x7c\x7c\x61\x2c\x74\x68\x69\x73\x2e\ +\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ +\x74\x72\x79\x7b\x74\x68\x69\x73\x5b\x61\x5d\x3d\x76\x6f\x69\x64\ +\x20\x30\x2c\x64\x65\x6c\x65\x74\x65\x20\x74\x68\x69\x73\x5b\x61\ +\x5d\x7d\x63\x61\x74\x63\x68\x28\x62\x29\x7b\x7d\x7d\x29\x7d\x7d\ +\x29\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x70\x72\x6f\x70\ +\x46\x69\x78\x3a\x7b\x22\x66\x6f\x72\x22\x3a\x22\x68\x74\x6d\x6c\ +\x46\x6f\x72\x22\x2c\x22\x63\x6c\x61\x73\x73\x22\x3a\x22\x63\x6c\ +\x61\x73\x73\x4e\x61\x6d\x65\x22\x7d\x2c\x70\x72\x6f\x70\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\ +\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x3d\x61\x2e\x6e\x6f\x64\ +\x65\x54\x79\x70\x65\x3b\x69\x66\x28\x61\x26\x26\x33\x21\x3d\x3d\ +\x67\x26\x26\x38\x21\x3d\x3d\x67\x26\x26\x32\x21\x3d\x3d\x67\x29\ +\x72\x65\x74\x75\x72\x6e\x20\x66\x3d\x31\x21\x3d\x3d\x67\x7c\x7c\ +\x21\x6e\x2e\x69\x73\x58\x4d\x4c\x44\x6f\x63\x28\x61\x29\x2c\x66\ +\x26\x26\x28\x62\x3d\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x5b\x62\ +\x5d\x7c\x7c\x62\x2c\x65\x3d\x6e\x2e\x70\x72\x6f\x70\x48\x6f\x6f\ +\x6b\x73\x5b\x62\x5d\x29\x2c\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\ +\x63\x3f\x65\x26\x26\x22\x73\x65\x74\x22\x69\x6e\x20\x65\x26\x26\ +\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x28\x64\x3d\x65\x2e\x73\x65\ +\x74\x28\x61\x2c\x63\x2c\x62\x29\x29\x3f\x64\x3a\x61\x5b\x62\x5d\ +\x3d\x63\x3a\x65\x26\x26\x22\x67\x65\x74\x22\x69\x6e\x20\x65\x26\ +\x26\x6e\x75\x6c\x6c\x21\x3d\x3d\x28\x64\x3d\x65\x2e\x67\x65\x74\ +\x28\x61\x2c\x62\x29\x29\x3f\x64\x3a\x61\x5b\x62\x5d\x7d\x2c\x70\ +\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x3a\x7b\x74\x61\x62\x49\x6e\x64\ +\x65\x78\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\x66\x69\x6e\x64\ +\x2e\x61\x74\x74\x72\x28\x61\x2c\x22\x74\x61\x62\x69\x6e\x64\x65\ +\x78\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x70\x61\x72\ +\x73\x65\x49\x6e\x74\x28\x62\x2c\x31\x30\x29\x3a\x74\x63\x2e\x74\ +\x65\x73\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\x7c\ +\x7c\x75\x63\x2e\x74\x65\x73\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\ +\x61\x6d\x65\x29\x26\x26\x61\x2e\x68\x72\x65\x66\x3f\x30\x3a\x2d\ +\x31\x7d\x7d\x7d\x7d\x29\x2c\x6c\x2e\x68\x72\x65\x66\x4e\x6f\x72\ +\x6d\x61\x6c\x69\x7a\x65\x64\x7c\x7c\x6e\x2e\x65\x61\x63\x68\x28\ +\x5b\x22\x68\x72\x65\x66\x22\x2c\x22\x73\x72\x63\x22\x5d\x2c\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x70\ +\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x5b\x62\x5d\x3d\x7b\x67\x65\x74\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ +\x74\x65\x28\x62\x2c\x34\x29\x7d\x7d\x7d\x29\x2c\x6c\x2e\x6f\x70\ +\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x7c\x7c\x28\x6e\x2e\x70\x72\ +\x6f\x70\x48\x6f\x6f\x6b\x73\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\ +\x3d\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x70\x61\x72\x65\x6e\x74\ +\x4e\x6f\x64\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x26\x26\x28\ +\x62\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x49\x6e\x64\x65\x78\x2c\ +\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\x62\x2e\ +\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x73\x65\x6c\x65\x63\ +\x74\x65\x64\x49\x6e\x64\x65\x78\x29\x2c\x6e\x75\x6c\x6c\x7d\x7d\ +\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x74\x61\x62\x49\x6e\ +\x64\x65\x78\x22\x2c\x22\x72\x65\x61\x64\x4f\x6e\x6c\x79\x22\x2c\ +\x22\x6d\x61\x78\x4c\x65\x6e\x67\x74\x68\x22\x2c\x22\x63\x65\x6c\ +\x6c\x53\x70\x61\x63\x69\x6e\x67\x22\x2c\x22\x63\x65\x6c\x6c\x50\ +\x61\x64\x64\x69\x6e\x67\x22\x2c\x22\x72\x6f\x77\x53\x70\x61\x6e\ +\x22\x2c\x22\x63\x6f\x6c\x53\x70\x61\x6e\x22\x2c\x22\x75\x73\x65\ +\x4d\x61\x70\x22\x2c\x22\x66\x72\x61\x6d\x65\x42\x6f\x72\x64\x65\ +\x72\x22\x2c\x22\x63\x6f\x6e\x74\x65\x6e\x74\x45\x64\x69\x74\x61\ +\x62\x6c\x65\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x5b\x74\x68\x69\x73\x2e\ +\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x3d\x74\ +\x68\x69\x73\x7d\x29\x2c\x6c\x2e\x65\x6e\x63\x74\x79\x70\x65\x7c\ +\x7c\x28\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x2e\x65\x6e\x63\x74\ +\x79\x70\x65\x3d\x22\x65\x6e\x63\x6f\x64\x69\x6e\x67\x22\x29\x3b\ +\x76\x61\x72\x20\x76\x63\x3d\x2f\x5b\x5c\x74\x5c\x72\x5c\x6e\x5c\ +\x66\x5d\x2f\x67\x3b\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\ +\x28\x7b\x61\x64\x64\x43\x6c\x61\x73\x73\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\ +\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x30\x2c\x69\x3d\x74\x68\x69\ +\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\x3d\x22\x73\x74\x72\x69\ +\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x26\x26\x61\ +\x3b\x69\x66\x28\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ +\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\ +\x7b\x6e\x28\x74\x68\x69\x73\x29\x2e\x61\x64\x64\x43\x6c\x61\x73\ +\x73\x28\x61\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x62\x2c\ +\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\x29\ +\x7d\x29\x3b\x69\x66\x28\x6a\x29\x66\x6f\x72\x28\x62\x3d\x28\x61\ +\x7c\x7c\x22\x22\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\ +\x5b\x5d\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\x29\x69\x66\x28\x63\x3d\ +\x74\x68\x69\x73\x5b\x68\x5d\x2c\x64\x3d\x31\x3d\x3d\x3d\x63\x2e\ +\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x63\x2e\x63\x6c\x61\ +\x73\x73\x4e\x61\x6d\x65\x3f\x28\x22\x20\x22\x2b\x63\x2e\x63\x6c\ +\x61\x73\x73\x4e\x61\x6d\x65\x2b\x22\x20\x22\x29\x2e\x72\x65\x70\ +\x6c\x61\x63\x65\x28\x76\x63\x2c\x22\x20\x22\x29\x3a\x22\x20\x22\ +\x29\x29\x7b\x66\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x65\x3d\x62\ +\x5b\x66\x2b\x2b\x5d\x29\x64\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\ +\x22\x20\x22\x2b\x65\x2b\x22\x20\x22\x29\x3c\x30\x26\x26\x28\x64\ +\x2b\x3d\x65\x2b\x22\x20\x22\x29\x3b\x67\x3d\x6e\x2e\x74\x72\x69\ +\x6d\x28\x64\x29\x2c\x63\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\ +\x21\x3d\x3d\x67\x26\x26\x28\x63\x2e\x63\x6c\x61\x73\x73\x4e\x61\ +\x6d\x65\x3d\x67\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\ +\x73\x7d\x2c\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ +\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x30\x2c\x69\ +\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\x3d\x30\ +\x3d\x3d\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\ +\x67\x74\x68\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\ +\x79\x70\x65\x6f\x66\x20\x61\x26\x26\x61\x3b\x69\x66\x28\x6e\x2e\ +\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x29\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x28\x74\x68\x69\ +\x73\x29\x2e\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x28\x61\ +\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x62\x2c\x74\x68\x69\ +\x73\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\x29\x7d\x29\x3b\ +\x69\x66\x28\x6a\x29\x66\x6f\x72\x28\x62\x3d\x28\x61\x7c\x7c\x22\ +\x22\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\x3b\ +\x69\x3e\x68\x3b\x68\x2b\x2b\x29\x69\x66\x28\x63\x3d\x74\x68\x69\ +\x73\x5b\x68\x5d\x2c\x64\x3d\x31\x3d\x3d\x3d\x63\x2e\x6e\x6f\x64\ +\x65\x54\x79\x70\x65\x26\x26\x28\x63\x2e\x63\x6c\x61\x73\x73\x4e\ +\x61\x6d\x65\x3f\x28\x22\x20\x22\x2b\x63\x2e\x63\x6c\x61\x73\x73\ +\x4e\x61\x6d\x65\x2b\x22\x20\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\ +\x65\x28\x76\x63\x2c\x22\x20\x22\x29\x3a\x22\x22\x29\x29\x7b\x66\ +\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x65\x3d\x62\x5b\x66\x2b\x2b\ +\x5d\x29\x77\x68\x69\x6c\x65\x28\x64\x2e\x69\x6e\x64\x65\x78\x4f\ +\x66\x28\x22\x20\x22\x2b\x65\x2b\x22\x20\x22\x29\x3e\x3d\x30\x29\ +\x64\x3d\x64\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x22\x20\x22\x2b\ +\x65\x2b\x22\x20\x22\x2c\x22\x20\x22\x29\x3b\x67\x3d\x61\x3f\x6e\ +\x2e\x74\x72\x69\x6d\x28\x64\x29\x3a\x22\x22\x2c\x63\x2e\x63\x6c\ +\x61\x73\x73\x4e\x61\x6d\x65\x21\x3d\x3d\x67\x26\x26\x28\x63\x2e\ +\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\x67\x29\x7d\x72\x65\x74\ +\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\x74\x6f\x67\x67\x6c\x65\ +\x43\x6c\x61\x73\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x74\x79\x70\x65\x6f\x66\ +\x20\x61\x3b\x72\x65\x74\x75\x72\x6e\x22\x62\x6f\x6f\x6c\x65\x61\ +\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\x22\x73\ +\x74\x72\x69\x6e\x67\x22\x3d\x3d\x3d\x63\x3f\x62\x3f\x74\x68\x69\ +\x73\x2e\x61\x64\x64\x43\x6c\x61\x73\x73\x28\x61\x29\x3a\x74\x68\ +\x69\x73\x2e\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x28\x61\ +\x29\x3a\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x6e\x2e\x69\x73\ +\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3f\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x63\x29\x7b\x6e\x28\x74\x68\x69\x73\x29\x2e\ +\x74\x6f\x67\x67\x6c\x65\x43\x6c\x61\x73\x73\x28\x61\x2e\x63\x61\ +\x6c\x6c\x28\x74\x68\x69\x73\x2c\x63\x2c\x74\x68\x69\x73\x2e\x63\ +\x6c\x61\x73\x73\x4e\x61\x6d\x65\x2c\x62\x29\x2c\x62\x29\x7d\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x22\x73\ +\x74\x72\x69\x6e\x67\x22\x3d\x3d\x3d\x63\x29\x7b\x76\x61\x72\x20\ +\x62\x2c\x64\x3d\x30\x2c\x65\x3d\x6e\x28\x74\x68\x69\x73\x29\x2c\ +\x66\x3d\x61\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\ +\x3b\x77\x68\x69\x6c\x65\x28\x62\x3d\x66\x5b\x64\x2b\x2b\x5d\x29\ +\x65\x2e\x68\x61\x73\x43\x6c\x61\x73\x73\x28\x62\x29\x3f\x65\x2e\ +\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x28\x62\x29\x3a\x65\ +\x2e\x61\x64\x64\x43\x6c\x61\x73\x73\x28\x62\x29\x7d\x65\x6c\x73\ +\x65\x28\x63\x3d\x3d\x3d\x4c\x7c\x7c\x22\x62\x6f\x6f\x6c\x65\x61\ +\x6e\x22\x3d\x3d\x3d\x63\x29\x26\x26\x28\x74\x68\x69\x73\x2e\x63\ +\x6c\x61\x73\x73\x4e\x61\x6d\x65\x26\x26\x6e\x2e\x5f\x64\x61\x74\ +\x61\x28\x74\x68\x69\x73\x2c\x22\x5f\x5f\x63\x6c\x61\x73\x73\x4e\ +\x61\x6d\x65\x5f\x5f\x22\x2c\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\ +\x73\x4e\x61\x6d\x65\x29\x2c\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\ +\x73\x4e\x61\x6d\x65\x3d\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\x73\ +\x4e\x61\x6d\x65\x7c\x7c\x61\x3d\x3d\x3d\x21\x31\x3f\x22\x22\x3a\ +\x6e\x2e\x5f\x64\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x22\x5f\x5f\ +\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x5f\x5f\x22\x29\x7c\x7c\x22\ +\x22\x29\x7d\x29\x7d\x2c\x68\x61\x73\x43\x6c\x61\x73\x73\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\x72\x28\x76\ +\x61\x72\x20\x62\x3d\x22\x20\x22\x2b\x61\x2b\x22\x20\x22\x2c\x63\ +\x3d\x30\x2c\x64\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ +\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x69\x66\x28\x31\x3d\x3d\x3d\ +\x74\x68\x69\x73\x5b\x63\x5d\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ +\x26\x26\x28\x22\x20\x22\x2b\x74\x68\x69\x73\x5b\x63\x5d\x2e\x63\ +\x6c\x61\x73\x73\x4e\x61\x6d\x65\x2b\x22\x20\x22\x29\x2e\x72\x65\ +\x70\x6c\x61\x63\x65\x28\x76\x63\x2c\x22\x20\x22\x29\x2e\x69\x6e\ +\x64\x65\x78\x4f\x66\x28\x62\x29\x3e\x3d\x30\x29\x72\x65\x74\x75\ +\x72\x6e\x21\x30\x3b\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x7d\x29\ +\x2c\x6e\x2e\x65\x61\x63\x68\x28\x22\x62\x6c\x75\x72\x20\x66\x6f\ +\x63\x75\x73\x20\x66\x6f\x63\x75\x73\x69\x6e\x20\x66\x6f\x63\x75\ +\x73\x6f\x75\x74\x20\x6c\x6f\x61\x64\x20\x72\x65\x73\x69\x7a\x65\ +\x20\x73\x63\x72\x6f\x6c\x6c\x20\x75\x6e\x6c\x6f\x61\x64\x20\x63\ +\x6c\x69\x63\x6b\x20\x64\x62\x6c\x63\x6c\x69\x63\x6b\x20\x6d\x6f\ +\x75\x73\x65\x64\x6f\x77\x6e\x20\x6d\x6f\x75\x73\x65\x75\x70\x20\ +\x6d\x6f\x75\x73\x65\x6d\x6f\x76\x65\x20\x6d\x6f\x75\x73\x65\x6f\ +\x76\x65\x72\x20\x6d\x6f\x75\x73\x65\x6f\x75\x74\x20\x6d\x6f\x75\ +\x73\x65\x65\x6e\x74\x65\x72\x20\x6d\x6f\x75\x73\x65\x6c\x65\x61\ +\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x20\x73\x65\x6c\x65\x63\x74\ +\x20\x73\x75\x62\x6d\x69\x74\x20\x6b\x65\x79\x64\x6f\x77\x6e\x20\ +\x6b\x65\x79\x70\x72\x65\x73\x73\x20\x6b\x65\x79\x75\x70\x20\x65\ +\x72\x72\x6f\x72\x20\x63\x6f\x6e\x74\x65\x78\x74\x6d\x65\x6e\x75\ +\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\ +\x62\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\ +\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x30\x3f\x74\x68\x69\x73\x2e\ +\x6f\x6e\x28\x62\x2c\x6e\x75\x6c\x6c\x2c\x61\x2c\x63\x29\x3a\x74\ +\x68\x69\x73\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x62\x29\x7d\x7d\ +\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x68\ +\x6f\x76\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x6d\ +\x6f\x75\x73\x65\x65\x6e\x74\x65\x72\x28\x61\x29\x2e\x6d\x6f\x75\ +\x73\x65\x6c\x65\x61\x76\x65\x28\x62\x7c\x7c\x61\x29\x7d\x2c\x62\ +\x69\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ +\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ +\x6f\x6e\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\x62\x2c\x63\x29\x7d\x2c\ +\x75\x6e\x62\x69\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\ +\x2e\x6f\x66\x66\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\x62\x29\x7d\x2c\ +\x64\x65\x6c\x65\x67\x61\x74\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x74\x68\x69\x73\x2e\x6f\x6e\x28\x62\x2c\x61\x2c\x63\x2c\ +\x64\x29\x7d\x2c\x75\x6e\x64\x65\x6c\x65\x67\x61\x74\x65\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x31\x3d\x3d\x3d\x61\x72\x67\x75\x6d\x65\ +\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3f\x74\x68\x69\x73\x2e\ +\x6f\x66\x66\x28\x61\x2c\x22\x2a\x2a\x22\x29\x3a\x74\x68\x69\x73\ +\x2e\x6f\x66\x66\x28\x62\x2c\x61\x7c\x7c\x22\x2a\x2a\x22\x2c\x63\ +\x29\x7d\x7d\x29\x3b\x76\x61\x72\x20\x77\x63\x3d\x6e\x2e\x6e\x6f\ +\x77\x28\x29\x2c\x78\x63\x3d\x2f\x5c\x3f\x2f\x2c\x79\x63\x3d\x2f\ +\x28\x2c\x29\x7c\x28\x5c\x5b\x7c\x7b\x29\x7c\x28\x7d\x7c\x5d\x29\ +\x7c\x22\x28\x3f\x3a\x5b\x5e\x22\x5c\x5c\x5c\x72\x5c\x6e\x5d\x7c\ +\x5c\x5c\x5b\x22\x5c\x5c\x5c\x2f\x62\x66\x6e\x72\x74\x5d\x7c\x5c\ +\x5c\x75\x5b\x5c\x64\x61\x2d\x66\x41\x2d\x46\x5d\x7b\x34\x7d\x29\ +\x2a\x22\x5c\x73\x2a\x3a\x3f\x7c\x74\x72\x75\x65\x7c\x66\x61\x6c\ +\x73\x65\x7c\x6e\x75\x6c\x6c\x7c\x2d\x3f\x28\x3f\x21\x30\x5c\x64\ +\x29\x5c\x64\x2b\x28\x3f\x3a\x5c\x2e\x5c\x64\x2b\x7c\x29\x28\x3f\ +\x3a\x5b\x65\x45\x5d\x5b\x2b\x2d\x5d\x3f\x5c\x64\x2b\x7c\x29\x2f\ +\x67\x3b\x6e\x2e\x70\x61\x72\x73\x65\x4a\x53\x4f\x4e\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x69\x66\x28\x61\x2e\x4a\ +\x53\x4f\x4e\x26\x26\x61\x2e\x4a\x53\x4f\x4e\x2e\x70\x61\x72\x73\ +\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x4a\x53\x4f\x4e\x2e\ +\x70\x61\x72\x73\x65\x28\x62\x2b\x22\x22\x29\x3b\x76\x61\x72\x20\ +\x63\x2c\x64\x3d\x6e\x75\x6c\x6c\x2c\x65\x3d\x6e\x2e\x74\x72\x69\ +\x6d\x28\x62\x2b\x22\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\ +\x26\x26\x21\x6e\x2e\x74\x72\x69\x6d\x28\x65\x2e\x72\x65\x70\x6c\ +\x61\x63\x65\x28\x79\x63\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x2c\x62\x2c\x65\x2c\x66\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x63\x26\x26\x62\x26\x26\x28\x64\x3d\x30\x29\x2c\x30\x3d\x3d\x3d\ +\x64\x3f\x61\x3a\x28\x63\x3d\x65\x7c\x7c\x62\x2c\x64\x2b\x3d\x21\ +\x66\x2d\x21\x65\x2c\x22\x22\x29\x7d\x29\x29\x3f\x46\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x22\x72\x65\x74\x75\x72\x6e\x20\x22\x2b\x65\ +\x29\x28\x29\x3a\x6e\x2e\x65\x72\x72\x6f\x72\x28\x22\x49\x6e\x76\ +\x61\x6c\x69\x64\x20\x4a\x53\x4f\x4e\x3a\x20\x22\x2b\x62\x29\x7d\ +\x2c\x6e\x2e\x70\x61\x72\x73\x65\x58\x4d\x4c\x3d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3b\ +\x69\x66\x28\x21\x62\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\x22\x21\ +\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x29\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x75\x6c\x6c\x3b\x74\x72\x79\x7b\x61\x2e\x44\x4f\x4d\x50\ +\x61\x72\x73\x65\x72\x3f\x28\x64\x3d\x6e\x65\x77\x20\x44\x4f\x4d\ +\x50\x61\x72\x73\x65\x72\x2c\x63\x3d\x64\x2e\x70\x61\x72\x73\x65\ +\x46\x72\x6f\x6d\x53\x74\x72\x69\x6e\x67\x28\x62\x2c\x22\x74\x65\ +\x78\x74\x2f\x78\x6d\x6c\x22\x29\x29\x3a\x28\x63\x3d\x6e\x65\x77\ +\x20\x41\x63\x74\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x28\x22\ +\x4d\x69\x63\x72\x6f\x73\x6f\x66\x74\x2e\x58\x4d\x4c\x44\x4f\x4d\ +\x22\x29\x2c\x63\x2e\x61\x73\x79\x6e\x63\x3d\x22\x66\x61\x6c\x73\ +\x65\x22\x2c\x63\x2e\x6c\x6f\x61\x64\x58\x4d\x4c\x28\x62\x29\x29\ +\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x63\x3d\x76\x6f\x69\x64\ +\x20\x30\x7d\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\x63\x2e\x64\ +\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x26\x26\ +\x21\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ +\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x70\x61\x72\x73\x65\x72\x65\ +\x72\x72\x6f\x72\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x6e\ +\x2e\x65\x72\x72\x6f\x72\x28\x22\x49\x6e\x76\x61\x6c\x69\x64\x20\ +\x58\x4d\x4c\x3a\x20\x22\x2b\x62\x29\x2c\x63\x7d\x3b\x76\x61\x72\ +\x20\x7a\x63\x2c\x41\x63\x2c\x42\x63\x3d\x2f\x23\x2e\x2a\x24\x2f\ +\x2c\x43\x63\x3d\x2f\x28\x5b\x3f\x26\x5d\x29\x5f\x3d\x5b\x5e\x26\ +\x5d\x2a\x2f\x2c\x44\x63\x3d\x2f\x5e\x28\x2e\x2a\x3f\x29\x3a\x5b\ +\x20\x5c\x74\x5d\x2a\x28\x5b\x5e\x5c\x72\x5c\x6e\x5d\x2a\x29\x5c\ +\x72\x3f\x24\x2f\x67\x6d\x2c\x45\x63\x3d\x2f\x5e\x28\x3f\x3a\x61\ +\x62\x6f\x75\x74\x7c\x61\x70\x70\x7c\x61\x70\x70\x2d\x73\x74\x6f\ +\x72\x61\x67\x65\x7c\x2e\x2b\x2d\x65\x78\x74\x65\x6e\x73\x69\x6f\ +\x6e\x7c\x66\x69\x6c\x65\x7c\x72\x65\x73\x7c\x77\x69\x64\x67\x65\ +\x74\x29\x3a\x24\x2f\x2c\x46\x63\x3d\x2f\x5e\x28\x3f\x3a\x47\x45\ +\x54\x7c\x48\x45\x41\x44\x29\x24\x2f\x2c\x47\x63\x3d\x2f\x5e\x5c\ +\x2f\x5c\x2f\x2f\x2c\x48\x63\x3d\x2f\x5e\x28\x5b\x5c\x77\x2e\x2b\ +\x2d\x5d\x2b\x3a\x29\x28\x3f\x3a\x5c\x2f\x5c\x2f\x28\x3f\x3a\x5b\ +\x5e\x5c\x2f\x3f\x23\x5d\x2a\x40\x7c\x29\x28\x5b\x5e\x5c\x2f\x3f\ +\x23\x3a\x5d\x2a\x29\x28\x3f\x3a\x3a\x28\x5c\x64\x2b\x29\x7c\x29\ +\x7c\x29\x2f\x2c\x49\x63\x3d\x7b\x7d\x2c\x4a\x63\x3d\x7b\x7d\x2c\ +\x4b\x63\x3d\x22\x2a\x2f\x22\x2e\x63\x6f\x6e\x63\x61\x74\x28\x22\ +\x2a\x22\x29\x3b\x74\x72\x79\x7b\x41\x63\x3d\x6c\x6f\x63\x61\x74\ +\x69\x6f\x6e\x2e\x68\x72\x65\x66\x7d\x63\x61\x74\x63\x68\x28\x4c\ +\x63\x29\x7b\x41\x63\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\ +\x65\x6d\x65\x6e\x74\x28\x22\x61\x22\x29\x2c\x41\x63\x2e\x68\x72\ +\x65\x66\x3d\x22\x22\x2c\x41\x63\x3d\x41\x63\x2e\x68\x72\x65\x66\ +\x7d\x7a\x63\x3d\x48\x63\x2e\x65\x78\x65\x63\x28\x41\x63\x2e\x74\ +\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x29\x7c\x7c\x5b\ +\x5d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x4d\x63\x28\x61\x29\ +\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x62\x2c\x63\x29\x7b\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\ +\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\x28\x63\x3d\x62\x2c\x62\ +\x3d\x22\x2a\x22\x29\x3b\x76\x61\x72\x20\x64\x2c\x65\x3d\x30\x2c\ +\x66\x3d\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ +\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\x3b\x69\ +\x66\x28\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\ +\x29\x29\x77\x68\x69\x6c\x65\x28\x64\x3d\x66\x5b\x65\x2b\x2b\x5d\ +\x29\x22\x2b\x22\x3d\x3d\x3d\x64\x2e\x63\x68\x61\x72\x41\x74\x28\ +\x30\x29\x3f\x28\x64\x3d\x64\x2e\x73\x6c\x69\x63\x65\x28\x31\x29\ +\x7c\x7c\x22\x2a\x22\x2c\x28\x61\x5b\x64\x5d\x3d\x61\x5b\x64\x5d\ +\x7c\x7c\x5b\x5d\x29\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x63\x29\ +\x29\x3a\x28\x61\x5b\x64\x5d\x3d\x61\x5b\x64\x5d\x7c\x7c\x5b\x5d\ +\x29\x2e\x70\x75\x73\x68\x28\x63\x29\x7d\x7d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x20\x4e\x63\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\ +\x76\x61\x72\x20\x65\x3d\x7b\x7d\x2c\x66\x3d\x61\x3d\x3d\x3d\x4a\ +\x63\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\x28\x68\x29\x7b\ +\x76\x61\x72\x20\x69\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x5b\x68\ +\x5d\x3d\x21\x30\x2c\x6e\x2e\x65\x61\x63\x68\x28\x61\x5b\x68\x5d\ +\x7c\x7c\x5b\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ +\x68\x29\x7b\x76\x61\x72\x20\x6a\x3d\x68\x28\x62\x2c\x63\x2c\x64\ +\x29\x3b\x72\x65\x74\x75\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\ +\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x6a\x7c\x7c\x66\x7c\x7c\x65\ +\x5b\x6a\x5d\x3f\x66\x3f\x21\x28\x69\x3d\x6a\x29\x3a\x76\x6f\x69\ +\x64\x20\x30\x3a\x28\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\ +\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x6a\x29\x2c\x67\x28\x6a\x29\ +\x2c\x21\x31\x29\x7d\x29\x2c\x69\x7d\x72\x65\x74\x75\x72\x6e\x20\ +\x67\x28\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\x5d\ +\x29\x7c\x7c\x21\x65\x5b\x22\x2a\x22\x5d\x26\x26\x67\x28\x22\x2a\ +\x22\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x4f\x63\x28\x61\ +\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x3d\x6e\x2e\ +\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x2e\x66\x6c\x61\ +\x74\x4f\x70\x74\x69\x6f\x6e\x73\x7c\x7c\x7b\x7d\x3b\x66\x6f\x72\ +\x28\x64\x20\x69\x6e\x20\x62\x29\x76\x6f\x69\x64\x20\x30\x21\x3d\ +\x3d\x62\x5b\x64\x5d\x26\x26\x28\x28\x65\x5b\x64\x5d\x3f\x61\x3a\ +\x63\x7c\x7c\x28\x63\x3d\x7b\x7d\x29\x29\x5b\x64\x5d\x3d\x62\x5b\ +\x64\x5d\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\x6e\x2e\ +\x65\x78\x74\x65\x6e\x64\x28\x21\x30\x2c\x61\x2c\x63\x29\x2c\x61\ +\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x50\x63\x28\x61\x2c\x62\ +\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\ +\x68\x3d\x61\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x73\x2c\x69\x3d\x61\ +\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x3b\x77\x68\x69\x6c\x65\ +\x28\x22\x2a\x22\x3d\x3d\x3d\x69\x5b\x30\x5d\x29\x69\x2e\x73\x68\ +\x69\x66\x74\x28\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x65\ +\x26\x26\x28\x65\x3d\x61\x2e\x6d\x69\x6d\x65\x54\x79\x70\x65\x7c\ +\x7c\x62\x2e\x67\x65\x74\x52\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\ +\x61\x64\x65\x72\x28\x22\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\ +\x70\x65\x22\x29\x29\x3b\x69\x66\x28\x65\x29\x66\x6f\x72\x28\x67\ +\x20\x69\x6e\x20\x68\x29\x69\x66\x28\x68\x5b\x67\x5d\x26\x26\x68\ +\x5b\x67\x5d\x2e\x74\x65\x73\x74\x28\x65\x29\x29\x7b\x69\x2e\x75\ +\x6e\x73\x68\x69\x66\x74\x28\x67\x29\x3b\x62\x72\x65\x61\x6b\x7d\ +\x69\x66\x28\x69\x5b\x30\x5d\x69\x6e\x20\x63\x29\x66\x3d\x69\x5b\ +\x30\x5d\x3b\x65\x6c\x73\x65\x7b\x66\x6f\x72\x28\x67\x20\x69\x6e\ +\x20\x63\x29\x7b\x69\x66\x28\x21\x69\x5b\x30\x5d\x7c\x7c\x61\x2e\ +\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x5b\x67\x2b\x22\x20\x22\ +\x2b\x69\x5b\x30\x5d\x5d\x29\x7b\x66\x3d\x67\x3b\x62\x72\x65\x61\ +\x6b\x7d\x64\x7c\x7c\x28\x64\x3d\x67\x29\x7d\x66\x3d\x66\x7c\x7c\ +\x64\x7d\x72\x65\x74\x75\x72\x6e\x20\x66\x3f\x28\x66\x21\x3d\x3d\ +\x69\x5b\x30\x5d\x26\x26\x69\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\ +\x66\x29\x2c\x63\x5b\x66\x5d\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x51\x63\x28\x61\x2c\x62\x2c\ +\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\x2c\x68\ +\x2c\x69\x2c\x6a\x3d\x7b\x7d\x2c\x6b\x3d\x61\x2e\x64\x61\x74\x61\ +\x54\x79\x70\x65\x73\x2e\x73\x6c\x69\x63\x65\x28\x29\x3b\x69\x66\ +\x28\x6b\x5b\x31\x5d\x29\x66\x6f\x72\x28\x67\x20\x69\x6e\x20\x61\ +\x2e\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x29\x6a\x5b\x67\x2e\ +\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x3d\x61\ +\x2e\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x5b\x67\x5d\x3b\x66\ +\x3d\x6b\x2e\x73\x68\x69\x66\x74\x28\x29\x3b\x77\x68\x69\x6c\x65\ +\x28\x66\x29\x69\x66\x28\x61\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\ +\x46\x69\x65\x6c\x64\x73\x5b\x66\x5d\x26\x26\x28\x63\x5b\x61\x2e\ +\x72\x65\x73\x70\x6f\x6e\x73\x65\x46\x69\x65\x6c\x64\x73\x5b\x66\ +\x5d\x5d\x3d\x62\x29\x2c\x21\x69\x26\x26\x64\x26\x26\x61\x2e\x64\ +\x61\x74\x61\x46\x69\x6c\x74\x65\x72\x26\x26\x28\x62\x3d\x61\x2e\ +\x64\x61\x74\x61\x46\x69\x6c\x74\x65\x72\x28\x62\x2c\x61\x2e\x64\ +\x61\x74\x61\x54\x79\x70\x65\x29\x29\x2c\x69\x3d\x66\x2c\x66\x3d\ +\x6b\x2e\x73\x68\x69\x66\x74\x28\x29\x29\x69\x66\x28\x22\x2a\x22\ +\x3d\x3d\x3d\x66\x29\x66\x3d\x69\x3b\x65\x6c\x73\x65\x20\x69\x66\ +\x28\x22\x2a\x22\x21\x3d\x3d\x69\x26\x26\x69\x21\x3d\x3d\x66\x29\ +\x7b\x69\x66\x28\x67\x3d\x6a\x5b\x69\x2b\x22\x20\x22\x2b\x66\x5d\ +\x7c\x7c\x6a\x5b\x22\x2a\x20\x22\x2b\x66\x5d\x2c\x21\x67\x29\x66\ +\x6f\x72\x28\x65\x20\x69\x6e\x20\x6a\x29\x69\x66\x28\x68\x3d\x65\ +\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x68\x5b\x31\x5d\ +\x3d\x3d\x3d\x66\x26\x26\x28\x67\x3d\x6a\x5b\x69\x2b\x22\x20\x22\ +\x2b\x68\x5b\x30\x5d\x5d\x7c\x7c\x6a\x5b\x22\x2a\x20\x22\x2b\x68\ +\x5b\x30\x5d\x5d\x29\x29\x7b\x67\x3d\x3d\x3d\x21\x30\x3f\x67\x3d\ +\x6a\x5b\x65\x5d\x3a\x6a\x5b\x65\x5d\x21\x3d\x3d\x21\x30\x26\x26\ +\x28\x66\x3d\x68\x5b\x30\x5d\x2c\x6b\x2e\x75\x6e\x73\x68\x69\x66\ +\x74\x28\x68\x5b\x31\x5d\x29\x29\x3b\x62\x72\x65\x61\x6b\x7d\x69\ +\x66\x28\x67\x21\x3d\x3d\x21\x30\x29\x69\x66\x28\x67\x26\x26\x61\ +\x5b\x22\x74\x68\x72\x6f\x77\x73\x22\x5d\x29\x62\x3d\x67\x28\x62\ +\x29\x3b\x65\x6c\x73\x65\x20\x74\x72\x79\x7b\x62\x3d\x67\x28\x62\ +\x29\x7d\x63\x61\x74\x63\x68\x28\x6c\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x7b\x73\x74\x61\x74\x65\x3a\x22\x70\x61\x72\x73\x65\x72\x65\ +\x72\x72\x6f\x72\x22\x2c\x65\x72\x72\x6f\x72\x3a\x67\x3f\x6c\x3a\ +\x22\x4e\x6f\x20\x63\x6f\x6e\x76\x65\x72\x73\x69\x6f\x6e\x20\x66\ +\x72\x6f\x6d\x20\x22\x2b\x69\x2b\x22\x20\x74\x6f\x20\x22\x2b\x66\ +\x7d\x7d\x7d\x72\x65\x74\x75\x72\x6e\x7b\x73\x74\x61\x74\x65\x3a\ +\x22\x73\x75\x63\x63\x65\x73\x73\x22\x2c\x64\x61\x74\x61\x3a\x62\ +\x7d\x7d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x61\x63\x74\x69\ +\x76\x65\x3a\x30\x2c\x6c\x61\x73\x74\x4d\x6f\x64\x69\x66\x69\x65\ +\x64\x3a\x7b\x7d\x2c\x65\x74\x61\x67\x3a\x7b\x7d\x2c\x61\x6a\x61\ +\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x3a\x7b\x75\x72\x6c\x3a\x41\ +\x63\x2c\x74\x79\x70\x65\x3a\x22\x47\x45\x54\x22\x2c\x69\x73\x4c\ +\x6f\x63\x61\x6c\x3a\x45\x63\x2e\x74\x65\x73\x74\x28\x7a\x63\x5b\ +\x31\x5d\x29\x2c\x67\x6c\x6f\x62\x61\x6c\x3a\x21\x30\x2c\x70\x72\ +\x6f\x63\x65\x73\x73\x44\x61\x74\x61\x3a\x21\x30\x2c\x61\x73\x79\ +\x6e\x63\x3a\x21\x30\x2c\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\x70\ +\x65\x3a\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\ +\x2d\x77\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\ +\x6f\x64\x65\x64\x3b\x20\x63\x68\x61\x72\x73\x65\x74\x3d\x55\x54\ +\x46\x2d\x38\x22\x2c\x61\x63\x63\x65\x70\x74\x73\x3a\x7b\x22\x2a\ +\x22\x3a\x4b\x63\x2c\x74\x65\x78\x74\x3a\x22\x74\x65\x78\x74\x2f\ +\x70\x6c\x61\x69\x6e\x22\x2c\x68\x74\x6d\x6c\x3a\x22\x74\x65\x78\ +\x74\x2f\x68\x74\x6d\x6c\x22\x2c\x78\x6d\x6c\x3a\x22\x61\x70\x70\ +\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x6d\x6c\x2c\x20\x74\x65\ +\x78\x74\x2f\x78\x6d\x6c\x22\x2c\x6a\x73\x6f\x6e\x3a\x22\x61\x70\ +\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e\x2c\x20\ +\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\ +\x7d\x2c\x63\x6f\x6e\x74\x65\x6e\x74\x73\x3a\x7b\x78\x6d\x6c\x3a\ +\x2f\x78\x6d\x6c\x2f\x2c\x68\x74\x6d\x6c\x3a\x2f\x68\x74\x6d\x6c\ +\x2f\x2c\x6a\x73\x6f\x6e\x3a\x2f\x6a\x73\x6f\x6e\x2f\x7d\x2c\x72\ +\x65\x73\x70\x6f\x6e\x73\x65\x46\x69\x65\x6c\x64\x73\x3a\x7b\x78\ +\x6d\x6c\x3a\x22\x72\x65\x73\x70\x6f\x6e\x73\x65\x58\x4d\x4c\x22\ +\x2c\x74\x65\x78\x74\x3a\x22\x72\x65\x73\x70\x6f\x6e\x73\x65\x54\ +\x65\x78\x74\x22\x2c\x6a\x73\x6f\x6e\x3a\x22\x72\x65\x73\x70\x6f\ +\x6e\x73\x65\x4a\x53\x4f\x4e\x22\x7d\x2c\x63\x6f\x6e\x76\x65\x72\ +\x74\x65\x72\x73\x3a\x7b\x22\x2a\x20\x74\x65\x78\x74\x22\x3a\x53\ +\x74\x72\x69\x6e\x67\x2c\x22\x74\x65\x78\x74\x20\x68\x74\x6d\x6c\ +\x22\x3a\x21\x30\x2c\x22\x74\x65\x78\x74\x20\x6a\x73\x6f\x6e\x22\ +\x3a\x6e\x2e\x70\x61\x72\x73\x65\x4a\x53\x4f\x4e\x2c\x22\x74\x65\ +\x78\x74\x20\x78\x6d\x6c\x22\x3a\x6e\x2e\x70\x61\x72\x73\x65\x58\ +\x4d\x4c\x7d\x2c\x66\x6c\x61\x74\x4f\x70\x74\x69\x6f\x6e\x73\x3a\ +\x7b\x75\x72\x6c\x3a\x21\x30\x2c\x63\x6f\x6e\x74\x65\x78\x74\x3a\ +\x21\x30\x7d\x7d\x2c\x61\x6a\x61\x78\x53\x65\x74\x75\x70\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x62\x3f\x4f\x63\x28\x4f\x63\x28\x61\x2c\x6e\x2e\ +\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x29\x2c\x62\x29\ +\x3a\x4f\x63\x28\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\ +\x67\x73\x2c\x61\x29\x7d\x2c\x61\x6a\x61\x78\x50\x72\x65\x66\x69\ +\x6c\x74\x65\x72\x3a\x4d\x63\x28\x49\x63\x29\x2c\x61\x6a\x61\x78\ +\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\x3a\x4d\x63\x28\x4a\x63\x29\ +\x2c\x61\x6a\x61\x78\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\ +\x70\x65\x6f\x66\x20\x61\x26\x26\x28\x62\x3d\x61\x2c\x61\x3d\x76\ +\x6f\x69\x64\x20\x30\x29\x2c\x62\x3d\x62\x7c\x7c\x7b\x7d\x3b\x76\ +\x61\x72\x20\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\ +\x2c\x6a\x2c\x6b\x3d\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\x75\x70\ +\x28\x7b\x7d\x2c\x62\x29\x2c\x6c\x3d\x6b\x2e\x63\x6f\x6e\x74\x65\ +\x78\x74\x7c\x7c\x6b\x2c\x6d\x3d\x6b\x2e\x63\x6f\x6e\x74\x65\x78\ +\x74\x26\x26\x28\x6c\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\ +\x6c\x2e\x6a\x71\x75\x65\x72\x79\x29\x3f\x6e\x28\x6c\x29\x3a\x6e\ +\x2e\x65\x76\x65\x6e\x74\x2c\x6f\x3d\x6e\x2e\x44\x65\x66\x65\x72\ +\x72\x65\x64\x28\x29\x2c\x70\x3d\x6e\x2e\x43\x61\x6c\x6c\x62\x61\ +\x63\x6b\x73\x28\x22\x6f\x6e\x63\x65\x20\x6d\x65\x6d\x6f\x72\x79\ +\x22\x29\x2c\x71\x3d\x6b\x2e\x73\x74\x61\x74\x75\x73\x43\x6f\x64\ +\x65\x7c\x7c\x7b\x7d\x2c\x72\x3d\x7b\x7d\x2c\x73\x3d\x7b\x7d\x2c\ +\x74\x3d\x30\x2c\x75\x3d\x22\x63\x61\x6e\x63\x65\x6c\x65\x64\x22\ +\x2c\x76\x3d\x7b\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x3a\x30\ +\x2c\x67\x65\x74\x52\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\ +\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ +\x61\x72\x20\x62\x3b\x69\x66\x28\x32\x3d\x3d\x3d\x74\x29\x7b\x69\ +\x66\x28\x21\x6a\x29\x7b\x6a\x3d\x7b\x7d\x3b\x77\x68\x69\x6c\x65\ +\x28\x62\x3d\x44\x63\x2e\x65\x78\x65\x63\x28\x66\x29\x29\x6a\x5b\ +\x62\x5b\x31\x5d\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\ +\x28\x29\x5d\x3d\x62\x5b\x32\x5d\x7d\x62\x3d\x6a\x5b\x61\x2e\x74\ +\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x7d\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x62\x3f\x6e\x75\x6c\ +\x6c\x3a\x62\x7d\x2c\x67\x65\x74\x41\x6c\x6c\x52\x65\x73\x70\x6f\ +\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x32\x3d\x3d\ +\x3d\x74\x3f\x66\x3a\x6e\x75\x6c\x6c\x7d\x2c\x73\x65\x74\x52\x65\ +\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\ +\x61\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x74\x7c\x7c\x28\x61\x3d\x73\x5b\x63\ +\x5d\x3d\x73\x5b\x63\x5d\x7c\x7c\x61\x2c\x72\x5b\x61\x5d\x3d\x62\ +\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6f\x76\x65\x72\x72\x69\x64\x65\ +\x4d\x69\x6d\x65\x54\x79\x70\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x7c\x7c\x28\ +\x6b\x2e\x6d\x69\x6d\x65\x54\x79\x70\x65\x3d\x61\x29\x2c\x74\x68\ +\x69\x73\x7d\x2c\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ +\x3b\x69\x66\x28\x61\x29\x69\x66\x28\x32\x3e\x74\x29\x66\x6f\x72\ +\x28\x62\x20\x69\x6e\x20\x61\x29\x71\x5b\x62\x5d\x3d\x5b\x71\x5b\ +\x62\x5d\x2c\x61\x5b\x62\x5d\x5d\x3b\x65\x6c\x73\x65\x20\x76\x2e\ +\x61\x6c\x77\x61\x79\x73\x28\x61\x5b\x76\x2e\x73\x74\x61\x74\x75\ +\x73\x5d\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\ +\x2c\x61\x62\x6f\x72\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x7c\x7c\x75\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x69\x26\x26\x69\x2e\x61\x62\x6f\x72\x74\x28\ +\x62\x29\x2c\x78\x28\x30\x2c\x62\x29\x2c\x74\x68\x69\x73\x7d\x7d\ +\x3b\x69\x66\x28\x6f\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x76\x29\ +\x2e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x3d\x70\x2e\x61\x64\x64\x2c\ +\x76\x2e\x73\x75\x63\x63\x65\x73\x73\x3d\x76\x2e\x64\x6f\x6e\x65\ +\x2c\x76\x2e\x65\x72\x72\x6f\x72\x3d\x76\x2e\x66\x61\x69\x6c\x2c\ +\x6b\x2e\x75\x72\x6c\x3d\x28\x28\x61\x7c\x7c\x6b\x2e\x75\x72\x6c\ +\x7c\x7c\x41\x63\x29\x2b\x22\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\ +\x65\x28\x42\x63\x2c\x22\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\ +\x28\x47\x63\x2c\x7a\x63\x5b\x31\x5d\x2b\x22\x2f\x2f\x22\x29\x2c\ +\x6b\x2e\x74\x79\x70\x65\x3d\x62\x2e\x6d\x65\x74\x68\x6f\x64\x7c\ +\x7c\x62\x2e\x74\x79\x70\x65\x7c\x7c\x6b\x2e\x6d\x65\x74\x68\x6f\ +\x64\x7c\x7c\x6b\x2e\x74\x79\x70\x65\x2c\x6b\x2e\x64\x61\x74\x61\ +\x54\x79\x70\x65\x73\x3d\x6e\x2e\x74\x72\x69\x6d\x28\x6b\x2e\x64\ +\x61\x74\x61\x54\x79\x70\x65\x7c\x7c\x22\x2a\x22\x29\x2e\x74\x6f\ +\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x2e\x6d\x61\x74\x63\ +\x68\x28\x46\x29\x7c\x7c\x5b\x22\x22\x5d\x2c\x6e\x75\x6c\x6c\x3d\ +\x3d\x6b\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x26\x26\ +\x28\x63\x3d\x48\x63\x2e\x65\x78\x65\x63\x28\x6b\x2e\x75\x72\x6c\ +\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x29\x2c\ +\x6b\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x3d\x21\x28\ +\x21\x63\x7c\x7c\x63\x5b\x31\x5d\x3d\x3d\x3d\x7a\x63\x5b\x31\x5d\ +\x26\x26\x63\x5b\x32\x5d\x3d\x3d\x3d\x7a\x63\x5b\x32\x5d\x26\x26\ +\x28\x63\x5b\x33\x5d\x7c\x7c\x28\x22\x68\x74\x74\x70\x3a\x22\x3d\ +\x3d\x3d\x63\x5b\x31\x5d\x3f\x22\x38\x30\x22\x3a\x22\x34\x34\x33\ +\x22\x29\x29\x3d\x3d\x3d\x28\x7a\x63\x5b\x33\x5d\x7c\x7c\x28\x22\ +\x68\x74\x74\x70\x3a\x22\x3d\x3d\x3d\x7a\x63\x5b\x31\x5d\x3f\x22\ +\x38\x30\x22\x3a\x22\x34\x34\x33\x22\x29\x29\x29\x29\x2c\x6b\x2e\ +\x64\x61\x74\x61\x26\x26\x6b\x2e\x70\x72\x6f\x63\x65\x73\x73\x44\ +\x61\x74\x61\x26\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\ +\x79\x70\x65\x6f\x66\x20\x6b\x2e\x64\x61\x74\x61\x26\x26\x28\x6b\ +\x2e\x64\x61\x74\x61\x3d\x6e\x2e\x70\x61\x72\x61\x6d\x28\x6b\x2e\ +\x64\x61\x74\x61\x2c\x6b\x2e\x74\x72\x61\x64\x69\x74\x69\x6f\x6e\ +\x61\x6c\x29\x29\x2c\x4e\x63\x28\x49\x63\x2c\x6b\x2c\x62\x2c\x76\ +\x29\x2c\x32\x3d\x3d\x3d\x74\x29\x72\x65\x74\x75\x72\x6e\x20\x76\ +\x3b\x68\x3d\x6b\x2e\x67\x6c\x6f\x62\x61\x6c\x2c\x68\x26\x26\x30\ +\x3d\x3d\x3d\x6e\x2e\x61\x63\x74\x69\x76\x65\x2b\x2b\x26\x26\x6e\ +\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x22\ +\x61\x6a\x61\x78\x53\x74\x61\x72\x74\x22\x29\x2c\x6b\x2e\x74\x79\ +\x70\x65\x3d\x6b\x2e\x74\x79\x70\x65\x2e\x74\x6f\x55\x70\x70\x65\ +\x72\x43\x61\x73\x65\x28\x29\x2c\x6b\x2e\x68\x61\x73\x43\x6f\x6e\ +\x74\x65\x6e\x74\x3d\x21\x46\x63\x2e\x74\x65\x73\x74\x28\x6b\x2e\ +\x74\x79\x70\x65\x29\x2c\x65\x3d\x6b\x2e\x75\x72\x6c\x2c\x6b\x2e\ +\x68\x61\x73\x43\x6f\x6e\x74\x65\x6e\x74\x7c\x7c\x28\x6b\x2e\x64\ +\x61\x74\x61\x26\x26\x28\x65\x3d\x6b\x2e\x75\x72\x6c\x2b\x3d\x28\ +\x78\x63\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x22\x26\x22\x3a\x22\ +\x3f\x22\x29\x2b\x6b\x2e\x64\x61\x74\x61\x2c\x64\x65\x6c\x65\x74\ +\x65\x20\x6b\x2e\x64\x61\x74\x61\x29\x2c\x6b\x2e\x63\x61\x63\x68\ +\x65\x3d\x3d\x3d\x21\x31\x26\x26\x28\x6b\x2e\x75\x72\x6c\x3d\x43\ +\x63\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x65\x2e\x72\x65\x70\x6c\ +\x61\x63\x65\x28\x43\x63\x2c\x22\x24\x31\x5f\x3d\x22\x2b\x77\x63\ +\x2b\x2b\x29\x3a\x65\x2b\x28\x78\x63\x2e\x74\x65\x73\x74\x28\x65\ +\x29\x3f\x22\x26\x22\x3a\x22\x3f\x22\x29\x2b\x22\x5f\x3d\x22\x2b\ +\x77\x63\x2b\x2b\x29\x29\x2c\x6b\x2e\x69\x66\x4d\x6f\x64\x69\x66\ +\x69\x65\x64\x26\x26\x28\x6e\x2e\x6c\x61\x73\x74\x4d\x6f\x64\x69\ +\x66\x69\x65\x64\x5b\x65\x5d\x26\x26\x76\x2e\x73\x65\x74\x52\x65\ +\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x22\x49\x66\x2d\ +\x4d\x6f\x64\x69\x66\x69\x65\x64\x2d\x53\x69\x6e\x63\x65\x22\x2c\ +\x6e\x2e\x6c\x61\x73\x74\x4d\x6f\x64\x69\x66\x69\x65\x64\x5b\x65\ +\x5d\x29\x2c\x6e\x2e\x65\x74\x61\x67\x5b\x65\x5d\x26\x26\x76\x2e\ +\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\ +\x28\x22\x49\x66\x2d\x4e\x6f\x6e\x65\x2d\x4d\x61\x74\x63\x68\x22\ +\x2c\x6e\x2e\x65\x74\x61\x67\x5b\x65\x5d\x29\x29\x2c\x28\x6b\x2e\ +\x64\x61\x74\x61\x26\x26\x6b\x2e\x68\x61\x73\x43\x6f\x6e\x74\x65\ +\x6e\x74\x26\x26\x6b\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\x70\ +\x65\x21\x3d\x3d\x21\x31\x7c\x7c\x62\x2e\x63\x6f\x6e\x74\x65\x6e\ +\x74\x54\x79\x70\x65\x29\x26\x26\x76\x2e\x73\x65\x74\x52\x65\x71\ +\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x22\x43\x6f\x6e\x74\ +\x65\x6e\x74\x2d\x54\x79\x70\x65\x22\x2c\x6b\x2e\x63\x6f\x6e\x74\ +\x65\x6e\x74\x54\x79\x70\x65\x29\x2c\x76\x2e\x73\x65\x74\x52\x65\ +\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x22\x41\x63\x63\ +\x65\x70\x74\x22\x2c\x6b\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\ +\x5b\x30\x5d\x26\x26\x6b\x2e\x61\x63\x63\x65\x70\x74\x73\x5b\x6b\ +\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\x5d\x5d\x3f\x6b\ +\x2e\x61\x63\x63\x65\x70\x74\x73\x5b\x6b\x2e\x64\x61\x74\x61\x54\ +\x79\x70\x65\x73\x5b\x30\x5d\x5d\x2b\x28\x22\x2a\x22\x21\x3d\x3d\ +\x6b\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\x5d\x3f\x22\ +\x2c\x20\x22\x2b\x4b\x63\x2b\x22\x3b\x20\x71\x3d\x30\x2e\x30\x31\ +\x22\x3a\x22\x22\x29\x3a\x6b\x2e\x61\x63\x63\x65\x70\x74\x73\x5b\ +\x22\x2a\x22\x5d\x29\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x6b\ +\x2e\x68\x65\x61\x64\x65\x72\x73\x29\x76\x2e\x73\x65\x74\x52\x65\ +\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x64\x2c\x6b\x2e\ +\x68\x65\x61\x64\x65\x72\x73\x5b\x64\x5d\x29\x3b\x69\x66\x28\x6b\ +\x2e\x62\x65\x66\x6f\x72\x65\x53\x65\x6e\x64\x26\x26\x28\x6b\x2e\ +\x62\x65\x66\x6f\x72\x65\x53\x65\x6e\x64\x2e\x63\x61\x6c\x6c\x28\ +\x6c\x2c\x76\x2c\x6b\x29\x3d\x3d\x3d\x21\x31\x7c\x7c\x32\x3d\x3d\ +\x3d\x74\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x76\x2e\x61\x62\x6f\ +\x72\x74\x28\x29\x3b\x75\x3d\x22\x61\x62\x6f\x72\x74\x22\x3b\x66\ +\x6f\x72\x28\x64\x20\x69\x6e\x7b\x73\x75\x63\x63\x65\x73\x73\x3a\ +\x31\x2c\x65\x72\x72\x6f\x72\x3a\x31\x2c\x63\x6f\x6d\x70\x6c\x65\ +\x74\x65\x3a\x31\x7d\x29\x76\x5b\x64\x5d\x28\x6b\x5b\x64\x5d\x29\ +\x3b\x69\x66\x28\x69\x3d\x4e\x63\x28\x4a\x63\x2c\x6b\x2c\x62\x2c\ +\x76\x29\x29\x7b\x76\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\ +\x3d\x31\x2c\x68\x26\x26\x6d\x2e\x74\x72\x69\x67\x67\x65\x72\x28\ +\x22\x61\x6a\x61\x78\x53\x65\x6e\x64\x22\x2c\x5b\x76\x2c\x6b\x5d\ +\x29\x2c\x6b\x2e\x61\x73\x79\x6e\x63\x26\x26\x6b\x2e\x74\x69\x6d\ +\x65\x6f\x75\x74\x3e\x30\x26\x26\x28\x67\x3d\x73\x65\x74\x54\x69\ +\x6d\x65\x6f\x75\x74\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x76\x2e\x61\x62\x6f\x72\x74\x28\x22\x74\x69\x6d\x65\x6f\x75\ +\x74\x22\x29\x7d\x2c\x6b\x2e\x74\x69\x6d\x65\x6f\x75\x74\x29\x29\ +\x3b\x74\x72\x79\x7b\x74\x3d\x31\x2c\x69\x2e\x73\x65\x6e\x64\x28\ +\x72\x2c\x78\x29\x7d\x63\x61\x74\x63\x68\x28\x77\x29\x7b\x69\x66\ +\x28\x21\x28\x32\x3e\x74\x29\x29\x74\x68\x72\x6f\x77\x20\x77\x3b\ +\x78\x28\x2d\x31\x2c\x77\x29\x7d\x7d\x65\x6c\x73\x65\x20\x78\x28\ +\x2d\x31\x2c\x22\x4e\x6f\x20\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\ +\x22\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x78\x28\x61\x2c\ +\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x6a\x2c\x72\x2c\x73\ +\x2c\x75\x2c\x77\x2c\x78\x3d\x62\x3b\x32\x21\x3d\x3d\x74\x26\x26\ +\x28\x74\x3d\x32\x2c\x67\x26\x26\x63\x6c\x65\x61\x72\x54\x69\x6d\ +\x65\x6f\x75\x74\x28\x67\x29\x2c\x69\x3d\x76\x6f\x69\x64\x20\x30\ +\x2c\x66\x3d\x64\x7c\x7c\x22\x22\x2c\x76\x2e\x72\x65\x61\x64\x79\ +\x53\x74\x61\x74\x65\x3d\x61\x3e\x30\x3f\x34\x3a\x30\x2c\x6a\x3d\ +\x61\x3e\x3d\x32\x30\x30\x26\x26\x33\x30\x30\x3e\x61\x7c\x7c\x33\ +\x30\x34\x3d\x3d\x3d\x61\x2c\x63\x26\x26\x28\x75\x3d\x50\x63\x28\ +\x6b\x2c\x76\x2c\x63\x29\x29\x2c\x75\x3d\x51\x63\x28\x6b\x2c\x75\ +\x2c\x76\x2c\x6a\x29\x2c\x6a\x3f\x28\x6b\x2e\x69\x66\x4d\x6f\x64\ +\x69\x66\x69\x65\x64\x26\x26\x28\x77\x3d\x76\x2e\x67\x65\x74\x52\ +\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x28\x22\x4c\ +\x61\x73\x74\x2d\x4d\x6f\x64\x69\x66\x69\x65\x64\x22\x29\x2c\x77\ +\x26\x26\x28\x6e\x2e\x6c\x61\x73\x74\x4d\x6f\x64\x69\x66\x69\x65\ +\x64\x5b\x65\x5d\x3d\x77\x29\x2c\x77\x3d\x76\x2e\x67\x65\x74\x52\ +\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x28\x22\x65\ +\x74\x61\x67\x22\x29\x2c\x77\x26\x26\x28\x6e\x2e\x65\x74\x61\x67\ +\x5b\x65\x5d\x3d\x77\x29\x29\x2c\x32\x30\x34\x3d\x3d\x3d\x61\x7c\ +\x7c\x22\x48\x45\x41\x44\x22\x3d\x3d\x3d\x6b\x2e\x74\x79\x70\x65\ +\x3f\x78\x3d\x22\x6e\x6f\x63\x6f\x6e\x74\x65\x6e\x74\x22\x3a\x33\ +\x30\x34\x3d\x3d\x3d\x61\x3f\x78\x3d\x22\x6e\x6f\x74\x6d\x6f\x64\ +\x69\x66\x69\x65\x64\x22\x3a\x28\x78\x3d\x75\x2e\x73\x74\x61\x74\ +\x65\x2c\x72\x3d\x75\x2e\x64\x61\x74\x61\x2c\x73\x3d\x75\x2e\x65\ +\x72\x72\x6f\x72\x2c\x6a\x3d\x21\x73\x29\x29\x3a\x28\x73\x3d\x78\ +\x2c\x28\x61\x7c\x7c\x21\x78\x29\x26\x26\x28\x78\x3d\x22\x65\x72\ +\x72\x6f\x72\x22\x2c\x30\x3e\x61\x26\x26\x28\x61\x3d\x30\x29\x29\ +\x29\x2c\x76\x2e\x73\x74\x61\x74\x75\x73\x3d\x61\x2c\x76\x2e\x73\ +\x74\x61\x74\x75\x73\x54\x65\x78\x74\x3d\x28\x62\x7c\x7c\x78\x29\ +\x2b\x22\x22\x2c\x6a\x3f\x6f\x2e\x72\x65\x73\x6f\x6c\x76\x65\x57\ +\x69\x74\x68\x28\x6c\x2c\x5b\x72\x2c\x78\x2c\x76\x5d\x29\x3a\x6f\ +\x2e\x72\x65\x6a\x65\x63\x74\x57\x69\x74\x68\x28\x6c\x2c\x5b\x76\ +\x2c\x78\x2c\x73\x5d\x29\x2c\x76\x2e\x73\x74\x61\x74\x75\x73\x43\ +\x6f\x64\x65\x28\x71\x29\x2c\x71\x3d\x76\x6f\x69\x64\x20\x30\x2c\ +\x68\x26\x26\x6d\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x6a\x3f\x22\ +\x61\x6a\x61\x78\x53\x75\x63\x63\x65\x73\x73\x22\x3a\x22\x61\x6a\ +\x61\x78\x45\x72\x72\x6f\x72\x22\x2c\x5b\x76\x2c\x6b\x2c\x6a\x3f\ +\x72\x3a\x73\x5d\x29\x2c\x70\x2e\x66\x69\x72\x65\x57\x69\x74\x68\ +\x28\x6c\x2c\x5b\x76\x2c\x78\x5d\x29\x2c\x68\x26\x26\x28\x6d\x2e\ +\x74\x72\x69\x67\x67\x65\x72\x28\x22\x61\x6a\x61\x78\x43\x6f\x6d\ +\x70\x6c\x65\x74\x65\x22\x2c\x5b\x76\x2c\x6b\x5d\x29\x2c\x2d\x2d\ +\x6e\x2e\x61\x63\x74\x69\x76\x65\x7c\x7c\x6e\x2e\x65\x76\x65\x6e\ +\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x22\x61\x6a\x61\x78\x53\ +\x74\x6f\x70\x22\x29\x29\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x76\ +\x7d\x2c\x67\x65\x74\x4a\x53\x4f\x4e\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x6e\x2e\x67\x65\x74\x28\x61\x2c\x62\x2c\x63\x2c\x22\x6a\x73\ +\x6f\x6e\x22\x29\x7d\x2c\x67\x65\x74\x53\x63\x72\x69\x70\x74\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x2e\x67\x65\x74\x28\x61\x2c\x76\x6f\x69\ +\x64\x20\x30\x2c\x62\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\x7d\ +\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x67\x65\x74\x22\ +\x2c\x22\x70\x6f\x73\x74\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x5b\x62\x5d\x3d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x72\x65\ +\x74\x75\x72\x6e\x20\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x63\x29\x26\x26\x28\x65\x3d\x65\x7c\x7c\x64\x2c\x64\x3d\ +\x63\x2c\x63\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\x6e\x2e\x61\x6a\ +\x61\x78\x28\x7b\x75\x72\x6c\x3a\x61\x2c\x74\x79\x70\x65\x3a\x62\ +\x2c\x64\x61\x74\x61\x54\x79\x70\x65\x3a\x65\x2c\x64\x61\x74\x61\ +\x3a\x63\x2c\x73\x75\x63\x63\x65\x73\x73\x3a\x64\x7d\x29\x7d\x7d\ +\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x61\x6a\x61\x78\x53\ +\x74\x61\x72\x74\x22\x2c\x22\x61\x6a\x61\x78\x53\x74\x6f\x70\x22\ +\x2c\x22\x61\x6a\x61\x78\x43\x6f\x6d\x70\x6c\x65\x74\x65\x22\x2c\ +\x22\x61\x6a\x61\x78\x45\x72\x72\x6f\x72\x22\x2c\x22\x61\x6a\x61\ +\x78\x53\x75\x63\x63\x65\x73\x73\x22\x2c\x22\x61\x6a\x61\x78\x53\ +\x65\x6e\x64\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\x62\x5d\x3d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ +\x68\x69\x73\x2e\x6f\x6e\x28\x62\x2c\x61\x29\x7d\x7d\x29\x2c\x6e\ +\x2e\x5f\x65\x76\x61\x6c\x55\x72\x6c\x3d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x61\ +\x6a\x61\x78\x28\x7b\x75\x72\x6c\x3a\x61\x2c\x74\x79\x70\x65\x3a\ +\x22\x47\x45\x54\x22\x2c\x64\x61\x74\x61\x54\x79\x70\x65\x3a\x22\ +\x73\x63\x72\x69\x70\x74\x22\x2c\x61\x73\x79\x6e\x63\x3a\x21\x31\ +\x2c\x67\x6c\x6f\x62\x61\x6c\x3a\x21\x31\x2c\x22\x74\x68\x72\x6f\ +\x77\x73\x22\x3a\x21\x30\x7d\x29\x7d\x2c\x6e\x2e\x66\x6e\x2e\x65\ +\x78\x74\x65\x6e\x64\x28\x7b\x77\x72\x61\x70\x41\x6c\x6c\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x6e\x2e\ +\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x29\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x28\x74\x68\x69\ +\x73\x29\x2e\x77\x72\x61\x70\x41\x6c\x6c\x28\x61\x2e\x63\x61\x6c\ +\x6c\x28\x74\x68\x69\x73\x2c\x62\x29\x29\x7d\x29\x3b\x69\x66\x28\ +\x74\x68\x69\x73\x5b\x30\x5d\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\ +\x28\x61\x2c\x74\x68\x69\x73\x5b\x30\x5d\x2e\x6f\x77\x6e\x65\x72\ +\x44\x6f\x63\x75\x6d\x65\x6e\x74\x29\x2e\x65\x71\x28\x30\x29\x2e\ +\x63\x6c\x6f\x6e\x65\x28\x21\x30\x29\x3b\x74\x68\x69\x73\x5b\x30\ +\x5d\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\x62\x2e\ +\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\x28\x74\x68\x69\ +\x73\x5b\x30\x5d\x29\x2c\x62\x2e\x6d\x61\x70\x28\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\x69\ +\x73\x3b\x77\x68\x69\x6c\x65\x28\x61\x2e\x66\x69\x72\x73\x74\x43\ +\x68\x69\x6c\x64\x26\x26\x31\x3d\x3d\x3d\x61\x2e\x66\x69\x72\x73\ +\x74\x43\x68\x69\x6c\x64\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\ +\x61\x3d\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x61\x7d\x29\x2e\x61\x70\x70\x65\x6e\x64\ +\x28\x74\x68\x69\x73\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ +\x69\x73\x7d\x2c\x77\x72\x61\x70\x49\x6e\x6e\x65\x72\x3a\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x6e\x2e\x69\x73\x46\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3f\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x28\x74\x68\x69\x73\x29\x2e\x77\ +\x72\x61\x70\x49\x6e\x6e\x65\x72\x28\x61\x2e\x63\x61\x6c\x6c\x28\ +\x74\x68\x69\x73\x2c\x62\x29\x29\x7d\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x28\x74\x68\x69\ +\x73\x29\x2c\x63\x3d\x62\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x73\x28\ +\x29\x3b\x63\x2e\x6c\x65\x6e\x67\x74\x68\x3f\x63\x2e\x77\x72\x61\ +\x70\x41\x6c\x6c\x28\x61\x29\x3a\x62\x2e\x61\x70\x70\x65\x6e\x64\ +\x28\x61\x29\x7d\x29\x7d\x2c\x77\x72\x61\x70\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\ +\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3b\x72\x65\ +\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\x7b\x6e\x28\x74\x68\x69\ +\x73\x29\x2e\x77\x72\x61\x70\x41\x6c\x6c\x28\x62\x3f\x61\x2e\x63\ +\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x63\x29\x3a\x61\x29\x7d\x29\ +\x7d\x2c\x75\x6e\x77\x72\x61\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ +\x70\x61\x72\x65\x6e\x74\x28\x29\x2e\x65\x61\x63\x68\x28\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x6e\x6f\x64\x65\x4e\ +\x61\x6d\x65\x28\x74\x68\x69\x73\x2c\x22\x62\x6f\x64\x79\x22\x29\ +\x7c\x7c\x6e\x28\x74\x68\x69\x73\x29\x2e\x72\x65\x70\x6c\x61\x63\ +\x65\x57\x69\x74\x68\x28\x74\x68\x69\x73\x2e\x63\x68\x69\x6c\x64\ +\x4e\x6f\x64\x65\x73\x29\x7d\x29\x2e\x65\x6e\x64\x28\x29\x7d\x7d\ +\x29\x2c\x6e\x2e\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\x65\x72\x73\ +\x2e\x68\x69\x64\x64\x65\x6e\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x6f\x66\x66\ +\x73\x65\x74\x57\x69\x64\x74\x68\x3c\x3d\x30\x26\x26\x61\x2e\x6f\ +\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x3c\x3d\x30\x7c\x7c\ +\x21\x6c\x2e\x72\x65\x6c\x69\x61\x62\x6c\x65\x48\x69\x64\x64\x65\ +\x6e\x4f\x66\x66\x73\x65\x74\x73\x28\x29\x26\x26\x22\x6e\x6f\x6e\ +\x65\x22\x3d\x3d\x3d\x28\x61\x2e\x73\x74\x79\x6c\x65\x26\x26\x61\ +\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x7c\x7c\ +\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\ +\x22\x29\x29\x7d\x2c\x6e\x2e\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\ +\x65\x72\x73\x2e\x76\x69\x73\x69\x62\x6c\x65\x3d\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x6e\ +\x2e\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\x65\x72\x73\x2e\x68\x69\ +\x64\x64\x65\x6e\x28\x61\x29\x7d\x3b\x76\x61\x72\x20\x52\x63\x3d\ +\x2f\x25\x32\x30\x2f\x67\x2c\x53\x63\x3d\x2f\x5c\x5b\x5c\x5d\x24\ +\x2f\x2c\x54\x63\x3d\x2f\x5c\x72\x3f\x5c\x6e\x2f\x67\x2c\x55\x63\ +\x3d\x2f\x5e\x28\x3f\x3a\x73\x75\x62\x6d\x69\x74\x7c\x62\x75\x74\ +\x74\x6f\x6e\x7c\x69\x6d\x61\x67\x65\x7c\x72\x65\x73\x65\x74\x7c\ +\x66\x69\x6c\x65\x29\x24\x2f\x69\x2c\x56\x63\x3d\x2f\x5e\x28\x3f\ +\x3a\x69\x6e\x70\x75\x74\x7c\x73\x65\x6c\x65\x63\x74\x7c\x74\x65\ +\x78\x74\x61\x72\x65\x61\x7c\x6b\x65\x79\x67\x65\x6e\x29\x2f\x69\ +\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x57\x63\x28\x61\x2c\x62\ +\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3b\x69\x66\x28\x6e\ +\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x62\x29\x29\x6e\x2e\x65\x61\ +\x63\x68\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\ +\x65\x29\x7b\x63\x7c\x7c\x53\x63\x2e\x74\x65\x73\x74\x28\x61\x29\ +\x3f\x64\x28\x61\x2c\x65\x29\x3a\x57\x63\x28\x61\x2b\x22\x5b\x22\ +\x2b\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\ +\x6f\x66\x20\x65\x3f\x62\x3a\x22\x22\x29\x2b\x22\x5d\x22\x2c\x65\ +\x2c\x63\x2c\x64\x29\x7d\x29\x3b\x65\x6c\x73\x65\x20\x69\x66\x28\ +\x63\x7c\x7c\x22\x6f\x62\x6a\x65\x63\x74\x22\x21\x3d\x3d\x6e\x2e\ +\x74\x79\x70\x65\x28\x62\x29\x29\x64\x28\x61\x2c\x62\x29\x3b\x65\ +\x6c\x73\x65\x20\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x62\x29\x57\ +\x63\x28\x61\x2b\x22\x5b\x22\x2b\x65\x2b\x22\x5d\x22\x2c\x62\x5b\ +\x65\x5d\x2c\x63\x2c\x64\x29\x7d\x6e\x2e\x70\x61\x72\x61\x6d\x3d\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\ +\x72\x20\x63\x2c\x64\x3d\x5b\x5d\x2c\x65\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x62\x3d\x6e\x2e\x69\x73\x46\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x3f\x62\x28\x29\x3a\x6e\ +\x75\x6c\x6c\x3d\x3d\x62\x3f\x22\x22\x3a\x62\x2c\x64\x5b\x64\x2e\ +\x6c\x65\x6e\x67\x74\x68\x5d\x3d\x65\x6e\x63\x6f\x64\x65\x55\x52\ +\x49\x43\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x28\x61\x29\x2b\x22\x3d\ +\x22\x2b\x65\x6e\x63\x6f\x64\x65\x55\x52\x49\x43\x6f\x6d\x70\x6f\ +\x6e\x65\x6e\x74\x28\x62\x29\x7d\x3b\x69\x66\x28\x76\x6f\x69\x64\ +\x20\x30\x3d\x3d\x3d\x62\x26\x26\x28\x62\x3d\x6e\x2e\x61\x6a\x61\ +\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x26\x26\x6e\x2e\x61\x6a\x61\ +\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x2e\x74\x72\x61\x64\x69\x74\ +\x69\x6f\x6e\x61\x6c\x29\x2c\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\ +\x28\x61\x29\x7c\x7c\x61\x2e\x6a\x71\x75\x65\x72\x79\x26\x26\x21\ +\x6e\x2e\x69\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\x28\ +\x61\x29\x29\x6e\x2e\x65\x61\x63\x68\x28\x61\x2c\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x65\x28\x74\x68\x69\x73\x2e\x6e\x61\ +\x6d\x65\x2c\x74\x68\x69\x73\x2e\x76\x61\x6c\x75\x65\x29\x7d\x29\ +\x3b\x65\x6c\x73\x65\x20\x66\x6f\x72\x28\x63\x20\x69\x6e\x20\x61\ +\x29\x57\x63\x28\x63\x2c\x61\x5b\x63\x5d\x2c\x62\x2c\x65\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x6a\x6f\x69\x6e\x28\x22\x26\ +\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x52\x63\x2c\x22\x2b\ +\x22\x29\x7d\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\ +\x7b\x73\x65\x72\x69\x61\x6c\x69\x7a\x65\x3a\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x70\ +\x61\x72\x61\x6d\x28\x74\x68\x69\x73\x2e\x73\x65\x72\x69\x61\x6c\ +\x69\x7a\x65\x41\x72\x72\x61\x79\x28\x29\x29\x7d\x2c\x73\x65\x72\ +\x69\x61\x6c\x69\x7a\x65\x41\x72\x72\x61\x79\x3a\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ +\x69\x73\x2e\x6d\x61\x70\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ +\x29\x7b\x76\x61\x72\x20\x61\x3d\x6e\x2e\x70\x72\x6f\x70\x28\x74\ +\x68\x69\x73\x2c\x22\x65\x6c\x65\x6d\x65\x6e\x74\x73\x22\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x61\x3f\x6e\x2e\x6d\x61\x6b\x65\x41\ +\x72\x72\x61\x79\x28\x61\x29\x3a\x74\x68\x69\x73\x7d\x29\x2e\x66\ +\x69\x6c\x74\x65\x72\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ +\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\x69\x73\x2e\x74\x79\x70\x65\ +\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x6e\x61\x6d\ +\x65\x26\x26\x21\x6e\x28\x74\x68\x69\x73\x29\x2e\x69\x73\x28\x22\ +\x3a\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x26\x26\x56\x63\x2e\ +\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\x4e\x61\ +\x6d\x65\x29\x26\x26\x21\x55\x63\x2e\x74\x65\x73\x74\x28\x61\x29\ +\x26\x26\x28\x74\x68\x69\x73\x2e\x63\x68\x65\x63\x6b\x65\x64\x7c\ +\x7c\x21\x58\x2e\x74\x65\x73\x74\x28\x61\x29\x29\x7d\x29\x2e\x6d\ +\x61\x70\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ +\x7b\x76\x61\x72\x20\x63\x3d\x6e\x28\x74\x68\x69\x73\x29\x2e\x76\ +\x61\x6c\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ +\x3d\x3d\x63\x3f\x6e\x75\x6c\x6c\x3a\x6e\x2e\x69\x73\x41\x72\x72\ +\x61\x79\x28\x63\x29\x3f\x6e\x2e\x6d\x61\x70\x28\x63\x2c\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ +\x7b\x6e\x61\x6d\x65\x3a\x62\x2e\x6e\x61\x6d\x65\x2c\x76\x61\x6c\ +\x75\x65\x3a\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x54\x63\x2c\ +\x22\x5c\x72\x5c\x6e\x22\x29\x7d\x7d\x29\x3a\x7b\x6e\x61\x6d\x65\ +\x3a\x62\x2e\x6e\x61\x6d\x65\x2c\x76\x61\x6c\x75\x65\x3a\x63\x2e\ +\x72\x65\x70\x6c\x61\x63\x65\x28\x54\x63\x2c\x22\x5c\x72\x5c\x6e\ +\x22\x29\x7d\x7d\x29\x2e\x67\x65\x74\x28\x29\x7d\x7d\x29\x2c\x6e\ +\x2e\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x2e\x78\x68\ +\x72\x3d\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x61\x2e\x41\x63\x74\ +\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x3f\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x74\x68\x69\ +\x73\x2e\x69\x73\x4c\x6f\x63\x61\x6c\x26\x26\x2f\x5e\x28\x67\x65\ +\x74\x7c\x70\x6f\x73\x74\x7c\x68\x65\x61\x64\x7c\x70\x75\x74\x7c\ +\x64\x65\x6c\x65\x74\x65\x7c\x6f\x70\x74\x69\x6f\x6e\x73\x29\x24\ +\x2f\x69\x2e\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x74\x79\x70\ +\x65\x29\x26\x26\x24\x63\x28\x29\x7c\x7c\x5f\x63\x28\x29\x7d\x3a\ +\x24\x63\x3b\x76\x61\x72\x20\x58\x63\x3d\x30\x2c\x59\x63\x3d\x7b\ +\x7d\x2c\x5a\x63\x3d\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\x74\x69\ +\x6e\x67\x73\x2e\x78\x68\x72\x28\x29\x3b\x61\x2e\x41\x63\x74\x69\ +\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x26\x26\x6e\x28\x61\x29\x2e\ +\x6f\x6e\x28\x22\x75\x6e\x6c\x6f\x61\x64\x22\x2c\x66\x75\x6e\x63\ +\x74\x69\x6f\x6e\x28\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x61\ +\x20\x69\x6e\x20\x59\x63\x29\x59\x63\x5b\x61\x5d\x28\x76\x6f\x69\ +\x64\x20\x30\x2c\x21\x30\x29\x7d\x29\x2c\x6c\x2e\x63\x6f\x72\x73\ +\x3d\x21\x21\x5a\x63\x26\x26\x22\x77\x69\x74\x68\x43\x72\x65\x64\ +\x65\x6e\x74\x69\x61\x6c\x73\x22\x69\x6e\x20\x5a\x63\x2c\x5a\x63\ +\x3d\x6c\x2e\x61\x6a\x61\x78\x3d\x21\x21\x5a\x63\x2c\x5a\x63\x26\ +\x26\x6e\x2e\x61\x6a\x61\x78\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\ +\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\ +\x21\x61\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x7c\x7c\ +\x6c\x2e\x63\x6f\x72\x73\x29\x7b\x76\x61\x72\x20\x62\x3b\x72\x65\ +\x74\x75\x72\x6e\x7b\x73\x65\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\x66\x3d\ +\x61\x2e\x78\x68\x72\x28\x29\x2c\x67\x3d\x2b\x2b\x58\x63\x3b\x69\ +\x66\x28\x66\x2e\x6f\x70\x65\x6e\x28\x61\x2e\x74\x79\x70\x65\x2c\ +\x61\x2e\x75\x72\x6c\x2c\x61\x2e\x61\x73\x79\x6e\x63\x2c\x61\x2e\ +\x75\x73\x65\x72\x6e\x61\x6d\x65\x2c\x61\x2e\x70\x61\x73\x73\x77\ +\x6f\x72\x64\x29\x2c\x61\x2e\x78\x68\x72\x46\x69\x65\x6c\x64\x73\ +\x29\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x61\x2e\x78\x68\x72\x46\ +\x69\x65\x6c\x64\x73\x29\x66\x5b\x65\x5d\x3d\x61\x2e\x78\x68\x72\ +\x46\x69\x65\x6c\x64\x73\x5b\x65\x5d\x3b\x61\x2e\x6d\x69\x6d\x65\ +\x54\x79\x70\x65\x26\x26\x66\x2e\x6f\x76\x65\x72\x72\x69\x64\x65\ +\x4d\x69\x6d\x65\x54\x79\x70\x65\x26\x26\x66\x2e\x6f\x76\x65\x72\ +\x72\x69\x64\x65\x4d\x69\x6d\x65\x54\x79\x70\x65\x28\x61\x2e\x6d\ +\x69\x6d\x65\x54\x79\x70\x65\x29\x2c\x61\x2e\x63\x72\x6f\x73\x73\ +\x44\x6f\x6d\x61\x69\x6e\x7c\x7c\x63\x5b\x22\x58\x2d\x52\x65\x71\ +\x75\x65\x73\x74\x65\x64\x2d\x57\x69\x74\x68\x22\x5d\x7c\x7c\x28\ +\x63\x5b\x22\x58\x2d\x52\x65\x71\x75\x65\x73\x74\x65\x64\x2d\x57\ +\x69\x74\x68\x22\x5d\x3d\x22\x58\x4d\x4c\x48\x74\x74\x70\x52\x65\ +\x71\x75\x65\x73\x74\x22\x29\x3b\x66\x6f\x72\x28\x65\x20\x69\x6e\ +\x20\x63\x29\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x63\x5b\x65\x5d\ +\x26\x26\x66\x2e\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\ +\x61\x64\x65\x72\x28\x65\x2c\x63\x5b\x65\x5d\x2b\x22\x22\x29\x3b\ +\x66\x2e\x73\x65\x6e\x64\x28\x61\x2e\x68\x61\x73\x43\x6f\x6e\x74\ +\x65\x6e\x74\x26\x26\x61\x2e\x64\x61\x74\x61\x7c\x7c\x6e\x75\x6c\ +\x6c\x29\x2c\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x2c\ +\x65\x29\x7b\x76\x61\x72\x20\x68\x2c\x69\x2c\x6a\x3b\x69\x66\x28\ +\x62\x26\x26\x28\x65\x7c\x7c\x34\x3d\x3d\x3d\x66\x2e\x72\x65\x61\ +\x64\x79\x53\x74\x61\x74\x65\x29\x29\x69\x66\x28\x64\x65\x6c\x65\ +\x74\x65\x20\x59\x63\x5b\x67\x5d\x2c\x62\x3d\x76\x6f\x69\x64\x20\ +\x30\x2c\x66\x2e\x6f\x6e\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\ +\x63\x68\x61\x6e\x67\x65\x3d\x6e\x2e\x6e\x6f\x6f\x70\x2c\x65\x29\ +\x34\x21\x3d\x3d\x66\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\ +\x26\x26\x66\x2e\x61\x62\x6f\x72\x74\x28\x29\x3b\x65\x6c\x73\x65\ +\x7b\x6a\x3d\x7b\x7d\x2c\x68\x3d\x66\x2e\x73\x74\x61\x74\x75\x73\ +\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\ +\x66\x20\x66\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\x54\x65\x78\x74\ +\x26\x26\x28\x6a\x2e\x74\x65\x78\x74\x3d\x66\x2e\x72\x65\x73\x70\ +\x6f\x6e\x73\x65\x54\x65\x78\x74\x29\x3b\x74\x72\x79\x7b\x69\x3d\ +\x66\x2e\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74\x7d\x63\x61\x74\ +\x63\x68\x28\x6b\x29\x7b\x69\x3d\x22\x22\x7d\x68\x7c\x7c\x21\x61\ +\x2e\x69\x73\x4c\x6f\x63\x61\x6c\x7c\x7c\x61\x2e\x63\x72\x6f\x73\ +\x73\x44\x6f\x6d\x61\x69\x6e\x3f\x31\x32\x32\x33\x3d\x3d\x3d\x68\ +\x26\x26\x28\x68\x3d\x32\x30\x34\x29\x3a\x68\x3d\x6a\x2e\x74\x65\ +\x78\x74\x3f\x32\x30\x30\x3a\x34\x30\x34\x7d\x6a\x26\x26\x64\x28\ +\x68\x2c\x69\x2c\x6a\x2c\x66\x2e\x67\x65\x74\x41\x6c\x6c\x52\x65\ +\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73\x28\x29\x29\ +\x7d\x2c\x61\x2e\x61\x73\x79\x6e\x63\x3f\x34\x3d\x3d\x3d\x66\x2e\ +\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x3f\x73\x65\x74\x54\x69\ +\x6d\x65\x6f\x75\x74\x28\x62\x29\x3a\x66\x2e\x6f\x6e\x72\x65\x61\ +\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x3d\x59\x63\ +\x5b\x67\x5d\x3d\x62\x3a\x62\x28\x29\x7d\x2c\x61\x62\x6f\x72\x74\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x62\x26\x26\x62\ +\x28\x76\x6f\x69\x64\x20\x30\x2c\x21\x30\x29\x7d\x7d\x7d\x7d\x29\ +\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x24\x63\x28\x29\x7b\x74\ +\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x61\x2e\ +\x58\x4d\x4c\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74\x7d\x63\ +\x61\x74\x63\x68\x28\x62\x29\x7b\x7d\x7d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x20\x5f\x63\x28\x29\x7b\x74\x72\x79\x7b\x72\x65\x74\x75\ +\x72\x6e\x20\x6e\x65\x77\x20\x61\x2e\x41\x63\x74\x69\x76\x65\x58\ +\x4f\x62\x6a\x65\x63\x74\x28\x22\x4d\x69\x63\x72\x6f\x73\x6f\x66\ +\x74\x2e\x58\x4d\x4c\x48\x54\x54\x50\x22\x29\x7d\x63\x61\x74\x63\ +\x68\x28\x62\x29\x7b\x7d\x7d\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\ +\x75\x70\x28\x7b\x61\x63\x63\x65\x70\x74\x73\x3a\x7b\x73\x63\x72\ +\x69\x70\x74\x3a\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\ +\x72\x69\x70\x74\x2c\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\ +\x6e\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x2c\x20\x61\x70\ +\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x65\x63\x6d\x61\x73\x63\ +\x72\x69\x70\x74\x2c\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\ +\x6e\x2f\x78\x2d\x65\x63\x6d\x61\x73\x63\x72\x69\x70\x74\x22\x7d\ +\x2c\x63\x6f\x6e\x74\x65\x6e\x74\x73\x3a\x7b\x73\x63\x72\x69\x70\ +\x74\x3a\x2f\x28\x3f\x3a\x6a\x61\x76\x61\x7c\x65\x63\x6d\x61\x29\ +\x73\x63\x72\x69\x70\x74\x2f\x7d\x2c\x63\x6f\x6e\x76\x65\x72\x74\ +\x65\x72\x73\x3a\x7b\x22\x74\x65\x78\x74\x20\x73\x63\x72\x69\x70\ +\x74\x22\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ +\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x6c\x6f\x62\x61\x6c\x45\x76\ +\x61\x6c\x28\x61\x29\x2c\x61\x7d\x7d\x7d\x29\x2c\x6e\x2e\x61\x6a\ +\x61\x78\x50\x72\x65\x66\x69\x6c\x74\x65\x72\x28\x22\x73\x63\x72\ +\x69\x70\x74\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x61\x2e\x63\x61\x63\x68\ +\x65\x26\x26\x28\x61\x2e\x63\x61\x63\x68\x65\x3d\x21\x31\x29\x2c\ +\x61\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x26\x26\x28\ +\x61\x2e\x74\x79\x70\x65\x3d\x22\x47\x45\x54\x22\x2c\x61\x2e\x67\ +\x6c\x6f\x62\x61\x6c\x3d\x21\x31\x29\x7d\x29\x2c\x6e\x2e\x61\x6a\ +\x61\x78\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\x28\x22\x73\x63\x72\ +\x69\x70\x74\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ +\x7b\x69\x66\x28\x61\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\ +\x6e\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x7a\x2e\x68\x65\x61\ +\x64\x7c\x7c\x6e\x28\x22\x68\x65\x61\x64\x22\x29\x5b\x30\x5d\x7c\ +\x7c\x7a\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ +\x6e\x74\x3b\x72\x65\x74\x75\x72\x6e\x7b\x73\x65\x6e\x64\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x64\x2c\x65\x29\x7b\x62\x3d\x7a\ +\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\ +\x73\x63\x72\x69\x70\x74\x22\x29\x2c\x62\x2e\x61\x73\x79\x6e\x63\ +\x3d\x21\x30\x2c\x61\x2e\x73\x63\x72\x69\x70\x74\x43\x68\x61\x72\ +\x73\x65\x74\x26\x26\x28\x62\x2e\x63\x68\x61\x72\x73\x65\x74\x3d\ +\x61\x2e\x73\x63\x72\x69\x70\x74\x43\x68\x61\x72\x73\x65\x74\x29\ +\x2c\x62\x2e\x73\x72\x63\x3d\x61\x2e\x75\x72\x6c\x2c\x62\x2e\x6f\ +\x6e\x6c\x6f\x61\x64\x3d\x62\x2e\x6f\x6e\x72\x65\x61\x64\x79\x73\ +\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x3d\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x61\x2c\x63\x29\x7b\x28\x63\x7c\x7c\x21\x62\x2e\ +\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x7c\x7c\x2f\x6c\x6f\x61\ +\x64\x65\x64\x7c\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2f\x2e\x74\x65\ +\x73\x74\x28\x62\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x29\ +\x29\x26\x26\x28\x62\x2e\x6f\x6e\x6c\x6f\x61\x64\x3d\x62\x2e\x6f\ +\x6e\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\ +\x65\x3d\x6e\x75\x6c\x6c\x2c\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\ +\x6f\x64\x65\x26\x26\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ +\x65\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x62\x29\ +\x2c\x62\x3d\x6e\x75\x6c\x6c\x2c\x63\x7c\x7c\x65\x28\x32\x30\x30\ +\x2c\x22\x73\x75\x63\x63\x65\x73\x73\x22\x29\x29\x7d\x2c\x63\x2e\ +\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\x28\x62\x2c\x63\ +\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x7d\x2c\x61\x62\ +\x6f\x72\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x62\ +\x26\x26\x62\x2e\x6f\x6e\x6c\x6f\x61\x64\x28\x76\x6f\x69\x64\x20\ +\x30\x2c\x21\x30\x29\x7d\x7d\x7d\x7d\x29\x3b\x76\x61\x72\x20\x61\ +\x64\x3d\x5b\x5d\x2c\x62\x64\x3d\x2f\x28\x3d\x29\x5c\x3f\x28\x3f\ +\x3d\x26\x7c\x24\x29\x7c\x5c\x3f\x5c\x3f\x2f\x3b\x6e\x2e\x61\x6a\ +\x61\x78\x53\x65\x74\x75\x70\x28\x7b\x6a\x73\x6f\x6e\x70\x3a\x22\ +\x63\x61\x6c\x6c\x62\x61\x63\x6b\x22\x2c\x6a\x73\x6f\x6e\x70\x43\ +\x61\x6c\x6c\x62\x61\x63\x6b\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x61\x64\x2e\x70\x6f\x70\x28\ +\x29\x7c\x7c\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x2b\x22\x5f\x22\ +\x2b\x77\x63\x2b\x2b\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\ +\x73\x5b\x61\x5d\x3d\x21\x30\x2c\x61\x7d\x7d\x29\x2c\x6e\x2e\x61\ +\x6a\x61\x78\x50\x72\x65\x66\x69\x6c\x74\x65\x72\x28\x22\x6a\x73\ +\x6f\x6e\x20\x6a\x73\x6f\x6e\x70\x22\x2c\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\ +\x66\x2c\x67\x2c\x68\x3d\x62\x2e\x6a\x73\x6f\x6e\x70\x21\x3d\x3d\ +\x21\x31\x26\x26\x28\x62\x64\x2e\x74\x65\x73\x74\x28\x62\x2e\x75\ +\x72\x6c\x29\x3f\x22\x75\x72\x6c\x22\x3a\x22\x73\x74\x72\x69\x6e\ +\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x2e\x64\x61\x74\ +\x61\x26\x26\x21\x28\x62\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\ +\x70\x65\x7c\x7c\x22\x22\x29\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\ +\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x77\ +\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\x6f\x64\ +\x65\x64\x22\x29\x26\x26\x62\x64\x2e\x74\x65\x73\x74\x28\x62\x2e\ +\x64\x61\x74\x61\x29\x26\x26\x22\x64\x61\x74\x61\x22\x29\x3b\x72\ +\x65\x74\x75\x72\x6e\x20\x68\x7c\x7c\x22\x6a\x73\x6f\x6e\x70\x22\ +\x3d\x3d\x3d\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\ +\x5d\x3f\x28\x65\x3d\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\ +\x62\x61\x63\x6b\x3d\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\x63\ +\x6b\x29\x3f\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\ +\x63\x6b\x28\x29\x3a\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\ +\x62\x61\x63\x6b\x2c\x68\x3f\x62\x5b\x68\x5d\x3d\x62\x5b\x68\x5d\ +\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x62\x64\x2c\x22\x24\x31\x22\ +\x2b\x65\x29\x3a\x62\x2e\x6a\x73\x6f\x6e\x70\x21\x3d\x3d\x21\x31\ +\x26\x26\x28\x62\x2e\x75\x72\x6c\x2b\x3d\x28\x78\x63\x2e\x74\x65\ +\x73\x74\x28\x62\x2e\x75\x72\x6c\x29\x3f\x22\x26\x22\x3a\x22\x3f\ +\x22\x29\x2b\x62\x2e\x6a\x73\x6f\x6e\x70\x2b\x22\x3d\x22\x2b\x65\ +\x29\x2c\x62\x2e\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x5b\x22\ +\x73\x63\x72\x69\x70\x74\x20\x6a\x73\x6f\x6e\x22\x5d\x3d\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ +\x67\x7c\x7c\x6e\x2e\x65\x72\x72\x6f\x72\x28\x65\x2b\x22\x20\x77\ +\x61\x73\x20\x6e\x6f\x74\x20\x63\x61\x6c\x6c\x65\x64\x22\x29\x2c\ +\x67\x5b\x30\x5d\x7d\x2c\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\ +\x73\x5b\x30\x5d\x3d\x22\x6a\x73\x6f\x6e\x22\x2c\x66\x3d\x61\x5b\ +\x65\x5d\x2c\x61\x5b\x65\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ +\x28\x29\x7b\x67\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x7d\x2c\ +\x64\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x29\x7b\x61\x5b\x65\x5d\x3d\x66\x2c\x62\x5b\x65\x5d\x26\ +\x26\x28\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\x63\ +\x6b\x3d\x63\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\x63\ +\x6b\x2c\x61\x64\x2e\x70\x75\x73\x68\x28\x65\x29\x29\x2c\x67\x26\ +\x26\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x66\x29\ +\x26\x26\x66\x28\x67\x5b\x30\x5d\x29\x2c\x67\x3d\x66\x3d\x76\x6f\ +\x69\x64\x20\x30\x7d\x29\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\ +\x3a\x76\x6f\x69\x64\x20\x30\x7d\x29\x2c\x6e\x2e\x70\x61\x72\x73\ +\x65\x48\x54\x4d\x4c\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\x21\x61\x7c\x7c\x22\x73\x74\ +\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\ +\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3b\x22\x62\x6f\x6f\ +\x6c\x65\x61\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\ +\x26\x28\x63\x3d\x62\x2c\x62\x3d\x21\x31\x29\x2c\x62\x3d\x62\x7c\ +\x7c\x7a\x3b\x76\x61\x72\x20\x64\x3d\x76\x2e\x65\x78\x65\x63\x28\ +\x61\x29\x2c\x65\x3d\x21\x63\x26\x26\x5b\x5d\x3b\x72\x65\x74\x75\ +\x72\x6e\x20\x64\x3f\x5b\x62\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\ +\x65\x6d\x65\x6e\x74\x28\x64\x5b\x31\x5d\x29\x5d\x3a\x28\x64\x3d\ +\x6e\x2e\x62\x75\x69\x6c\x64\x46\x72\x61\x67\x6d\x65\x6e\x74\x28\ +\x5b\x61\x5d\x2c\x62\x2c\x65\x29\x2c\x65\x26\x26\x65\x2e\x6c\x65\ +\x6e\x67\x74\x68\x26\x26\x6e\x28\x65\x29\x2e\x72\x65\x6d\x6f\x76\ +\x65\x28\x29\x2c\x6e\x2e\x6d\x65\x72\x67\x65\x28\x5b\x5d\x2c\x64\ +\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\x29\x7d\x3b\x76\ +\x61\x72\x20\x63\x64\x3d\x6e\x2e\x66\x6e\x2e\x6c\x6f\x61\x64\x3b\ +\x6e\x2e\x66\x6e\x2e\x6c\x6f\x61\x64\x3d\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\x22\x73\x74\ +\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x26\ +\x26\x63\x64\x29\x72\x65\x74\x75\x72\x6e\x20\x63\x64\x2e\x61\x70\ +\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\ +\x74\x73\x29\x3b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x3d\ +\x74\x68\x69\x73\x2c\x68\x3d\x61\x2e\x69\x6e\x64\x65\x78\x4f\x66\ +\x28\x22\x20\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x68\x3e\x3d\ +\x30\x26\x26\x28\x64\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x68\x2c\ +\x61\x2e\x6c\x65\x6e\x67\x74\x68\x29\x2c\x61\x3d\x61\x2e\x73\x6c\ +\x69\x63\x65\x28\x30\x2c\x68\x29\x29\x2c\x6e\x2e\x69\x73\x46\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x3f\x28\x63\x3d\x62\x2c\x62\ +\x3d\x76\x6f\x69\x64\x20\x30\x29\x3a\x62\x26\x26\x22\x6f\x62\x6a\ +\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\ +\x28\x66\x3d\x22\x50\x4f\x53\x54\x22\x29\x2c\x67\x2e\x6c\x65\x6e\ +\x67\x74\x68\x3e\x30\x26\x26\x6e\x2e\x61\x6a\x61\x78\x28\x7b\x75\ +\x72\x6c\x3a\x61\x2c\x74\x79\x70\x65\x3a\x66\x2c\x64\x61\x74\x61\ +\x54\x79\x70\x65\x3a\x22\x68\x74\x6d\x6c\x22\x2c\x64\x61\x74\x61\ +\x3a\x62\x7d\x29\x2e\x64\x6f\x6e\x65\x28\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x29\x7b\x65\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\ +\x73\x2c\x67\x2e\x68\x74\x6d\x6c\x28\x64\x3f\x6e\x28\x22\x3c\x64\ +\x69\x76\x3e\x22\x29\x2e\x61\x70\x70\x65\x6e\x64\x28\x6e\x2e\x70\ +\x61\x72\x73\x65\x48\x54\x4d\x4c\x28\x61\x29\x29\x2e\x66\x69\x6e\ +\x64\x28\x64\x29\x3a\x61\x29\x7d\x29\x2e\x63\x6f\x6d\x70\x6c\x65\ +\x74\x65\x28\x63\x26\x26\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x2c\x62\x29\x7b\x67\x2e\x65\x61\x63\x68\x28\x63\x2c\x65\x7c\x7c\ +\x5b\x61\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\x54\x65\x78\x74\x2c\ +\x62\x2c\x61\x5d\x29\x7d\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6e\x2e\ +\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\x65\x72\x73\x2e\x61\x6e\x69\ +\x6d\x61\x74\x65\x64\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x72\x65\x70\x28\ +\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\ +\x62\x2e\x65\x6c\x65\x6d\x7d\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7d\ +\x3b\x76\x61\x72\x20\x64\x64\x3d\x61\x2e\x64\x6f\x63\x75\x6d\x65\ +\x6e\x74\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ +\x6e\x74\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x64\x28\x61\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x69\x73\x57\x69\x6e\ +\x64\x6f\x77\x28\x61\x29\x3f\x61\x3a\x39\x3d\x3d\x3d\x61\x2e\x6e\ +\x6f\x64\x65\x54\x79\x70\x65\x3f\x61\x2e\x64\x65\x66\x61\x75\x6c\ +\x74\x56\x69\x65\x77\x7c\x7c\x61\x2e\x70\x61\x72\x65\x6e\x74\x57\ +\x69\x6e\x64\x6f\x77\x3a\x21\x31\x7d\x6e\x2e\x6f\x66\x66\x73\x65\ +\x74\x3d\x7b\x73\x65\x74\x4f\x66\x66\x73\x65\x74\x3a\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ +\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\x6a\x2c\x6b\ +\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x70\x6f\x73\x69\x74\x69\ +\x6f\x6e\x22\x29\x2c\x6c\x3d\x6e\x28\x61\x29\x2c\x6d\x3d\x7b\x7d\ +\x3b\x22\x73\x74\x61\x74\x69\x63\x22\x3d\x3d\x3d\x6b\x26\x26\x28\ +\x61\x2e\x73\x74\x79\x6c\x65\x2e\x70\x6f\x73\x69\x74\x69\x6f\x6e\ +\x3d\x22\x72\x65\x6c\x61\x74\x69\x76\x65\x22\x29\x2c\x68\x3d\x6c\ +\x2e\x6f\x66\x66\x73\x65\x74\x28\x29\x2c\x66\x3d\x6e\x2e\x63\x73\ +\x73\x28\x61\x2c\x22\x74\x6f\x70\x22\x29\x2c\x69\x3d\x6e\x2e\x63\ +\x73\x73\x28\x61\x2c\x22\x6c\x65\x66\x74\x22\x29\x2c\x6a\x3d\x28\ +\x22\x61\x62\x73\x6f\x6c\x75\x74\x65\x22\x3d\x3d\x3d\x6b\x7c\x7c\ +\x22\x66\x69\x78\x65\x64\x22\x3d\x3d\x3d\x6b\x29\x26\x26\x6e\x2e\ +\x69\x6e\x41\x72\x72\x61\x79\x28\x22\x61\x75\x74\x6f\x22\x2c\x5b\ +\x66\x2c\x69\x5d\x29\x3e\x2d\x31\x2c\x6a\x3f\x28\x64\x3d\x6c\x2e\ +\x70\x6f\x73\x69\x74\x69\x6f\x6e\x28\x29\x2c\x67\x3d\x64\x2e\x74\ +\x6f\x70\x2c\x65\x3d\x64\x2e\x6c\x65\x66\x74\x29\x3a\x28\x67\x3d\ +\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x66\x29\x7c\x7c\x30\ +\x2c\x65\x3d\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x69\x29\ +\x7c\x7c\x30\x29\x2c\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x62\x29\x26\x26\x28\x62\x3d\x62\x2e\x63\x61\x6c\x6c\x28\ +\x61\x2c\x63\x2c\x68\x29\x29\x2c\x6e\x75\x6c\x6c\x21\x3d\x62\x2e\ +\x74\x6f\x70\x26\x26\x28\x6d\x2e\x74\x6f\x70\x3d\x62\x2e\x74\x6f\ +\x70\x2d\x68\x2e\x74\x6f\x70\x2b\x67\x29\x2c\x6e\x75\x6c\x6c\x21\ +\x3d\x62\x2e\x6c\x65\x66\x74\x26\x26\x28\x6d\x2e\x6c\x65\x66\x74\ +\x3d\x62\x2e\x6c\x65\x66\x74\x2d\x68\x2e\x6c\x65\x66\x74\x2b\x65\ +\x29\x2c\x22\x75\x73\x69\x6e\x67\x22\x69\x6e\x20\x62\x3f\x62\x2e\ +\x75\x73\x69\x6e\x67\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x6d\x29\x3a\ +\x6c\x2e\x63\x73\x73\x28\x6d\x29\x7d\x7d\x2c\x6e\x2e\x66\x6e\x2e\ +\x65\x78\x74\x65\x6e\x64\x28\x7b\x6f\x66\x66\x73\x65\x74\x3a\x66\ +\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x61\x72\ +\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x29\x72\ +\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x61\ +\x3f\x74\x68\x69\x73\x3a\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x2e\x6f\x66\ +\x66\x73\x65\x74\x2e\x73\x65\x74\x4f\x66\x66\x73\x65\x74\x28\x74\ +\x68\x69\x73\x2c\x61\x2c\x62\x29\x7d\x29\x3b\x76\x61\x72\x20\x62\ +\x2c\x63\x2c\x64\x3d\x7b\x74\x6f\x70\x3a\x30\x2c\x6c\x65\x66\x74\ +\x3a\x30\x7d\x2c\x65\x3d\x74\x68\x69\x73\x5b\x30\x5d\x2c\x66\x3d\ +\x65\x26\x26\x65\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ +\x6e\x74\x3b\x69\x66\x28\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x62\ +\x3d\x66\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ +\x6e\x74\x2c\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x62\x2c\ +\x65\x29\x3f\x28\x74\x79\x70\x65\x6f\x66\x20\x65\x2e\x67\x65\x74\ +\x42\x6f\x75\x6e\x64\x69\x6e\x67\x43\x6c\x69\x65\x6e\x74\x52\x65\ +\x63\x74\x21\x3d\x3d\x4c\x26\x26\x28\x64\x3d\x65\x2e\x67\x65\x74\ +\x42\x6f\x75\x6e\x64\x69\x6e\x67\x43\x6c\x69\x65\x6e\x74\x52\x65\ +\x63\x74\x28\x29\x29\x2c\x63\x3d\x65\x64\x28\x66\x29\x2c\x7b\x74\ +\x6f\x70\x3a\x64\x2e\x74\x6f\x70\x2b\x28\x63\x2e\x70\x61\x67\x65\ +\x59\x4f\x66\x66\x73\x65\x74\x7c\x7c\x62\x2e\x73\x63\x72\x6f\x6c\ +\x6c\x54\x6f\x70\x29\x2d\x28\x62\x2e\x63\x6c\x69\x65\x6e\x74\x54\ +\x6f\x70\x7c\x7c\x30\x29\x2c\x6c\x65\x66\x74\x3a\x64\x2e\x6c\x65\ +\x66\x74\x2b\x28\x63\x2e\x70\x61\x67\x65\x58\x4f\x66\x66\x73\x65\ +\x74\x7c\x7c\x62\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x29\ +\x2d\x28\x62\x2e\x63\x6c\x69\x65\x6e\x74\x4c\x65\x66\x74\x7c\x7c\ +\x30\x29\x7d\x29\x3a\x64\x7d\x2c\x70\x6f\x73\x69\x74\x69\x6f\x6e\ +\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x74\ +\x68\x69\x73\x5b\x30\x5d\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\ +\x63\x3d\x7b\x74\x6f\x70\x3a\x30\x2c\x6c\x65\x66\x74\x3a\x30\x7d\ +\x2c\x64\x3d\x74\x68\x69\x73\x5b\x30\x5d\x3b\x72\x65\x74\x75\x72\ +\x6e\x22\x66\x69\x78\x65\x64\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\x73\ +\x28\x64\x2c\x22\x70\x6f\x73\x69\x74\x69\x6f\x6e\x22\x29\x3f\x62\ +\x3d\x64\x2e\x67\x65\x74\x42\x6f\x75\x6e\x64\x69\x6e\x67\x43\x6c\ +\x69\x65\x6e\x74\x52\x65\x63\x74\x28\x29\x3a\x28\x61\x3d\x74\x68\ +\x69\x73\x2e\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\x74\x28\ +\x29\x2c\x62\x3d\x74\x68\x69\x73\x2e\x6f\x66\x66\x73\x65\x74\x28\ +\x29\x2c\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x61\x5b\x30\ +\x5d\x2c\x22\x68\x74\x6d\x6c\x22\x29\x7c\x7c\x28\x63\x3d\x61\x2e\ +\x6f\x66\x66\x73\x65\x74\x28\x29\x29\x2c\x63\x2e\x74\x6f\x70\x2b\ +\x3d\x6e\x2e\x63\x73\x73\x28\x61\x5b\x30\x5d\x2c\x22\x62\x6f\x72\ +\x64\x65\x72\x54\x6f\x70\x57\x69\x64\x74\x68\x22\x2c\x21\x30\x29\ +\x2c\x63\x2e\x6c\x65\x66\x74\x2b\x3d\x6e\x2e\x63\x73\x73\x28\x61\ +\x5b\x30\x5d\x2c\x22\x62\x6f\x72\x64\x65\x72\x4c\x65\x66\x74\x57\ +\x69\x64\x74\x68\x22\x2c\x21\x30\x29\x29\x2c\x7b\x74\x6f\x70\x3a\ +\x62\x2e\x74\x6f\x70\x2d\x63\x2e\x74\x6f\x70\x2d\x6e\x2e\x63\x73\ +\x73\x28\x64\x2c\x22\x6d\x61\x72\x67\x69\x6e\x54\x6f\x70\x22\x2c\ +\x21\x30\x29\x2c\x6c\x65\x66\x74\x3a\x62\x2e\x6c\x65\x66\x74\x2d\ +\x63\x2e\x6c\x65\x66\x74\x2d\x6e\x2e\x63\x73\x73\x28\x64\x2c\x22\ +\x6d\x61\x72\x67\x69\x6e\x4c\x65\x66\x74\x22\x2c\x21\x30\x29\x7d\ +\x7d\x7d\x2c\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\x74\x3a\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x74\x68\x69\x73\x2e\x6d\x61\x70\x28\x66\x75\x6e\x63\x74\ +\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\x69\x73\ +\x2e\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\x74\x7c\x7c\x64\ +\x64\x3b\x77\x68\x69\x6c\x65\x28\x61\x26\x26\x21\x6e\x2e\x6e\x6f\ +\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x22\x68\x74\x6d\x6c\x22\x29\ +\x26\x26\x22\x73\x74\x61\x74\x69\x63\x22\x3d\x3d\x3d\x6e\x2e\x63\ +\x73\x73\x28\x61\x2c\x22\x70\x6f\x73\x69\x74\x69\x6f\x6e\x22\x29\ +\x29\x61\x3d\x61\x2e\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\ +\x74\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7c\x7c\x64\x64\x7d\x29\ +\x7d\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\x73\x63\x72\x6f\ +\x6c\x6c\x4c\x65\x66\x74\x3a\x22\x70\x61\x67\x65\x58\x4f\x66\x66\ +\x73\x65\x74\x22\x2c\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x3a\x22\ +\x70\x61\x67\x65\x59\x4f\x66\x66\x73\x65\x74\x22\x7d\x2c\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ +\x63\x3d\x2f\x59\x2f\x2e\x74\x65\x73\x74\x28\x62\x29\x3b\x6e\x2e\ +\x66\x6e\x5b\x61\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x64\ +\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x64\x2c\x65\x29\x7b\ +\x76\x61\x72\x20\x66\x3d\x65\x64\x28\x61\x29\x3b\x72\x65\x74\x75\ +\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x65\x3f\x66\x3f\ +\x62\x20\x69\x6e\x20\x66\x3f\x66\x5b\x62\x5d\x3a\x66\x2e\x64\x6f\ +\x63\x75\x6d\x65\x6e\x74\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\ +\x6c\x65\x6d\x65\x6e\x74\x5b\x64\x5d\x3a\x61\x5b\x64\x5d\x3a\x76\ +\x6f\x69\x64\x28\x66\x3f\x66\x2e\x73\x63\x72\x6f\x6c\x6c\x54\x6f\ +\x28\x63\x3f\x6e\x28\x66\x29\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\ +\x66\x74\x28\x29\x3a\x65\x2c\x63\x3f\x65\x3a\x6e\x28\x66\x29\x2e\ +\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x28\x29\x29\x3a\x61\x5b\x64\ +\x5d\x3d\x65\x29\x7d\x2c\x61\x2c\x64\x2c\x61\x72\x67\x75\x6d\x65\ +\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6e\x75\x6c\x6c\x29\ +\x7d\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x74\x6f\x70\ +\x22\x2c\x22\x6c\x65\x66\x74\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\ +\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x63\x73\x73\x48\x6f\x6f\ +\x6b\x73\x5b\x62\x5d\x3d\x4d\x62\x28\x6c\x2e\x70\x69\x78\x65\x6c\ +\x50\x6f\x73\x69\x74\x69\x6f\x6e\x2c\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x61\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\ +\x28\x63\x3d\x4b\x62\x28\x61\x2c\x62\x29\x2c\x49\x62\x2e\x74\x65\ +\x73\x74\x28\x63\x29\x3f\x6e\x28\x61\x29\x2e\x70\x6f\x73\x69\x74\ +\x69\x6f\x6e\x28\x29\x5b\x62\x5d\x2b\x22\x70\x78\x22\x3a\x63\x29\ +\x3a\x76\x6f\x69\x64\x20\x30\x7d\x29\x7d\x29\x2c\x6e\x2e\x65\x61\ +\x63\x68\x28\x7b\x48\x65\x69\x67\x68\x74\x3a\x22\x68\x65\x69\x67\ +\x68\x74\x22\x2c\x57\x69\x64\x74\x68\x3a\x22\x77\x69\x64\x74\x68\ +\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ +\x7b\x6e\x2e\x65\x61\x63\x68\x28\x7b\x70\x61\x64\x64\x69\x6e\x67\ +\x3a\x22\x69\x6e\x6e\x65\x72\x22\x2b\x61\x2c\x63\x6f\x6e\x74\x65\ +\x6e\x74\x3a\x62\x2c\x22\x22\x3a\x22\x6f\x75\x74\x65\x72\x22\x2b\ +\x61\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x2c\x64\x29\ +\x7b\x6e\x2e\x66\x6e\x5b\x64\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\ +\x6e\x28\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x3d\x61\x72\x67\ +\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x28\ +\x63\x7c\x7c\x22\x62\x6f\x6f\x6c\x65\x61\x6e\x22\x21\x3d\x74\x79\ +\x70\x65\x6f\x66\x20\x64\x29\x2c\x67\x3d\x63\x7c\x7c\x28\x64\x3d\ +\x3d\x3d\x21\x30\x7c\x7c\x65\x3d\x3d\x3d\x21\x30\x3f\x22\x6d\x61\ +\x72\x67\x69\x6e\x22\x3a\x22\x62\x6f\x72\x64\x65\x72\x22\x29\x3b\ +\x72\x65\x74\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\x66\x75\ +\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\ +\x72\x20\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x69\x73\x57\ +\x69\x6e\x64\x6f\x77\x28\x62\x29\x3f\x62\x2e\x64\x6f\x63\x75\x6d\ +\x65\x6e\x74\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x5b\x22\x63\x6c\x69\x65\x6e\x74\x22\x2b\x61\x5d\x3a\ +\x39\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x28\ +\x65\x3d\x62\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\ +\x65\x6e\x74\x2c\x4d\x61\x74\x68\x2e\x6d\x61\x78\x28\x62\x2e\x62\ +\x6f\x64\x79\x5b\x22\x73\x63\x72\x6f\x6c\x6c\x22\x2b\x61\x5d\x2c\ +\x65\x5b\x22\x73\x63\x72\x6f\x6c\x6c\x22\x2b\x61\x5d\x2c\x62\x2e\ +\x62\x6f\x64\x79\x5b\x22\x6f\x66\x66\x73\x65\x74\x22\x2b\x61\x5d\ +\x2c\x65\x5b\x22\x6f\x66\x66\x73\x65\x74\x22\x2b\x61\x5d\x2c\x65\ +\x5b\x22\x63\x6c\x69\x65\x6e\x74\x22\x2b\x61\x5d\x29\x29\x3a\x76\ +\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x64\x3f\x6e\x2e\x63\x73\x73\x28\ +\x62\x2c\x63\x2c\x67\x29\x3a\x6e\x2e\x73\x74\x79\x6c\x65\x28\x62\ +\x2c\x63\x2c\x64\x2c\x67\x29\x7d\x2c\x62\x2c\x66\x3f\x64\x3a\x76\ +\x6f\x69\x64\x20\x30\x2c\x66\x2c\x6e\x75\x6c\x6c\x29\x7d\x7d\x29\ +\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x73\x69\x7a\x65\x3d\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ +\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x7d\x2c\x6e\x2e\x66\x6e\ +\x2e\x61\x6e\x64\x53\x65\x6c\x66\x3d\x6e\x2e\x66\x6e\x2e\x61\x64\ +\x64\x42\x61\x63\x6b\x2c\x22\x66\x75\x6e\x63\x74\x69\x6f\x6e\x22\ +\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x64\x65\x66\x69\x6e\x65\x26\ +\x26\x64\x65\x66\x69\x6e\x65\x2e\x61\x6d\x64\x26\x26\x64\x65\x66\ +\x69\x6e\x65\x28\x22\x6a\x71\x75\x65\x72\x79\x22\x2c\x5b\x5d\x2c\ +\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ +\x6e\x20\x6e\x7d\x29\x3b\x76\x61\x72\x20\x66\x64\x3d\x61\x2e\x6a\ +\x51\x75\x65\x72\x79\x2c\x67\x64\x3d\x61\x2e\x24\x3b\x72\x65\x74\ +\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x43\x6f\x6e\x66\x6c\x69\x63\x74\ +\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x72\x65\x74\ +\x75\x72\x6e\x20\x61\x2e\x24\x3d\x3d\x3d\x6e\x26\x26\x28\x61\x2e\ +\x24\x3d\x67\x64\x29\x2c\x62\x26\x26\x61\x2e\x6a\x51\x75\x65\x72\ +\x79\x3d\x3d\x3d\x6e\x26\x26\x28\x61\x2e\x6a\x51\x75\x65\x72\x79\ +\x3d\x66\x64\x29\x2c\x6e\x7d\x2c\x74\x79\x70\x65\x6f\x66\x20\x62\ +\x3d\x3d\x3d\x4c\x26\x26\x28\x61\x2e\x6a\x51\x75\x65\x72\x79\x3d\ +\x61\x2e\x24\x3d\x6e\x29\x2c\x6e\x7d\x29\x3b\ +\x00\x00\x09\xf8\ +\x00\ +\x00\x2c\xc1\x78\x9c\xb5\x5a\x5f\x6f\xdb\xc8\x11\x7f\x2f\xd0\xef\ +\xc0\xf2\xd2\x8a\x8a\x29\x8a\xb6\xeb\x20\xb1\x2c\x03\x57\xdf\x15\ +\x48\x70\xb9\xb8\x77\xee\xa1\x07\x23\x30\x96\xd4\x4a\xa2\x4d\x71\ +\x99\xe5\x4a\x96\x90\xf8\xa5\x2f\x7d\xee\x63\x1f\x0a\xb4\x7d\x38\ +\x14\xfd\x04\x3d\xdc\x43\x3f\xcd\xa5\xfd\x18\x9d\xd9\x25\x69\x4a\ +\xe2\x2e\xa9\x8b\xb3\x48\xac\x15\x39\xb3\x3b\x3b\x7f\x7e\x33\xbb\ +\xda\x93\x5f\x7c\xf6\xea\xec\xe2\xdb\xf3\xcf\xad\xa9\x98\xc5\xa7\ +\x27\xf8\xd7\xca\xe2\x28\xbc\xe9\xcd\x93\xe8\xcd\x9c\x46\xa3\xa1\ +\xbd\x6f\x9f\xfe\xfc\x67\x16\xb4\x93\x29\x25\xa3\xbc\x2f\xbf\xcf\ +\xa8\x20\xc0\x29\xd2\x1e\x7d\x33\x8f\x16\x43\xfb\x8c\x25\x82\x26\ +\xa2\x77\xb1\x4a\xa9\x6d\x85\xea\xdb\xd0\x16\x74\x29\xfa\x38\xf6\ +\xc0\x0a\xa7\x84\x67\x54\x0c\x7f\x7f\xf1\xdb\xde\x53\xbb\x3a\x98\ +\x88\x44\x4c\x2b\x0f\xb0\xbd\xff\xc7\x77\x3f\x7e\xff\xc3\xfb\xbf\ +\xfd\xb9\x77\x1e\x93\x6c\x46\x2e\x38\xa5\x15\x96\xfe\x26\x8f\x92\ +\x28\x21\x33\x3a\xb4\xc9\x5c\x4c\x19\xaf\x48\x31\x9b\xd2\x94\xde\ +\xdc\x10\x5b\xc3\xc0\x59\xc0\x44\x56\x61\x88\x92\x11\x5d\xba\x63\ +\x16\xc7\xec\x56\xc7\x14\xb2\x74\xc5\xa3\xc9\x54\x54\xf8\xce\x8a\ +\x67\xd6\x81\xbf\xef\x5b\xb5\xf3\x66\x62\x15\x53\x4b\x80\x9e\x72\ +\xf5\x84\x59\x66\x6f\xac\xde\x1b\x33\x26\x28\x7f\x9b\xb2\x08\x46\ +\xe6\x3d\xba\x80\xe1\xb3\x63\x2b\x61\x09\x1d\xa4\x2c\x8b\x44\xc4\ +\x92\x63\x12\x64\x2c\x9e\x0b\x3a\x00\xe9\x05\x9b\x1d\xfb\x83\xdb\ +\x68\x24\xa6\xc7\xfb\xbe\xff\xcb\xc1\x94\xa2\x1c\xc7\x47\x7e\xba\ +\x1c\x04\x24\xbc\x99\x70\x36\x4f\x46\xbd\x90\xc5\x8c\x1f\x5b\x7c\ +\x12\x10\xe7\xe0\xe8\xc8\x2d\xfe\xfb\xde\x51\x77\x70\x57\xd5\xb0\ +\x94\x73\x4d\xf0\x90\x47\xa9\xb0\x32\x1e\x0e\xed\x37\x3c\x3c\xee\ +\x5f\x83\x9b\xf0\x95\x77\x0d\xe2\x03\xb9\x7c\x5b\x43\x5f\x59\xe9\ +\x35\x59\x10\xf5\x74\x73\xc1\xce\x78\x9e\x84\xb8\x28\xe7\x51\xd7\ +\x7a\xbb\xfe\x0e\xdb\x82\x70\xeb\x1b\x1a\x0a\xc6\xad\xa1\x55\xd2\ +\x2e\x5d\x6b\x55\x4b\x8e\x4d\x4c\xa3\xcc\x5b\x02\xf9\xd2\x7a\xf7\ +\xce\xf2\x07\x06\xaa\x15\x50\xad\x74\x54\x77\x35\xcf\x94\x28\x5e\ +\xca\x99\x60\xb8\x3e\xe0\xd7\x48\x41\x46\xa3\xe3\x7b\x81\x17\x5a\ +\x69\x2b\x12\xef\x0d\xad\x85\xb7\xd4\xc8\x5b\x91\x59\xd2\xad\x0c\ +\x74\x9c\x8a\x39\x4f\x24\xb9\x86\xea\xce\xad\x7f\x1e\xd3\x64\x02\ +\x8e\x74\x2f\xb8\x51\xee\x7c\x9e\x97\x44\x4c\xbd\xec\x0d\x17\x4e\ +\xbe\x90\xc7\xe5\x8a\x0a\x91\xf3\x27\xab\xee\x8e\xf2\x80\x9e\x89\ +\xa0\x15\x79\xc4\x14\x02\xd1\x28\x14\x7a\x0c\x5a\x5f\x89\x60\xd0\ +\x12\x12\xae\x0a\x42\x93\x3a\x4b\x87\x92\x0b\x0d\x59\x56\x48\x51\ +\xae\xb3\x97\xeb\x20\x4a\x36\x5e\x35\x0e\xbb\x2a\x86\xdd\xe6\x45\ +\xf5\x69\x66\x34\x0d\xdb\xef\x1b\xe4\xad\x17\xb5\xc5\x70\xf5\x72\ +\xd6\x8b\xf8\x71\x5c\x73\x36\x8f\x45\xc5\x11\xc6\x6d\x22\xea\x31\ +\x60\x46\xb3\x05\x1a\xa8\x5a\x88\xdc\x0e\x3c\xd0\xe1\xbe\xa0\x64\ +\x5c\x45\xb2\xd4\xb5\xb8\x6b\x85\xf0\x4f\x2c\xcd\x88\x96\x02\x5b\ +\x8a\x58\x95\xcc\xe3\xd8\x04\x6a\x88\x94\xbc\x11\xfa\x42\xa0\x0a\ +\x91\xaa\xb3\x95\x12\xf6\x3d\xbf\xdb\x31\xf2\x0a\xf4\x2e\xf8\x5b\ +\x87\x9a\xdb\x8f\x70\xcd\x6d\x20\x93\x53\xc8\xbe\xbc\x2d\xf8\xa0\ +\x36\xc5\x94\x88\x3c\x82\x1b\x02\x5d\x89\x5c\x48\xdf\x40\x8c\x16\ +\xfa\x0d\x27\x49\x38\xf5\xe0\xef\x88\xcd\x9c\x7d\xd7\x3a\xe8\xea\ +\x99\xc6\x90\x9e\x1c\xe4\x8c\x80\xd3\x1f\xc0\xc7\x89\x75\x04\x1f\ +\x7b\x7b\xc6\x25\x60\xbb\x4f\x80\xbc\x91\x16\x1b\x54\x52\x17\xd1\ +\x8c\xb2\xb9\x70\xda\xe9\xa9\xda\x60\xe9\x5e\x40\x27\x51\x72\x0e\ +\x41\xeb\xe8\xc0\xb8\x8e\x6b\x1c\xc5\xf1\xd7\xb2\x80\x19\x4a\xad\ +\x7b\xb2\x9e\xd8\x61\x80\x19\x5b\xd0\x0b\xe6\x48\xde\xd4\x83\x04\ +\x9e\xf7\xb4\x29\xa1\x6e\x10\xc2\xc3\x9a\x11\x64\x08\xf9\x6e\x61\ +\xb2\x30\xe2\x61\x4c\xe1\x35\x9f\xd3\x5d\x97\xd8\x4a\x27\x3a\x84\ +\xaa\x36\x0e\x38\xf8\xc4\x6f\x1a\xed\xae\xeb\x44\x26\x9a\x9a\x60\ +\xd2\x3c\xae\x79\x84\xfe\xa8\x54\xb2\x01\x38\x8b\x02\x73\xc4\x03\ +\x21\xce\x02\x08\x17\x0f\x07\x4d\xaa\x08\x91\x91\x64\xa0\x9a\xd0\ +\x84\x72\x82\x6b\x02\xca\x7d\x13\xa5\x80\x2d\x04\xba\x6d\x1b\x09\ +\xa5\x5b\x7f\x00\x34\x72\x88\xae\x0c\x2a\xf7\x5a\x47\xaa\x4b\x0a\ +\xb9\xd3\xb6\x82\x47\x35\x74\x5b\x80\x2c\xd7\xee\x41\x2d\xaa\xa6\ +\x91\x05\xda\xae\x35\xd8\x88\x93\xdb\x5d\x40\xb9\x02\xb5\x72\x76\ +\x33\xde\xb6\x87\xa4\x6d\x18\x2a\xec\xd5\xc0\x54\x42\x0f\xfa\xb4\ +\x02\x0e\xd9\x33\x42\xcf\x3d\xdc\x6c\x72\xe5\xbd\x9f\x84\x39\x8d\ +\x38\xa3\xad\x7e\xd8\x28\x1a\xaf\x76\x31\x03\x49\x26\x52\x4d\xbe\ +\xb7\xff\x14\xaa\x3e\x07\x3e\x7d\xab\xbf\x19\x3b\x26\x61\xf3\x05\ +\x83\xf7\x28\x2d\x2c\x1a\x89\xf3\xc8\xdd\xcb\x8d\xb3\xc8\x1f\x18\ +\xcd\x9a\x03\xc3\x63\x94\xf4\xd9\xb3\x26\xc2\x85\xa7\xb6\x04\xce\ +\x7a\x7e\x86\x05\xca\xf5\xba\xea\xa3\xdb\x1d\x40\xe1\xea\x61\xc9\ +\xe8\xe0\xa8\x4f\x4c\x02\x44\x63\xcb\xc9\x85\x38\x01\x19\x9e\x62\ +\xe4\x6f\x22\xcc\xa9\xb5\xef\x37\x66\xd9\x7b\x97\xe7\x14\x7d\xae\ +\x45\xcc\x15\x0d\x0d\x16\x83\xb1\x12\x7a\x2b\xcb\xa5\xdc\xed\x5c\ +\x98\xd6\xad\x38\xba\xbb\x1e\x56\x4d\xa3\xc6\x9e\x2a\xa9\x8c\xfa\ +\xd7\xe5\x18\x8d\x23\x4e\x38\x6b\x8d\x06\x52\x58\x84\x8f\x66\x07\ +\x50\xfe\xdd\x4c\x07\x95\xd6\xcd\xce\xc1\x83\x4c\xbb\x84\x4e\x5a\ +\xa0\x4b\xee\xcf\xbd\xcd\x6a\xd0\x07\xab\x1c\xf8\xbe\xf4\x32\xd8\ +\x02\x39\x9b\xee\xf2\x18\xdd\xa5\xc1\xe5\x52\x70\xaa\x66\x9f\x42\ +\x71\x92\x62\xef\x25\x4f\x72\x9c\xad\xca\xf4\xb0\xdb\xe4\x08\xf7\ +\x5e\x93\x41\xf0\x48\x25\x62\x90\x26\xb0\x32\x5d\xe6\xac\xe8\x6e\ +\xab\xb4\x4d\xda\x95\xb6\xd8\x0a\x7c\x8c\x59\x42\x5b\x45\x82\xc6\ +\x1d\xb7\x57\xb2\x53\x8c\xed\x50\x48\xe9\x73\xb4\x02\x79\x50\xc3\ +\x01\x18\x58\x1a\xe4\xfc\xb9\x9e\x5a\xd9\xa7\x5a\x7a\xcd\xa2\xc4\ +\xb5\x66\x44\xbf\xcf\xab\x9e\xa7\xe4\xe6\xc5\xfd\xb4\x03\x3c\x60\ +\x29\x60\xef\x82\xb3\xc1\xc7\x6e\xa5\x85\xd4\x7d\x55\x8e\x40\x2b\ +\x00\xda\x99\xe7\x30\x94\x6b\x16\xbb\xea\xd4\xcb\x09\x54\x1e\x0c\ +\x64\xea\x74\xad\xb5\x37\x0b\xf5\x66\x21\xdf\x04\x98\x1c\x83\x02\ +\xb2\x02\x69\x2f\x9d\x75\xf8\x7a\x21\x17\x54\xbf\xee\x69\xbd\x33\ +\xd7\x54\x5d\xe6\x37\x68\x02\xcb\xb9\xaa\x22\x40\xb8\x09\xc8\x07\ +\x49\xa3\xc9\x24\xaa\x12\xec\x80\x44\x1c\xfe\x77\x5c\xec\x4d\xca\ +\x5e\x50\xf6\x08\xf6\x6a\x2b\x44\x93\x58\xd2\xd4\x9b\xc2\x15\xde\ +\xd2\x42\xba\xca\xf2\x1c\x2d\x50\x94\xde\x07\x06\x7a\x38\x22\xd2\ +\xb6\xce\x45\xd7\xba\x50\x85\x78\x33\x10\x23\x71\x20\xe7\xa4\x19\ +\x30\x5c\xbe\xd6\xb8\x81\x3c\x03\x80\xdd\xb0\xae\x02\x94\x68\x81\ +\x90\xa7\xaf\xaa\xb1\xa9\xfc\xe0\x1b\xb6\x75\xc5\xb9\xa8\xaf\xc1\ +\x11\xd3\xfc\x65\xf5\xdd\x2e\x06\xb1\x15\x6b\xf7\xd2\x79\x36\x05\ +\x5a\x5d\xbe\x33\xef\x44\xee\xf1\xb1\xfd\xcc\x75\x70\x5f\x4a\xa3\ +\xb4\xd0\x0e\xfc\x31\xc5\x15\x8c\x97\xd1\x6b\x6b\x38\x84\xe0\x6e\ +\x95\x32\xca\xe9\xb2\x34\x8e\x42\xea\x44\x50\x05\xb5\xd9\x96\xab\ +\x60\xf8\xe9\xe9\x45\x97\x23\xcc\x4a\xc6\xfa\xaa\xaa\xde\x71\xf2\ +\x40\xa7\x56\xd2\xaf\x81\x2c\xa3\xe2\x39\xfe\x16\xb4\x20\xf1\x0e\ +\x27\x3e\xe3\xc4\x23\x69\x1a\xaf\xe4\x71\x09\x84\x29\x9f\xcc\x67\ +\xf8\x53\x52\x93\x22\xab\x66\x2b\xca\x9f\x36\x75\x8a\x9c\xf3\xa1\ +\x7c\xa7\x68\x15\xff\xf1\xb0\xee\x6c\x77\x3a\xf3\x41\xf5\x05\x8d\ +\x33\xda\x46\xbc\x7e\x1f\x4a\x01\xc2\x4b\xcb\x48\x6b\x7d\x40\x6d\ +\x63\x3a\x53\x82\x72\x13\x77\x6e\x87\xda\x92\xd2\xe8\xa2\x51\x12\ +\x89\xaa\x83\x9a\x0e\x9a\x4b\x26\xd3\x09\x6f\xe3\x8c\x24\x60\x5c\ +\xb4\xc2\x79\x6c\x6d\x70\xbe\x1c\xba\x19\xcb\xb1\x35\xe3\x39\xb6\ +\x06\x4c\xc7\xb6\x03\x24\xd4\x3d\x2b\x14\x60\xa1\x0d\xf4\x5a\x80\ +\x3d\x04\x12\xe8\x53\xdc\xa3\xdb\x08\x12\xef\x2d\x2c\xfc\x91\xa3\ +\xba\x3a\x4f\x90\xd4\x01\x1b\xad\x24\xad\x8d\x3d\xdb\x44\x1b\x92\ +\x64\x41\xb2\x2b\xf9\xf3\x31\xb2\xa8\xd1\x3d\xf9\x5d\x1b\x6d\x15\ +\x46\xf5\x63\x73\x85\x53\x3d\x80\xb5\xf6\xb4\xa7\x77\x92\x9d\x62\ +\xe0\x5c\x49\x27\xab\x8a\xd0\xb7\x0e\x0c\x5c\x19\x14\x92\x22\x9c\ +\x5e\x8d\x49\xfe\x83\xf0\x13\x19\x18\x6b\xb2\x18\xd8\x57\x57\x59\ +\x4a\xe9\x08\xf8\x0e\x81\x6b\x7d\x30\x93\x3e\xd1\xe9\x5e\x66\x13\ +\xa5\xd2\x4f\xf2\x6f\x5a\xb5\x82\x35\xc5\xb2\x49\x71\x72\xac\xce\ +\x27\xea\x4b\xa7\x7b\xe9\xeb\x3c\x5f\x51\x78\x85\x81\xaa\xca\x32\ +\x73\x94\x96\x69\xab\x9d\x3c\xe4\x15\xf7\x84\x0a\x79\xb1\x63\x29\ +\x1c\xfb\x60\xa4\x5d\x2b\x1e\x67\x4d\x62\x16\x90\xf8\x8c\xcd\xe4\ +\xf5\x04\xfa\x2a\xbd\x2f\xe6\xed\x18\xe7\xa4\xdc\x36\xa8\x6a\xed\ +\x7a\xc7\xa6\x4c\x22\xdf\x8b\x60\xe1\xa8\x75\x47\x21\x21\xce\x31\ +\x9c\x87\xd4\x25\xa6\xc3\xe6\x54\x54\xbf\x0b\x2a\x5c\xd7\x5d\xd7\ +\xec\xfa\x86\xa8\xba\x85\xc3\x4d\x36\x96\x30\xae\xd5\xcb\x3d\x10\ +\xba\xfb\x47\x5b\x2e\xe8\x6e\xef\x07\x1c\x3c\x67\x38\x3a\x72\x2d\ +\xdf\x3b\xec\xe2\x79\xbd\x0e\x8e\x75\x9a\xc9\xcf\x7f\xda\x21\x71\ +\xe1\xe8\x1e\xde\xdb\x71\x4a\xbc\x95\xc7\x05\xda\x99\x0d\x61\xa0\ +\x2e\xaf\xd4\xbf\xc6\x48\xc2\x93\xa1\x4f\x39\x25\x76\x17\xf6\xa8\ +\x51\x78\x73\x2f\x26\x35\xca\xd9\xef\x53\x2f\xe5\x72\xf4\xcf\xe8\ +\x98\xe0\x21\x9f\x29\xf3\xca\x0b\x01\xae\xf1\x57\x69\xf4\x7c\x18\ +\x93\x4c\xe8\x1f\xc0\x5a\x72\xe5\x6c\x3c\x86\xca\xeb\x0b\x3a\xd6\ +\xc5\x0c\xb6\x55\xc9\xf7\xed\x3a\xdf\x05\x4b\x0d\x6c\xf5\x8e\x65\ +\xf6\x28\xff\x63\xba\x8f\xee\x05\x5a\x29\x10\xc9\x19\x96\x3a\xbb\ +\x5a\x09\xcf\x9a\x58\x7a\xce\x19\xa8\x87\x28\xe7\x33\x65\x77\x55\ +\x35\x34\xfe\x00\x20\xab\xae\xaf\x40\x25\xb8\x36\xdf\x5d\x03\xc4\ +\x4d\xfd\x19\x86\x5a\x77\x75\xdb\xd7\x22\x5c\x93\x6a\xbe\xa2\x31\ +\x23\xa3\x8f\xab\x9b\x3c\xb5\xc6\x2c\x94\xb4\x10\xd4\x38\xa7\xfe\ +\x14\xb4\x41\xe4\x2f\xe9\xed\xe7\x4b\x40\xe9\x08\x37\x04\xbb\x4a\ +\xbe\x21\x0b\x82\x3c\xde\x06\x3c\xee\xf7\x49\xbc\x8a\xbd\x45\x94\ +\xea\xc0\xbe\x56\xac\x1a\xe0\x7a\xd4\x02\xad\x54\x3d\x55\x37\xde\ +\xe6\xc3\xbb\xae\x73\xfd\x3b\xbc\xad\x56\x7d\xb1\x71\x69\xed\xa4\ +\x5f\xb9\xe5\x98\x3f\x92\x35\xd4\x74\x4e\x02\x92\x5c\x01\x31\xa5\ +\xc9\x55\x48\x52\xd8\x60\xd2\xab\x28\xb9\x06\xff\xa3\xa3\xa1\x8d\ +\xbf\xf6\xd8\x96\xbc\x2f\x37\xb4\xd7\xee\xfa\x8d\xa2\x85\x85\x17\ +\x29\x4b\x88\xdb\xb8\xf6\x56\x12\x04\x73\x21\x58\x52\x4b\xd2\x07\ +\x9a\xcd\x67\x79\xf5\x80\x9c\xaa\x6b\x5b\xd2\xf5\x87\xf6\xfe\x93\ +\x5f\x1f\xd8\x96\xf2\xfc\xa1\x7d\xf4\xec\x70\x7b\x3c\xc5\x51\x15\ +\x73\x63\x0a\x29\x55\x18\x93\x2c\x1b\xda\xea\x22\xa2\x7d\x7a\xa2\ +\xf2\xdd\xe9\x7f\xff\xf8\xfd\xaf\x92\x20\x4b\x07\x3f\xfe\xe9\x07\ +\xd5\xf9\xdf\x7f\xfe\xa2\x3a\xef\xff\xfa\xf7\xbc\xf3\xcf\x7f\xe5\ +\x34\xff\xfe\x0e\xa6\x53\x8c\x5b\x93\xe4\xd7\x03\x8b\x6b\xa1\xf6\ +\x5c\x8c\xd7\xef\x85\x62\xbb\x77\x82\x5b\xd7\x1a\xc9\x73\xba\x17\ +\xda\x0b\x82\x78\xa8\xf4\x02\x42\x8a\x47\xc9\x24\x1a\xcb\x0b\x7d\ +\x2f\x3c\x9a\x84\x6c\x44\x6b\x7c\x64\x74\x39\x79\x0d\x0c\xf2\x03\ +\x28\xdf\xd6\x55\xee\xf8\xf2\xb2\x93\x4d\xd9\xed\x37\x24\x8e\x46\ +\xcf\x67\x00\xf1\x59\xa7\x60\xab\x7b\xf3\xee\x9d\xbe\xfe\xd7\x3b\ +\xf2\xad\x07\x55\x93\x78\x49\xb3\x0c\x86\x71\xa8\x63\x88\xbc\xce\ +\x2c\x9b\x74\x8e\x9b\xb6\x3e\x1d\xa4\x99\x34\xec\x7c\x3a\x33\x20\ +\xea\x64\x9d\xdd\x37\x3e\x90\x45\x4a\x18\x9a\x72\x3a\x6e\x11\xd3\ +\x10\x81\x0a\x34\xc0\x8e\x2c\x94\xa7\x10\xae\xd5\xb9\xba\x52\xc1\ +\xd5\x01\xbb\x7e\xfd\xea\x4b\x63\x74\x62\x2c\xc2\x97\x13\x79\x9f\ +\xf8\xf4\xff\x1c\x6c\x23\xd4\ +" + +qt_resource_name = b"\ +\x00\x09\ +\x0b\xc9\x66\x13\ +\x00\x6a\ +\x00\x71\x00\x75\x00\x65\x00\x72\x00\x79\x00\x2e\x00\x6a\x00\x73\ +\x00\x09\ +\x0b\x84\x0c\x3c\ +\x00\x74\ +\x00\x72\x00\x65\x00\x65\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ +\x00\x00\x00\x18\x00\x01\x00\x00\x00\x01\x00\x01\x78\x80\ +\x00\x00\x00\x00\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() diff --git a/其它/自动更新/pyos/mylibs/__init__.pyo b/其它/自动更新/pyos/mylibs/__init__.pyo deleted file mode 100644 index 42ad209c4d6a471414e2e9d776eba4b24b40c331..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101 zcmaFI!^_37oiCCB2p)q77+?f49Dul(1xTbYFa&Ed`mJOr0tq9CUqZQ+IhjetG4b)4 cd6^~g@p=W7w>WHa^HWN5Qtd!$i-DK{06S+BnE(I) diff --git a/其它/自动更新/pyos/mylibs/testlibs.pyo b/其它/自动更新/pyos/mylibs/testlibs.pyo deleted file mode 100644 index a813215cbbc0a450c1f745b52d01806a4c1ea592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmZvY%}T>S6ov1kNgL9iMHj9^S7tM$rPv=ts>OwyLMaGFWzbHsfuw0CiI8q};j6gu z0R-_qx)s5d58%o>X>F@G!yL}s;ht}}pM|2~y_U{&1>g;~7T%$QC!{DGz(FP85a0?p z3h)eY74ET)MgyKry$U=B151xv*mRV%%@Yw!5?VR`czSt%c)m3H{kGX`)f#)vdc9#B z`&X{FRp`uSbQt(?1-rY!G!gF2I5KyKmRYl_jlW^@{OL%9ZZI*c)E;8XdJ%M8JfVt$ zzaCghZ?4(YrqxFf@^vF$Wk2!U>+m8Pg^@ILnk;g+%jB{Qk&^%-GN`{OvYt{(XrdH! zM}Xk0QeJ75(Kb`CMHbprxRYpuUOE}GP$hi_-49Je-?KEwVC*oC#(`kWDKfU63SRS! ftp>nY`a2<;{*Bl7{eZ{b=%6SOI!cz{&J@&dk?Cr#