diff options
Diffstat (limited to 'kivio/kiviopart/kivioglobal.cpp')
-rw-r--r-- | kivio/kiviopart/kivioglobal.cpp | 1317 |
1 files changed, 1317 insertions, 0 deletions
diff --git a/kivio/kiviopart/kivioglobal.cpp b/kivio/kiviopart/kivioglobal.cpp new file mode 100644 index 00000000..d9e08037 --- /dev/null +++ b/kivio/kiviopart/kivioglobal.cpp @@ -0,0 +1,1317 @@ +/* This file is part of the KDE project + Copyright (C) 2003-2004 Peter Simonsson <psn@linux.se> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "kivioglobal.h" + +#include <qdom.h> +#include <qpixmap.h> +#include <qprinter.h> + +#include <kdebug.h> +#include <kglobal.h> +#include <klocale.h> + +#include <KoGenStyles.h> +#include <KoZoomHandler.h> +#include <KoGlobal.h> + +#include "kivio_common.h" +#include "kivio_settings.h" +#include "kivio_stencil.h" +#include "kivio_intra_stencil_data.h" +#include "kivio_screen_painter.h" + +struct PaperSizeDef { + const char* title; + float width; + float height; + int unit; +}; + +void Kivio::savePageLayout(QDomElement& e, const KoPageLayout& layout) +{ + XmlWriteFloat(e, "width", layout.ptWidth); + XmlWriteFloat(e, "height", layout.ptHeight); + XmlWriteFloat(e, "marginLeft", layout.ptLeft); + XmlWriteFloat(e, "marginRight", layout.ptRight); + XmlWriteFloat(e, "marginTop", layout.ptTop); + XmlWriteFloat(e, "marginBottom", layout.ptBottom); + XmlWriteString(e, "format", KoPageFormat::formatString(layout.format)); + XmlWriteString(e, "orientation", Kivio::orientationString(layout.orientation)); +} + +// ## TODO: remove this method, now that layout.saveOasis() does it all +KoGenStyle Kivio::savePageLayout(const KoPageLayout& layout) +{ + return layout.saveOasis(); +} + +KoPageLayout Kivio::loadPageLayout(const QDomElement& e) +{ + KoPageLayout layout; + + if(e.hasAttribute("unit")) { + // Compatibility with Kivio <= 1.2.x + kdDebug(43000) << "Compatibility mode..." << endl; + KoUnit::Unit unit = Kivio::convToKoUnit(XmlReadInt(e, "unit", 0)); + layout.ptWidth = KoUnit::fromUserValue(XmlReadFloat(e, "width", 0.0), unit); + layout.ptHeight = KoUnit::fromUserValue(XmlReadFloat(e, "height", 0.0), unit); + layout.ptLeft = KoUnit::fromUserValue(XmlReadFloat(e, "marginLeft", 0.0), unit); + layout.ptRight = KoUnit::fromUserValue(XmlReadFloat(e, "marginRight", 0.0), unit); + layout.ptTop = KoUnit::fromUserValue(XmlReadFloat(e, "marginTop", 0.0), unit); + layout.ptBottom = KoUnit::fromUserValue(XmlReadFloat(e, "marginBottom", 0.0), unit); + Kivio::setFormatOrientation(layout); + kdDebug(43000) << "Ready." << endl; + } else { + layout.ptWidth = XmlReadFloat(e, "width", 0.0); + layout.ptHeight = XmlReadFloat(e, "height", 0.0); + layout.ptLeft = XmlReadFloat(e, "marginLeft", 0.0); + layout.ptRight = XmlReadFloat(e, "marginRight", 0.0); + layout.ptTop = XmlReadFloat(e, "marginTop", 0.0); + layout.ptBottom = XmlReadFloat(e, "marginBottom", 0.0); + layout.format = KoPageFormat::formatFromString(XmlReadString(e, "format", pageSizeString(KGlobal::locale()->pageSize()))); + layout.orientation = Kivio::orientationFromString(XmlReadString(e, "orientation", "Portrait")); + } + + return layout; +} + +KoUnit::Unit Kivio::convToKoUnit(int tkUnit) +{ + switch(tkUnit) { + case 0: + return KoUnit::U_PT; + case 1: + return KoUnit::U_MM; + case 2: + return KoUnit::U_INCH; + case 3: + return KoUnit::U_PI; + case 4: + return KoUnit::U_CM; + case 5: + return KoUnit::U_DD; + case 6: + return KoUnit::U_CC; + } + + return KoUnit::U_PT; +} + +QString Kivio::orientationString(KoOrientation o) +{ + if(o == PG_LANDSCAPE) { + return "Landscape"; + } + + return "Portrait"; +} + +KoOrientation Kivio::orientationFromString(const QString& s) +{ + if(s == "Landscape") { + return PG_LANDSCAPE; + } + + return PG_PORTRAIT; +} + +void Kivio::setFormatOrientation(KoPageLayout& layout) +{ + const PaperSizeDef PapersTable[] = { + {"A0",841,1189,KoUnit::U_MM}, + {"A1",594,841,KoUnit::U_MM}, + {"A2",420,594,KoUnit::U_MM}, + {"A3",297,420,KoUnit::U_MM}, + {"A4",210,297,KoUnit::U_MM}, + {"A5",148,210,KoUnit::U_MM}, + + {"B4",250,353,KoUnit::U_MM}, + {"B6",125,176,KoUnit::U_MM}, + + {"C4",229,324,KoUnit::U_MM}, + {"C5",162,229,KoUnit::U_MM}, + {"C5",114,162,KoUnit::U_MM}, + + {"DL",110,220,KoUnit::U_MM}, + + {"Letter",8.5,11,KoUnit::U_INCH}, + {"Legal",8.5,14,KoUnit::U_INCH}, + + {"A",8.5,11,KoUnit::U_INCH}, + {"B",11,17,KoUnit::U_INCH}, + {"C",17,22,KoUnit::U_INCH}, + {"D",22,34,KoUnit::U_INCH}, + {"E",34,44,KoUnit::U_INCH}, + + {"null",0,0,-2} // -2 for end of list + }; + int j = 0; + PaperSizeDef sizeDef = PapersTable[0]; + bool found = false; + float width, height; + layout.format = PG_CUSTOM; + layout.orientation = PG_PORTRAIT; + + while((sizeDef.unit != -2) && !found) { + width = KoUnit::fromUserValue(sizeDef.width, static_cast<KoUnit::Unit>(sizeDef.unit)); + height = KoUnit::fromUserValue(sizeDef.height, static_cast<KoUnit::Unit>(sizeDef.unit)); + + if((layout.ptWidth == width) && (layout.ptHeight == height)) { + layout.format = KoPageFormat::formatFromString(sizeDef.title); + layout.orientation = PG_PORTRAIT; + found = true; + } else if((layout.ptWidth == height) && (layout.ptHeight == width)) { + layout.format = KoPageFormat::formatFromString(sizeDef.title); + layout.orientation = PG_LANDSCAPE; + found = true; + } + + sizeDef = PapersTable[++j]; + } +} + +KoSize Kivio::loadSize(const QDomElement& e, const QString& name, const KoSize& def) +{ + KoSize size; + if(e.hasAttribute(name + "Unit")) { + // Compatibility with Kivio <= 1.2.x + KoUnit::Unit unit = Kivio::convToKoUnit(XmlReadInt(e, name + "Unit", 0)); + size.setWidth(KoUnit::fromUserValue(XmlReadFloat(e, name + "Width", def.width()), unit)); + size.setHeight(KoUnit::fromUserValue(XmlReadFloat(e, name + "Height", def.height()), unit)); + } else { + size.setWidth(XmlReadFloat(e, name + "Width", def.width())); + size.setHeight(XmlReadFloat(e, name + "Height", def.height())); + } + + return size; +} + +void Kivio::saveSize(QDomElement& e, const QString& name, const KoSize& size) +{ + XmlWriteFloat(e, name + "Width", size.width()); + XmlWriteFloat(e, name + "Height", size.height()); +} + +QString Kivio::pageSizeString(int pageSize) +{ + QString psStr = "A4"; + + switch(pageSize) { + case QPrinter::A0: + psStr = "A0"; + break; + case QPrinter::A1: + psStr = "A1"; + break; + case QPrinter::A2: + psStr = "A2"; + break; + case QPrinter::A3: + psStr = "A3"; + break; + case QPrinter::A5: + psStr = "A5"; + break; + case QPrinter::A6: + psStr = "A6"; + break; + case QPrinter::A7: + psStr = "A7"; + break; + case QPrinter::A8: + psStr = "A8"; + break; + case QPrinter::A9: + psStr = "A9"; + break; + case QPrinter::B0: + psStr = "B0"; + break; + case QPrinter::B1: + psStr = "B1"; + break; + case QPrinter::B10: + psStr = "B10"; + break; + case QPrinter::B2: + psStr = "B2"; + break; + case QPrinter::B3: + psStr = "B3"; + break; + case QPrinter::B4: + psStr = "B4"; + break; + case QPrinter::B5: + psStr = "B5"; + break; + case QPrinter::B6: + psStr = "B6"; + break; + case QPrinter::B7: + psStr = "B7"; + break; + case QPrinter::B8: + psStr = "B8"; + break; + case QPrinter::B9: + psStr = "B9"; + break; + case QPrinter::C5E: + psStr = "C5"; + break; + case QPrinter::Comm10E: + psStr = "Comm10"; + break; + case QPrinter::DLE: + psStr = "DL"; + break; + case QPrinter::Executive: + psStr = "Executive"; + break; + case QPrinter::Folio: + psStr = "Folio"; + break; + case QPrinter::Ledger: + psStr = "Ledger"; + break; + case QPrinter::Legal: + psStr = "Legal"; + break; + case QPrinter::Letter: + psStr = "Letter"; + break; + case QPrinter::Tabloid: + psStr = "Tabloid"; + break; + case QPrinter::Custom: + psStr = "Custom"; + break; + case QPrinter::A4: + default: + psStr = "A4"; + break; + }; + + return psStr; +} + +QPixmap Kivio::arrowHeadPixmap() +{ + const char* lineends[] = { + "50 272 2 1", + " c #000000", + "X c #ffffff", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXX X", + "X X XXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX X XXXX X XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXX XX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX XXXXXX X", + "X X XXXXXX XXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXX X XXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XX XXX XX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXX X", + "X X XXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"//, + /*"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X X XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X X XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X X XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",*/ + /*"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXX X", + "X X XXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X", + "X X XXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X", + "X X XXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX X", + "X X XXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX X", + "X X XXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X", + "X X XXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XX XXXXXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX XXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX XXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX XXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX XXXXX X", + "X X XXXXXXXXXXXXXXX XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X", + "X X XXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXX X X XXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X", + "X X XXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXX XXXXXXXXXXX X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXX XXXXXXX XXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX X", + "X X XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "X X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XX XXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX XXXXXXX X", + "X X XXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX XXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX XXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXX XX XXXXXX XXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X", + "X X", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"*/ + }; + + return QPixmap(lineends); +} + +QPixmap Kivio::connectorTargetPixmap() +{ + const char * connectorTarget_xpm[] = { + "7 7 3 1", + " c None", + ". c #FFFFFF", + "+ c #051EFF", + " . . ", + ".+. .+.", + " .+.+. ", + " .+. ", + " .+.+. ", + ".+. .+.", + " . . "}; + + return QPixmap(connectorTarget_xpm); +} + +QPixmap Kivio::lockPixmap() +{ + const char * lock_xpm[] = { + "10 10 3 1", + " c None", + ". c #FFFFFF", + "+ c #000000", + " .. ", + " .++. ", + " .+..+. ", + " .+..+. ", + " .++++++. ", + " .+....+. ", + " .+. .+. ", + " .+....+. ", + " .++++++. ", + " ...... "}; + + return QPixmap(lock_xpm); +} + +QString Kivio::systemDefaultUnit() +{ + QString defMS = "cm"; + + if(KGlobal::locale()->measureSystem() == KLocale::Imperial) { + defMS = "in"; + } + + return defMS; +} + +QPixmap Kivio::generatePixmapFromStencil(int width, int height, KivioStencil* stencil) +{ + KoZoomHandler zoomHandler; + QRect rect = zoomHandler.zoomRect(stencil->rect()); + + double zw = (double)(width - 2) / (double)rect.width(); + double zh = (double)(height - 2) / (double)rect.height(); + zoomHandler.setZoomAndResolution(qRound(kMin(zw, zh) * 100.0), KoGlobal::dpiX(), KoGlobal::dpiY()); + rect = zoomHandler.zoomRect(stencil->rect()); + + QPixmap pix(width, height); + pix.fill(Qt::white); + KivioScreenPainter kpainter; + kpainter.start(&pix); + kpainter.translateBy(-rect.x() + ((width - rect.width()) / 2), -rect.y() + ((height - rect.height()) / 2)); + KivioIntraStencilData data; + data.painter = &kpainter; + data.zoomHandler = &zoomHandler; + stencil->paint(&data); + kpainter.stop(); + + return pix; +} |