diff options
Diffstat (limited to 'src')
139 files changed, 6435 insertions, 4803 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 337703bda3a..1147205b79f 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -577,10 +577,15 @@ if(QT_FEATURE_async_io) io/qrandomaccessasyncfile.cpp io/qrandomaccessasyncfile_p.h io/qrandomaccessasyncfile_p_p.h ) - # TODO: This should become the last (fallback) condition later. - # We migth also want to rewrite it so that it does not depend on - # QT_FEATURE_future. - if(QT_FEATURE_thread AND QT_FEATURE_future) + if(APPLE) + qt_internal_extend_target(Core + SOURCES + io/qrandomaccessasyncfile_darwin.mm + ) + elseif(QT_FEATURE_thread AND QT_FEATURE_future) + # TODO: This should become the last (fallback) condition later. + # We migth also want to rewrite it so that it does not depend on + # QT_FEATURE_future. qt_internal_extend_target(Core SOURCES io/qrandomaccessasyncfile_threadpool.cpp diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 82179cfd89a..8aad11dfca7 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -1157,6 +1157,18 @@ function(_qt_internal_assign_to_internal_targets_folder target) endif() endfunction() +# Returns the metatypes build dir where the Qt build system places module metatypes json files and +# other supporting metatypes files like ${target}_json_file_list.txt. +# The path is usually the target's BINARY_DIR + "/meta_types" +function(_qt_internal_get_metatypes_build_dir out_var target) + get_target_property(target_binary_dir "${target}" BINARY_DIR) + set(out_dir "${target_binary_dir}/meta_types") + set(${out_var} "${out_dir}" PARENT_SCOPE) +endfunction() + +# The AUTOGEN build dir is the location where all the generated .cpp files are placed, as well +# as the moc_predefs.h, timestamp file and deps files. +# E.g. ${CMAKE_CURRENT_BINARY_DIR}/${target}_autogen/moc_predefs.h function(_qt_internal_get_target_autogen_build_dir target out_var) get_property(target_autogen_build_dir TARGET ${target} PROPERTY AUTOGEN_BUILD_DIR) if(target_autogen_build_dir) @@ -1167,6 +1179,14 @@ function(_qt_internal_get_target_autogen_build_dir target out_var) endif() endfunction() +# The AUTOGEN info dir is the location where AutogenInfo.json and ParseCache.txt files are placed. +# E.g. ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${target}_autogen.dir/ParseCache.txt +function(_qt_internal_get_target_autogen_info_dir target out_var) + get_target_property(target_binary_dir ${target} BINARY_DIR) + set(autogen_info_dir "${target_binary_dir}/CMakeFiles/${target}_autogen.dir") + set(${out_var} "${autogen_info_dir}" PARENT_SCOPE) +endfunction() + function(_qt_internal_should_install_metatypes target) set(args_option INTERNAL_INSTALL @@ -1354,12 +1374,14 @@ function(qt6_extract_metatypes target) return() endif() - get_target_property(target_binary_dir ${target} BINARY_DIR) - set(type_list_file "${target_binary_dir}/meta_types/${target}_json_file_list.txt") - set(type_list_file_manual "${target_binary_dir}/meta_types/${target}_json_file_list_manual.txt") + _qt_internal_get_metatypes_build_dir(metatypes_dir "${target}") + + set(type_list_file "${metatypes_dir}/${target}_json_file_list.txt") + set(type_list_file_manual "${metatypes_dir}/${target}_json_file_list_manual.txt") set(target_autogen_build_dir "") _qt_internal_get_target_autogen_build_dir(${target} target_autogen_build_dir) + _qt_internal_get_target_autogen_info_dir(${target} target_autogen_info_dir) get_target_property(uses_automoc ${target} AUTOMOC) set(automoc_args) @@ -1373,21 +1395,18 @@ function(qt6_extract_metatypes target) get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(NOT is_multi_config) - set(cmake_autogen_cache_file - "${target_binary_dir}/CMakeFiles/${target}_autogen.dir/ParseCache.txt") + set(cmake_autogen_cache_file "${target_autogen_info_dir}/ParseCache.txt") set(multi_config_args --cmake-autogen-include-dir-path "${target_autogen_build_dir}/include" ) else() - set(cmake_autogen_cache_file - "${target_binary_dir}/CMakeFiles/${target}_autogen.dir/ParseCache_$<CONFIG>.txt") + set(cmake_autogen_cache_file "${target_autogen_info_dir}/ParseCache_$<CONFIG>.txt") set(multi_config_args --cmake-autogen-include-dir-path "${target_autogen_build_dir}/include_$<CONFIG>" "--cmake-multi-config") endif() - set(cmake_autogen_info_file - "${target_binary_dir}/CMakeFiles/${target}_autogen.dir/AutogenInfo.json") + set(cmake_autogen_info_file "${target_autogen_info_dir}/AutogenInfo.json") set (use_dep_files FALSE) if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.17") # Requires automoc changes present only in 3.17 @@ -1502,11 +1521,11 @@ function(qt6_extract_metatypes target) string(TOLOWER ${target} target_lowercase) set(metatypes_file_name "qt6${target_lowercase}_metatypes.json") - set(metatypes_file "${target_binary_dir}/meta_types/${metatypes_file_name}") - set(metatypes_file_gen "${target_binary_dir}/meta_types/${metatypes_file_name}.gen") + set(metatypes_file "${metatypes_dir}/${metatypes_file_name}") + set(metatypes_file_gen "${metatypes_dir}/${metatypes_file_name}.gen") set(metatypes_dep_file_name "qt6${target_lowercase}_metatypes_dep.txt") - set(metatypes_dep_file "${target_binary_dir}/meta_types/${metatypes_dep_file_name}") + set(metatypes_dep_file "${metatypes_dir}/${metatypes_dep_file_name}") # Due to generated source file dependency rules being tied to the directory # scope in which they are created it is not possible for other targets which @@ -1517,7 +1536,7 @@ function(qt6_extract_metatypes target) # file is then replaced with the contents of the generated file during # build. if (NOT EXISTS ${metatypes_file}) - file(MAKE_DIRECTORY "${target_binary_dir}/meta_types") + file(MAKE_DIRECTORY "${metatypes_dir}") file(TOUCH ${metatypes_file}) endif() diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index f7587f1b446..b7ef3ee06f1 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -1290,6 +1290,13 @@ QByteArray QMetaEnum::valueToKeys(int value) const #include "qmutex.h" +#include "qbytearray.h" + +QByteArray QByteArray::percentDecoded(char percent) const +{ + return fromPercentEncoding(*this, percent); +} + #if QT_CONFIG(thread) void QBasicMutex::destroyInternal(QMutexPrivate *d) { @@ -1516,6 +1523,13 @@ void QReadWriteLock::unlock() } #endif // QT_CONFIG(thread) +#include "qsavefile.h" + +QSaveFile::QSaveFile(const QString &name) + : QSaveFile(name, nullptr) +{ +} + #include "qtimer.h" void QTimer::singleShotImpl(int msec, Qt::TimerType timerType, diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake index 535e3742cd2..d951b85c147 100644 --- a/src/corelib/configure.cmake +++ b/src/corelib/configure.cmake @@ -1233,7 +1233,7 @@ qt_feature("openssl-hash" PRIVATE qt_feature("async-io" PRIVATE LABEL "Async File I/O" PURPOSE "Provides support for asynchronous file I/O." - CONDITION QT_FEATURE_thread AND QT_FEATURE_future + CONDITION (QT_FEATURE_thread AND QT_FEATURE_future) OR APPLE ) qt_configure_add_summary_section(NAME "Qt Core") diff --git a/src/corelib/doc/src/qtcore.qdoc b/src/corelib/doc/src/qtcore.qdoc index ea65d68da58..ec5fa564639 100644 --- a/src/corelib/doc/src/qtcore.qdoc +++ b/src/corelib/doc/src/qtcore.qdoc @@ -19,8 +19,7 @@ \module QtCorePrivate \title Qt Core Private C++ Classes \qtvariable core-private - \qtcmakepackage Core - \qtcmaketargetitem CorePrivate + \qtcmakepackage CorePrivate \preliminary \brief Provides private core functionality. @@ -28,7 +27,7 @@ private Qt Core APIs: \badcode - find_package(Qt6 REQUIRED COMPONENTS Core) + find_package(Qt6 REQUIRED COMPONENTS CorePrivate) target_link_libraries(mytarget PRIVATE Qt6::CorePrivate) \endcode */ diff --git a/src/corelib/global/qalloc.h b/src/corelib/global/qalloc.h index 9d40f4261d3..a05c09ac63c 100644 --- a/src/corelib/global/qalloc.h +++ b/src/corelib/global/qalloc.h @@ -21,6 +21,7 @@ #include <QtCore/qtypeinfo.h> #include <cstddef> +#include <cstdlib> QT_BEGIN_NAMESPACE diff --git a/src/corelib/global/qassert.cpp b/src/corelib/global/qassert.cpp index e4f3a76e4f4..2741077977c 100644 --- a/src/corelib/global/qassert.cpp +++ b/src/corelib/global/qassert.cpp @@ -204,7 +204,20 @@ void qBadAlloc() Do not use it in new code. It is retained as-is for compatibility with old code and will likely be removed in the next major version Qt. - \sa Q_ASSERT(), Q_UNREACHABLE(), Q_LIKELY() + \sa Q_ASSERT(), Q_UNREACHABLE(), Q_LIKELY(), Q_PRESUME() +*/ + +/*! + \macro void Q_PRESUME(bool expr) + \relates <QtAssert> + \since 6.11 + + Causes the compiler to assume that \a expr is \c true. + + This macro emits Q_ASSERT() and a C++23-style \c{[[assume]]} attribute + when supported by the compiler. Otherwise it falls back to Q_ASSERT(). + + \sa Q_ASSERT(), Q_UNREACHABLE(), Q_LIKELY(), Q_ASSUME() */ /*! @@ -240,7 +253,7 @@ void qBadAlloc() compilers that need them, without causing warnings for compilers that complain about its presence. - \sa Q_ASSERT(), qFatal(), Q_UNREACHABLE_RETURN() + \sa Q_ASSERT(), qFatal(), Q_UNREACHABLE_RETURN(), Q_PRESUME() */ /*! @@ -255,6 +268,6 @@ void qBadAlloc() \endcode except it omits the return on compilers that would warn about it. - \sa Q_UNREACHABLE() + \sa Q_UNREACHABLE(), Q_PRESUME() */ QT_END_NAMESPACE diff --git a/src/corelib/global/qassert.h b/src/corelib/global/qassert.h index d1d306fd3ed..05210acb2d4 100644 --- a/src/corelib/global/qassert.h +++ b/src/corelib/global/qassert.h @@ -100,6 +100,25 @@ inline bool qt_assume_is_deprecated(bool cond) noexcept { return cond; } Q_ASSUME_IMPL(valueOfExpression);\ }(qt_assume_is_deprecated(Expr)) + +#if __has_builtin(__builtin_assume) +// Clang has this intrinsic and won't warn about its use in C++20 mode +# define Q_PRESUME_IMPL(assumption) __builtin_assume(assumption) +#elif __has_cpp_attribute(assume) +// GCC has implemented this attribute and allows its use in C++20 mode +# define Q_PRESUME_IMPL(assumption) [[assume(assumption)]] +#elif defined(Q_CC_MSVC) +# define Q_PRESUME_IMPL(assumption) __assume(assumption) +#else +# define Q_PRESUME_IMPL(assumption) (void)0 +#endif + +#define Q_PRESUME(assumption) \ + [&] { \ + Q_ASSERT(assumption); \ + Q_PRESUME_IMPL(assumption); \ + }() + // Don't use these in C++ mode, use static_assert directly. // These are here only to keep old code compiling. # define Q_STATIC_ASSERT(Condition) static_assert(bool(Condition), #Condition) diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h index 700c59ab3c7..df55baf3120 100644 --- a/src/corelib/global/qcompilerdetection.h +++ b/src/corelib/global/qcompilerdetection.h @@ -1443,6 +1443,10 @@ QT_WARNING_DISABLE_MSVC(4706) /* assignment within conditional expression */ QT_WARNING_DISABLE_MSVC(4355) /* 'this' : used in base member initializer list */ QT_WARNING_DISABLE_MSVC(4710) /* function not inlined */ QT_WARNING_DISABLE_MSVC(4530) /* C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc */ +# elif defined(Q_CC_CLANG_ONLY) +# if Q_CC_CLANG >= 2100 + QT_WARNING_DISABLE_CLANG("-Wcharacter-conversion") /* until https://github.com/llvm/llvm-project/issues/163719 is fixed */ +# endif # elif defined(Q_CC_BOR) # pragma option -w-inl # pragma option -w-aus diff --git a/src/corelib/global/qfloat16.h b/src/corelib/global/qfloat16.h index 01106abf34d..cb8514105a0 100644 --- a/src/corelib/global/qfloat16.h +++ b/src/corelib/global/qfloat16.h @@ -354,15 +354,15 @@ inline int qIntCast(qfloat16 f) noexcept { return int(static_cast<qfloat16::NearestFloat>(f)); } #if !defined(Q_QDOC) && !QFLOAT16_IS_NATIVE -QT_WARNING_PUSH -QT_WARNING_DISABLE_CLANG("-Wc99-extensions") -QT_WARNING_DISABLE_GCC("-Wold-style-cast") inline qfloat16::qfloat16(float f) noexcept { #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__F16C__) __m128 packsingle = _mm_set_ss(f); + QT_WARNING_PUSH + QT_WARNING_DISABLE_GCC("-Wold-style-cast") // _mm_cvtps_ph() may be a macro using C-style casts __m128i packhalf = _mm_cvtps_ph(packsingle, 0); - b16 = _mm_extract_epi16(packhalf, 0); + QT_WARNING_POP + b16 = quint16(_mm_extract_epi16(packhalf, 0)); #elif defined (__ARM_FP16_FORMAT_IEEE) __fp16 f16 = __fp16(f); memcpy(&b16, &f16, sizeof(quint16)); @@ -393,7 +393,6 @@ inline qfloat16::qfloat16(float f) noexcept b16 = quint16(base + (mantissa >> shift)); #endif } -QT_WARNING_POP inline qfloat16::operator float() const noexcept { diff --git a/src/corelib/global/qnumeric.h b/src/corelib/global/qnumeric.h index 723a462bae1..6caf3510f8a 100644 --- a/src/corelib/global/qnumeric.h +++ b/src/corelib/global/qnumeric.h @@ -27,6 +27,8 @@ # include <QtCore/qstdlibdetection.h> # if defined(Q_CC_GNU_ONLY) && (defined(Q_STL_LIBCPP) || Q_CC_GNU_ONLY < 1500) // broken - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121811 +# elif defined(Q_OS_FREEBSD) && __FreeBSD_version <= 1500000 +// broken - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290299 # else # include <stdckdint.h> # endif diff --git a/src/corelib/io/qfile.h b/src/corelib/io/qfile.h index 19c938f8c3c..0ed6bb7e0a9 100644 --- a/src/corelib/io/qfile.h +++ b/src/corelib/io/qfile.h @@ -10,17 +10,6 @@ #include <QtCore/qstring.h> #include <stdio.h> -#if QT_CONFIG(cxx17_filesystem) -#include <filesystem> -#elif defined(Q_QDOC) -namespace std { - namespace filesystem { - class path { - }; - }; -}; -#endif - #ifdef open #error qfile.h must be included before any header file that defines open #endif @@ -57,26 +46,10 @@ public: #if QT_CONFIG(cxx17_filesystem) namespace QtPrivate { -inline QString fromFilesystemPath(const std::filesystem::path &path) -{ - // we could use QAnyStringView, but this allows us to statically determine - // the correct toString() call - using View = std::conditional_t<sizeof(std::filesystem::path::value_type) == sizeof(char16_t), - QStringView, QUtf8StringView>; - return View(path.native()).toString(); -} - -inline std::filesystem::path toFilesystemPath(const QString &path) -{ - if constexpr (sizeof(std::filesystem::path::value_type) == sizeof(char16_t)) - return std::u16string_view(QStringView(path)); - else - return path.toStdString(); -} - // Both std::filesystem::path and QString (without QT_NO_CAST_FROM_ASCII) can be implicitly // constructed from string literals so we force the std::fs::path parameter to only // accept std::fs::path with no implicit conversions. +// ### Qt7: use Q_WEAK_OVERLOAD template<typename T> using ForceFilesystemPath = typename std::enable_if_t<std::is_same_v<std::filesystem::path, T>, int>; } diff --git a/src/corelib/io/qfiledevice.h b/src/corelib/io/qfiledevice.h index 18ecd035122..4d51fa50d7e 100644 --- a/src/corelib/io/qfiledevice.h +++ b/src/corelib/io/qfiledevice.h @@ -8,11 +8,43 @@ #include <QtCore/qiodevice.h> #include <QtCore/qstring.h> +#if QT_CONFIG(cxx17_filesystem) +#include <filesystem> +#elif defined(Q_QDOC) +namespace std { + namespace filesystem { + class path { + }; + }; +}; +#endif + QT_BEGIN_NAMESPACE class QDateTime; class QFileDevicePrivate; +#if QT_CONFIG(cxx17_filesystem) +namespace QtPrivate { +inline QString fromFilesystemPath(const std::filesystem::path &path) +{ + // we could use QAnyStringView, but this allows us to statically determine + // the correct toString() call + using View = std::conditional_t<sizeof(std::filesystem::path::value_type) == sizeof(char16_t), + QStringView, QUtf8StringView>; + return View(path.native()).toString(); +} + +inline std::filesystem::path toFilesystemPath(const QString &path) +{ + if constexpr (sizeof(std::filesystem::path::value_type) == sizeof(char16_t)) + return std::u16string_view(QStringView(path)); + else + return path.toStdString(); +} +} // namespace QtPrivate +#endif // QT_CONFIG(cxx17_filesystem) + #if !defined(QT_USE_NODISCARD_FILE_OPEN) && !defined(QT_NO_USE_NODISCARD_FILE_OPEN) # if QT_VERSION < QT_VERSION_CHECK(6, 10, 0) # define QT_NO_USE_NODISCARD_FILE_OPEN diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index 36476ca4ae7..b1cda806552 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -1197,8 +1197,18 @@ auto QFileSystemEngine::cloneFile(int srcfd, int dstfd, const QFileSystemMetaDat copied = ftruncate(dstfd, 0); return TriStateResult::Failed; } - if (errno != EXDEV) + + // We failed with no bytes copied, so is this a real filesystem failure + // that will remain with sendfile() or the copy pump? Or is it a + // copy_file_range() condition? + switch (errno) { + case EINVAL: // observed with some obscure filesystem combinations + case EXDEV: // Linux can't do xdev file copies (FreeBSD can) + break; + + default: return TriStateResult::Failed; + } #endif #if defined(Q_OS_LINUX) diff --git a/src/corelib/io/qiooperation_p_p.h b/src/corelib/io/qiooperation_p_p.h index d6fef439a85..470e0858fd3 100644 --- a/src/corelib/io/qiooperation_p_p.h +++ b/src/corelib/io/qiooperation_p_p.h @@ -73,34 +73,34 @@ public: ReadSpans &getReadSpans() { Q_ASSERT(containsReadSpans()); - return std::get<ReadSpans>(data); + return *std::get_if<ReadSpans>(&data); } const ReadSpans &getReadSpans() const { Q_ASSERT(containsReadSpans()); - return std::get<ReadSpans>(data); + return *std::get_if<ReadSpans>(&data); } WriteSpans &getWriteSpans() { Q_ASSERT(containsWriteSpans()); - return std::get<WriteSpans>(data); + return *std::get_if<WriteSpans>(&data); } const WriteSpans &getWriteSpans() const { Q_ASSERT(containsWriteSpans()); - return std::get<WriteSpans>(data); + return *std::get_if<WriteSpans>(&data); } QByteArray &getByteArray() { Q_ASSERT(containsByteArray()); - return std::get<QByteArray>(data); + return *std::get_if<QByteArray>(&data); } const QByteArray &getByteArray() const { Q_ASSERT(containsByteArray()); - return std::get<QByteArray>(data); + return *std::get_if<QByteArray>(&data); } // Potentially can be extended to return a QVariant::value<T>(). diff --git a/src/corelib/io/qlockfile.cpp b/src/corelib/io/qlockfile.cpp index 908db7b9d38..075eb144e51 100644 --- a/src/corelib/io/qlockfile.cpp +++ b/src/corelib/io/qlockfile.cpp @@ -24,19 +24,6 @@ QT_BEGIN_NAMESPACE using namespace Qt::StringLiterals; -namespace { -struct LockFileInfo -{ - qint64 pid; - QString appname; - QString hostname; - QByteArray hostid; - QByteArray bootid; -}; -} - -static bool getLockInfo_helper(const QString &fileName, LockFileInfo *info); - static QString machineName() { #ifdef Q_OS_WIN @@ -364,8 +351,8 @@ bool QLockFile::tryLock(std::chrono::milliseconds timeout) bool QLockFile::getLockInfo(qint64 *pid, QString *hostname, QString *appname) const { Q_D(const QLockFile); - LockFileInfo info; - if (!getLockInfo_helper(d->fileName, &info)) + QLockFilePrivate::LockFileInfo info; + if (!QLockFilePrivate::getLockInfo_helper(d->fileName, &info)) return false; if (pid) *pid = info.pid; @@ -399,11 +386,16 @@ QByteArray QLockFilePrivate::lockFileContents() const % QSysInfo::bootUniqueId() % '\n'; } -static bool getLockInfo_helper(const QString &fileName, LockFileInfo *info) +bool QLockFilePrivate::getLockInfo_helper(const QString &fileName, LockFileInfo *info) { - QFile reader(fileName); - if (!reader.open(QIODevice::ReadOnly | QIODevice::Text)) + int fd = openNewFileDescriptor(fileName); + if (fd < 0) + return false; + QFile reader; + if (!reader.open(fd, QFile::ReadOnly | QFile::Text, QFile::AutoCloseHandle)) { + QT_CLOSE(fd); return false; + } QByteArray pidLine = reader.readLine(); pidLine.chop(1); @@ -423,8 +415,8 @@ static bool getLockInfo_helper(const QString &fileName, LockFileInfo *info) bool ok; info->appname = QString::fromUtf8(appNameLine); info->hostname = QString::fromUtf8(hostNameLine); - info->hostid = hostId; - info->bootid = bootId; + info->hostid = std::move(hostId); + info->bootid = std::move(bootId); info->pid = pidLine.toLongLong(&ok); return ok && info->pid > 0; } diff --git a/src/corelib/io/qlockfile_p.h b/src/corelib/io/qlockfile_p.h index 2a7ebe1926d..ea9b29e9f57 100644 --- a/src/corelib/io/qlockfile_p.h +++ b/src/corelib/io/qlockfile_p.h @@ -25,6 +25,15 @@ QT_BEGIN_NAMESPACE class QLockFilePrivate { public: + struct LockFileInfo + { + qint64 pid; + QString appname; + QString hostname; + QByteArray hostid; + QByteArray bootid; + }; + explicit QLockFilePrivate(const QString &fn); ~QLockFilePrivate(); @@ -41,6 +50,9 @@ public: QString fileName; + static bool getLockInfo_helper(const QString &fileName, LockFileInfo *info); + static int openNewFileDescriptor(const QString &fileName); + #ifdef Q_OS_WIN Qt::HANDLE fileHandle; #else diff --git a/src/corelib/io/qlockfile_unix.cpp b/src/corelib/io/qlockfile_unix.cpp index 87faac8b33d..34276373a1f 100644 --- a/src/corelib/io/qlockfile_unix.cpp +++ b/src/corelib/io/qlockfile_unix.cpp @@ -285,6 +285,11 @@ QString QLockFilePrivate::processNameByPid(qint64 pid) #endif } +int QLockFilePrivate::openNewFileDescriptor(const QString &fileName) +{ + return QT_OPEN(fileName.toLocal8Bit().constData(), QT_OPEN_RDONLY); +} + void QLockFile::unlock() { Q_D(QLockFile); diff --git a/src/corelib/io/qlockfile_win.cpp b/src/corelib/io/qlockfile_win.cpp index 12a668def0f..ef5d49fb20e 100644 --- a/src/corelib/io/qlockfile_win.cpp +++ b/src/corelib/io/qlockfile_win.cpp @@ -16,6 +16,8 @@ #include <qt_windows.h> #include <psapi.h> +#include <io.h> +#include <fcntl.h> QT_BEGIN_NAMESPACE @@ -53,9 +55,10 @@ QLockFile::LockError QLockFilePrivate::tryLock_sys() const QFileSystemEntry fileEntry(fileName); // When writing, allow others to read. // When reading, QFile will allow others to read and write, all good. - // Adding FILE_SHARE_DELETE would allow forceful deletion of stale files, - // but Windows doesn't allow recreating it while this handle is open anyway, - // so this would only create confusion (can't lock, but no lock file to read from). + // ### Open the file with DELETE permission and use + // SetFileInformationByHandle to delete the file without needing to close + // the handle first, to avoid someone opening the handle again without the + // FILE_SHARE_DELETE flag in-between closure and deletion. const DWORD dwShareMode = FILE_SHARE_READ; SECURITY_ATTRIBUTES securityAtts = { sizeof(SECURITY_ATTRIBUTES), NULL, FALSE }; HANDLE fh = CreateFile((const wchar_t*)fileEntry.nativeFilePath().utf16(), @@ -142,6 +145,30 @@ QString QLockFilePrivate::processNameByPid(qint64 pid) return name; } +int QLockFilePrivate::openNewFileDescriptor(const QString &fileName) +{ + // We currently open with FILE_SHARE_DELETE, which would allow deletion to + // be requested even while other processes have the file open. We mostly + // want to do this so we can later open the file with the DELETE permission + // to delete the file using SetFileInformationByHandle, avoiding the need + // to close the handle first, where e.g. search indexer or antivirus may + // see their chance to open the file before we can delete it. + // We can't make this change immediately because currently-deployed + // applications will not be using FILE_SHARE_DELETE, so they would suddenly + // be unable to read the lockfile information. + HANDLE handle = CreateFile(reinterpret_cast<const wchar_t *>(fileName.utf16()), GENERIC_READ, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); + if (handle == INVALID_HANDLE_VALUE) + return -1; + int fd = _open_osfhandle(intptr_t(handle), _O_RDONLY); + if (fd == -1) { + CloseHandle(handle); + return -1; + } + return fd; +} + void QLockFile::unlock() { Q_D(QLockFile); diff --git a/src/corelib/io/qrandomaccessasyncfile_darwin.mm b/src/corelib/io/qrandomaccessasyncfile_darwin.mm new file mode 100644 index 00000000000..2d7d3b196b2 --- /dev/null +++ b/src/corelib/io/qrandomaccessasyncfile_darwin.mm @@ -0,0 +1,728 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default + +#include "qrandomaccessasyncfile_p_p.h" + +#include "qiooperation_p.h" +#include "qiooperation_p_p.h" +#include "qplatformdefs.h" + +#include <QtCore/qdir.h> +#include <QtCore/qfile.h> +#include <QtCore/private/qfilesystemengine_p.h> + +QT_BEGIN_NAMESPACE + +namespace { + +static bool isBarrierOperation(QIOOperation::Type type) +{ + return type == QIOOperation::Type::Flush || type == QIOOperation::Type::Open; +} + +} // anonymous namespace + +// Fine to provide the definition here, because all the usages are in this file +// only! +template <typename Operation, typename ...Args> +Operation * +QRandomAccessAsyncFilePrivate::addOperation(QIOOperation::Type type, qint64 offset, Args &&...args) +{ + auto dataStorage = new QtPrivate::QIOOperationDataStorage(std::forward<Args>(args)...); + auto *priv = new QIOOperationPrivate(dataStorage); + priv->offset = offset; + priv->type = type; + + Operation *op = new Operation(*priv, q_ptr); + auto opId = getNextId(); + m_operations.push_back(OperationInfo(opId, op)); + startOperationsUntilBarrier(); + + return op; +} + +QRandomAccessAsyncFilePrivate::QRandomAccessAsyncFilePrivate() + : QObjectPrivate() +{ +} + +QRandomAccessAsyncFilePrivate::~QRandomAccessAsyncFilePrivate() + = default; + +void QRandomAccessAsyncFilePrivate::init() +{ +} + +void QRandomAccessAsyncFilePrivate::cancelAndWait(QIOOperation *op) +{ + auto it = std::find_if(m_operations.cbegin(), m_operations.cend(), + [op](const auto &opInfo) { + return opInfo.operation.get() == op; + }); + // not found + if (it == m_operations.cend()) + return; + + const auto opInfo = m_operations.takeAt(std::distance(m_operations.cbegin(), it)); + + if (opInfo.state == OpState::Running) { + // cancel this operation + m_mutex.lock(); + if (m_runningOps.contains(opInfo.opId)) { + m_opToCancel = opInfo.opId; + closeIoChannel(opInfo.channel); + m_cancellationCondition.wait(&m_mutex); + m_opToCancel = kInvalidOperationId; // reset + } + m_mutex.unlock(); + } // otherwise it was not started yet + + // clean up the operation + releaseIoChannel(opInfo.channel); + auto *priv = QIOOperationPrivate::get(opInfo.operation); + priv->setError(QIOOperation::Error::Aborted); + + // we could cancel a barrier operation, so try to execute next operations + startOperationsUntilBarrier(); +} + +void QRandomAccessAsyncFilePrivate::close() +{ + if (m_fileState == FileState::Closed) + return; + + // cancel all operations + m_mutex.lock(); + m_opToCancel = kAllOperationIds; + for (const auto &op : m_operations) + closeIoChannel(op.channel); + closeIoChannel(m_ioChannel); + // we're not interested in any results anymore + if (!m_runningOps.isEmpty() || m_ioChannel) + m_cancellationCondition.wait(&m_mutex); + m_opToCancel = kInvalidOperationId; // reset + m_mutex.unlock(); + + // clean up all operations + for (auto &opInfo : m_operations) { + releaseIoChannel(opInfo.channel); + auto *priv = QIOOperationPrivate::get(opInfo.operation); + priv->setError(QIOOperation::Error::Aborted); + } + m_operations.clear(); + + releaseIoChannel(m_ioChannel); + + if (m_fd >= 0) { + ::close(m_fd); + m_fd = -1; + } + + m_fileState = FileState::Closed; +} + +qint64 QRandomAccessAsyncFilePrivate::size() const +{ + if (m_fileState != FileState::Opened) + return -1; + + QFileSystemMetaData metaData; + if (QFileSystemEngine::fillMetaData(m_fd, metaData)) + return metaData.size(); + + return -1; +} + +QIOOperation * +QRandomAccessAsyncFilePrivate::open(const QString &path, QIODeviceBase::OpenMode mode) +{ + if (m_fileState == FileState::Closed) { + m_filePath = path; + m_openMode = mode; + // Open is a barrier, so we won't have two open() operations running + // in parallel + m_fileState = FileState::OpenPending; + } + + return addOperation<QIOOperation>(QIOOperation::Type::Open, 0); +} + +QIOOperation *QRandomAccessAsyncFilePrivate::flush() +{ + return addOperation<QIOOperation>(QIOOperation::Type::Flush, 0); +} + +QIOReadOperation *QRandomAccessAsyncFilePrivate::read(qint64 offset, qint64 maxSize) +{ + QByteArray array(maxSize, Qt::Uninitialized); + return addOperation<QIOReadOperation>(QIOOperation::Type::Read, offset, std::move(array)); +} + +QIOWriteOperation *QRandomAccessAsyncFilePrivate::write(qint64 offset, const QByteArray &data) +{ + QByteArray copy = data; + return write(offset, std::move(copy)); +} + +QIOWriteOperation *QRandomAccessAsyncFilePrivate::write(qint64 offset, QByteArray &&data) +{ + return addOperation<QIOWriteOperation>(QIOOperation::Type::Write, offset, std::move(data)); +} + +QIOVectoredReadOperation * +QRandomAccessAsyncFilePrivate::readInto(qint64 offset, QSpan<std::byte> buffer) +{ + return addOperation<QIOVectoredReadOperation>(QIOOperation::Type::Read, offset, + QSpan<const QSpan<std::byte>>{buffer}); +} + +QIOVectoredWriteOperation * +QRandomAccessAsyncFilePrivate::writeFrom(qint64 offset, QSpan<const std::byte> buffer) +{ + return addOperation<QIOVectoredWriteOperation>(QIOOperation::Type::Write, offset, + QSpan<const QSpan<const std::byte>>{buffer}); +} + +QIOVectoredReadOperation * +QRandomAccessAsyncFilePrivate::readInto(qint64 offset, QSpan<const QSpan<std::byte>> buffers) +{ + // GCD implementation does not have vectored read. Spawning several read + // operations (each with an updated offset), is not ideal, because some + // of them could fail, and it wouldn't be clear what would be the return + // value in such case. + // So, we'll just execute several reads one-after-another, and complete the + // whole operation only when they all finish (or when an operation fails + // at some point). + + return addOperation<QIOVectoredReadOperation>(QIOOperation::Type::Read, offset, buffers); +} + +QIOVectoredWriteOperation * +QRandomAccessAsyncFilePrivate::writeFrom(qint64 offset, QSpan<const QSpan<const std::byte>> buffers) +{ + return addOperation<QIOVectoredWriteOperation>(QIOOperation::Type::Write, offset, buffers); +} + +dispatch_io_t QRandomAccessAsyncFilePrivate::createMainChannel(int fd) +{ + auto sharedThis = this; + return dispatch_io_create(DISPATCH_IO_RANDOM, fd, + dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), + ^(int /*error*/) { + // Notify that the file descriptor can be closed + QMutexLocker locker(&sharedThis->m_mutex); + sharedThis->m_cancellationCondition.wakeOne(); + }); +} + +dispatch_io_t QRandomAccessAsyncFilePrivate::duplicateIoChannel(OperationId opId) +{ + if (!m_ioChannel) + return nullptr; + // We need to create a new channel for each operation, because the only way + // to cancel an operation is to call dispatch_io_close() with + // DISPATCH_IO_STOP flag. + // We do not care about the callback in this case, because we have the + // callback from the "main" io channel to do all the proper cleanup + auto channel = + dispatch_io_create_with_io(DISPATCH_IO_RANDOM, m_ioChannel, + dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), + ^(int){ /* empty callback */ }); + + if (channel) { + QMutexLocker locker(&m_mutex); + m_runningOps.insert(opId); + } + return channel; +} + +void QRandomAccessAsyncFilePrivate::closeIoChannel(dispatch_io_t channel) +{ + if (channel) + dispatch_io_close(channel, DISPATCH_IO_STOP); +} + +void QRandomAccessAsyncFilePrivate::releaseIoChannel(dispatch_io_t channel) +{ + if (channel) { + dispatch_release(channel); + channel = nullptr; + } +} + +void QRandomAccessAsyncFilePrivate::handleOperationComplete(const OperationResult &opResult) +{ + // try to start next operations on return + auto onReturn = qScopeGuard([this] { + startOperationsUntilBarrier(); + }); + + auto it = std::find_if(m_operations.cbegin(), m_operations.cend(), + [opId = opResult.opId](const auto &opInfo) { + return opInfo.opId == opId; + }); + if (it == m_operations.cend()) + return; + qsizetype idx = std::distance(m_operations.cbegin(), it); + + const OperationInfo info = m_operations.takeAt(idx); + closeIoChannel(info.channel); + releaseIoChannel(info.channel); + + if (!info.operation) + return; + + auto convertError = [](int error, QIOOperation::Type type) { + if (error == 0) { + return QIOOperation::Error::None; + } else if (error == ECANCELED) { + return QIOOperation::Error::Aborted; + } else if (error == EBADF) { + return QIOOperation::Error::FileNotOpen; + } else if (error == EINVAL) { + switch (type) { + case QIOOperation::Type::Read: + case QIOOperation::Type::Write: + return QIOOperation::Error::IncorrectOffset; + case QIOOperation::Type::Flush: + return QIOOperation::Error::Flush; + case QIOOperation::Type::Open: + return QIOOperation::Error::Open; + case QIOOperation::Type::Unknown: + Q_UNREACHABLE_RETURN(QIOOperation::Error::FileNotOpen); + } + } else { + switch (type) { + case QIOOperation::Type::Read: + return QIOOperation::Error::Read; + case QIOOperation::Type::Write: + return QIOOperation::Error::Write; + case QIOOperation::Type::Flush: + return QIOOperation::Error::Flush; + case QIOOperation::Type::Open: + return QIOOperation::Error::Open; + case QIOOperation::Type::Unknown: + Q_UNREACHABLE_RETURN(QIOOperation::Error::FileNotOpen); + } + } + }; + + auto *priv = QIOOperationPrivate::get(info.operation); + switch (priv->type) { + case QIOOperation::Type::Read: + case QIOOperation::Type::Write: + priv->appendBytesProcessed(opResult.result); + // make sure that read buffers are truncated to the actual amount of + // bytes read + if (priv->type == QIOOperation::Type::Read) { + auto dataStorage = priv->dataStorage.get(); + auto processed = priv->processed; + if (dataStorage->containsByteArray()) { + QByteArray &array = dataStorage->getByteArray(); + array.truncate(processed); + } else if (dataStorage->containsReadSpans()) { + qint64 left = processed; + auto &readBuffers = dataStorage->getReadSpans(); + for (auto &s : readBuffers) { + const qint64 spanSize = qint64(s.size_bytes()); + const qint64 newSize = (std::min)(left, spanSize); + if (newSize < spanSize) + s.chop(spanSize - newSize); + left -= newSize; + } + } + } + priv->operationComplete(convertError(opResult.error, priv->type)); + break; + case QIOOperation::Type::Flush: { + const QIOOperation::Error error = convertError(opResult.error, priv->type); + priv->operationComplete(error); + break; + } + case QIOOperation::Type::Open: { + const QIOOperation::Error error = convertError(opResult.error, priv->type); + if (opResult.result >= 0 && error == QIOOperation::Error::None) { + m_fd = (int)opResult.result; + m_ioChannel = createMainChannel(m_fd); + m_fileState = FileState::Opened; + } else { + m_fileState = FileState::Closed; + } + priv->operationComplete(error); + break; + } + case QIOOperation::Type::Unknown: + Q_UNREACHABLE(); + break; + } +} + +void QRandomAccessAsyncFilePrivate::queueCompletion(OperationId opId, int error) +{ + const OperationResult res = { opId, 0LL, error }; + QMetaObject::invokeMethod(q_ptr, [this, res] { + handleOperationComplete(res); + }, Qt::QueuedConnection); +} + +void QRandomAccessAsyncFilePrivate::startOperationsUntilBarrier() +{ + // starts all operations until barrier, or a barrier operation if it's the + // first one + bool first = true; + for (auto &opInfo : m_operations) { + const bool isBarrier = isBarrierOperation(opInfo.operation->type()); + const bool shouldExecute = (opInfo.state == OpState::Pending) && (!isBarrier || first); + first = false; + if (shouldExecute) { + opInfo.state = OpState::Running; + switch (opInfo.operation->type()) { + case QIOOperation::Type::Read: + executeRead(opInfo); + break; + case QIOOperation::Type::Write: + executeWrite(opInfo); + break; + case QIOOperation::Type::Flush: + executeFlush(opInfo); + break; + case QIOOperation::Type::Open: + executeOpen(opInfo); + break; + case QIOOperation::Type::Unknown: + Q_UNREACHABLE(); + break; + } + } + if (isBarrier) + break; + } +} + +void QRandomAccessAsyncFilePrivate::executeRead(OperationInfo &opInfo) +{ + opInfo.channel = duplicateIoChannel(opInfo.opId); + if (!opInfo.channel) { + queueCompletion(opInfo.opId, EBADF); + return; + } + auto priv = QIOOperationPrivate::get(opInfo.operation); + auto dataStorage = priv->dataStorage.get(); + if (dataStorage->containsByteArray()) { + auto &array = dataStorage->getByteArray(); + char *bytesPtr = array.data(); + qint64 maxSize = array.size(); + readOneBufferHelper(opInfo.opId, opInfo.channel, priv->offset, + bytesPtr, maxSize, + 0, 1, 0); + } else { + Q_ASSERT(dataStorage->containsReadSpans()); + auto &readBuffers = dataStorage->getReadSpans(); + const auto totalBuffers = readBuffers.size(); + if (totalBuffers == 0) { + queueCompletion(opInfo.opId, 0); + return; + } + auto buf = readBuffers[0]; + readOneBufferHelper(opInfo.opId, opInfo.channel, priv->offset, + buf.data(), buf.size(), + 0, totalBuffers, 0); + } +} + +void QRandomAccessAsyncFilePrivate::executeWrite(OperationInfo &opInfo) +{ + opInfo.channel = duplicateIoChannel(opInfo.opId); + if (!opInfo.channel) { + queueCompletion(opInfo.opId, EBADF); + return; + } + auto priv = QIOOperationPrivate::get(opInfo.operation); + auto dataStorage = priv->dataStorage.get(); + if (dataStorage->containsByteArray()) { + const auto &array = dataStorage->getByteArray(); + const char *dataPtr = array.constData(); + const qint64 dataSize = array.size(); + + dispatch_queue_t queue = dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0); + // We handle the bytes on our own, so we need to specify an empty block as + // a destructor. + // dataToWrite is retained, so should be properly cleaned up. We always do + // it in the callback. + dispatch_data_t dataToWrite = dispatch_data_create(dataPtr, dataSize, queue, ^{}); + + writeHelper(opInfo.opId, opInfo.channel, priv->offset, dataToWrite, dataSize); + } else { + Q_ASSERT(dataStorage->containsWriteSpans()); + + const auto &writeBuffers = dataStorage->getWriteSpans(); + const auto totalBuffers = writeBuffers.size(); + if (totalBuffers == 0) { + queueCompletion(opInfo.opId, 0); + return; + } + + dispatch_queue_t queue = dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0); + qsizetype idx = 0; + dispatch_data_t dataToWrite = dispatch_data_empty; + qint64 totalSize = 0; + do { + const std::byte *dataPtr = writeBuffers[idx].data(); + const qint64 dataSize = writeBuffers[idx].size(); + dispatch_data_t data = dispatch_data_create(dataPtr, dataSize, queue, ^{}); + dataToWrite = dispatch_data_create_concat(dataToWrite, data); + [data release]; + totalSize += dataSize; + } while (++idx < totalBuffers); + + writeHelper(opInfo.opId, opInfo.channel, priv->offset, dataToWrite, totalSize); + } +} + +void QRandomAccessAsyncFilePrivate::executeFlush(OperationInfo &opInfo) +{ + opInfo.channel = duplicateIoChannel(opInfo.opId); + if (!opInfo.channel) { + queueCompletion(opInfo.opId, EBADF); + return; + } + + // flush() is a barrier operation, but dispatch_io_barrier does not work + // as documented with multiple channels :( + auto sharedThis = this; + const int fd = m_fd; + const OperationId opId = opInfo.opId; + dispatch_io_barrier(opInfo.channel, ^{ + const int err = fsync(fd); + + QMutexLocker locker(&sharedThis->m_mutex); + sharedThis->m_runningOps.remove(opId); + const auto cancelId = sharedThis->m_opToCancel; + if (cancelId == kAllOperationIds || cancelId == opId) { + if (cancelId == opId) + sharedThis->m_cancellationCondition.wakeOne(); + } else { + auto context = sharedThis->q_ptr; + const OperationResult res = { opId, 0LL, err }; + QMetaObject::invokeMethod(context, [sharedThis](const OperationResult &r) { + sharedThis->handleOperationComplete(r); + }, Qt::QueuedConnection, res); + } + }); +} + +// stolen from qfsfileengine_unix.cpp +static inline int openModeToOpenFlags(QIODevice::OpenMode mode) +{ + int oflags = QT_OPEN_RDONLY; +#ifdef QT_LARGEFILE_SUPPORT + oflags |= QT_OPEN_LARGEFILE; +#endif + if ((mode & QIODevice::ReadWrite) == QIODevice::ReadWrite) + oflags = QT_OPEN_RDWR; + else if (mode & QIODevice::WriteOnly) + oflags = QT_OPEN_WRONLY; + if ((mode & QIODevice::WriteOnly) + && !(mode & QIODevice::ExistingOnly)) // QFSFileEnginePrivate::openModeCanCreate(mode)) + oflags |= QT_OPEN_CREAT; + if (mode & QIODevice::Truncate) + oflags |= QT_OPEN_TRUNC; + if (mode & QIODevice::Append) + oflags |= QT_OPEN_APPEND; + if (mode & QIODevice::NewOnly) + oflags |= QT_OPEN_EXCL; + return oflags; +} + +void QRandomAccessAsyncFilePrivate::executeOpen(OperationInfo &opInfo) +{ + if (m_fileState != FileState::OpenPending) { + queueCompletion(opInfo.opId, EINVAL); + return; + } + + const QByteArray nativeName = QFile::encodeName(QDir::toNativeSeparators(m_filePath)); + + int openFlags = openModeToOpenFlags(m_openMode); + openFlags |= O_NONBLOCK; + + auto sharedThis = this; + const OperationId opId = opInfo.opId; + + // We don'd call duplicateIOChannel(), so need to update the running ops + // explicitly. + m_mutex.lock(); + m_runningOps.insert(opId); + m_mutex.unlock(); + + dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), + ^{ + int err = 0; + const int fd = ::open(nativeName.data(), openFlags); + if (fd < 0) + err = errno; + + QMutexLocker locker(&sharedThis->m_mutex); + sharedThis->m_runningOps.remove(opId); + const auto cancelId = sharedThis->m_opToCancel; + if (cancelId == kAllOperationIds || cancelId == opId) { + // open() is a barrier operation, so it's always the + // only executing operation. + // Also, the main IO channel is not created yet. + // So we need to notify the condition variable in + // any both cases. + Q_ASSERT(sharedThis->m_runningOps.isEmpty()); + sharedThis->m_cancellationCondition.wakeOne(); + } else { + auto context = sharedThis->q_ptr; + const OperationResult res = { opId, qint64(fd), err }; + QMetaObject::invokeMethod(context, [sharedThis](const OperationResult &r) { + sharedThis->handleOperationComplete(r); + }, Qt::QueuedConnection, res); + } + }); +} + +void QRandomAccessAsyncFilePrivate::readOneBuffer(OperationId opId, qsizetype bufferIdx, + qint64 alreadyRead) +{ + // we need to lookup the operation again, because it could have beed removed + // by the user... + + auto it = std::find_if(m_operations.cbegin(), m_operations.cend(), + [opId](const auto &opInfo) { + return opId == opInfo.opId; + }); + if (it == m_operations.cend()) + return; + + auto op = it->operation; // QPointer could be null + if (!op) { + closeIoChannel(it->channel); + return; + } + + auto *priv = QIOOperationPrivate::get(op); + Q_ASSERT(priv->type == QIOOperation::Type::Read); + Q_ASSERT(priv->dataStorage->containsReadSpans()); + + auto &readBuffers = priv->dataStorage->getReadSpans(); + Q_ASSERT(readBuffers.size() > bufferIdx); + + qint64 newOffset = priv->offset; + for (qsizetype idx = 0; idx < bufferIdx; ++idx) + newOffset += readBuffers[idx].size(); + + std::byte *bytesPtr = readBuffers[bufferIdx].data(); + qint64 maxSize = readBuffers[bufferIdx].size(); + + readOneBufferHelper(opId, it->channel, newOffset, bytesPtr, maxSize, bufferIdx, + readBuffers.size(), alreadyRead); +} + +void QRandomAccessAsyncFilePrivate::readOneBufferHelper(OperationId opId, dispatch_io_t channel, + qint64 offset, void *bytesPtr, + qint64 maxSize, qsizetype currentBufferIdx, + qsizetype totalBuffers, qint64 alreadyRead) +{ + auto sharedThis = this; + __block size_t readFromBuffer = 0; + dispatch_io_read(channel, offset, maxSize, + dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), + ^(bool done, dispatch_data_t data, int error) { + // Handle data. If there's an error, handle as much as + // we can. + if (data) { + dispatch_data_apply(data, ^(dispatch_data_t /*region*/, size_t offset, + const void *buffer, size_t size) { + const char *startPtr = + reinterpret_cast<const char *>(buffer) + offset; + // NOTE: This is a copy, but looks like we + // cannot do better :( + std::memcpy((std::byte *)bytesPtr + readFromBuffer, + startPtr, size); + readFromBuffer += size; + return true; // Keep processing if there is more data. + }); + } + + QMutexLocker locker(&sharedThis->m_mutex); + const auto cancelId = sharedThis->m_opToCancel; + if (cancelId == kAllOperationIds || cancelId == opId) { + sharedThis->m_runningOps.remove(opId); + if (cancelId == opId) + sharedThis->m_cancellationCondition.wakeOne(); + } else if (done) { + sharedThis->m_runningOps.remove(opId); + auto context = sharedThis->q_ptr; + // if error, or last buffer, or read less than expected, + // report operation completion + qint64 totalRead = qint64(readFromBuffer) + alreadyRead; + qsizetype nextBufferIdx = currentBufferIdx + 1; + if (error || nextBufferIdx == totalBuffers + || qint64(readFromBuffer) != maxSize) { + const OperationResult res = { opId, totalRead, error }; + QMetaObject::invokeMethod(context, + [sharedThis](const OperationResult &r) { + sharedThis->handleOperationComplete(r); + }, Qt::QueuedConnection, res); + } else { + // else execute read for the next buffer + QMetaObject::invokeMethod(context, + [sharedThis, opId, nextBufferIdx, totalRead] { + sharedThis->readOneBuffer(opId, nextBufferIdx, totalRead); + }, Qt::QueuedConnection); + } + } + }); +} + +void QRandomAccessAsyncFilePrivate::writeHelper(OperationId opId, dispatch_io_t channel, + qint64 offset, dispatch_data_t dataToWrite, + qint64 dataSize) +{ + auto sharedThis = this; + dispatch_io_write(channel, offset, dataToWrite, + dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), + ^(bool done, dispatch_data_t data, int error) { + // Either an error or complete write. + // If there's an error, return the amount that we have + // written so far + QMutexLocker locker(&sharedThis->m_mutex); + const auto cancelId = sharedThis->m_opToCancel; + if (cancelId == kAllOperationIds || cancelId == opId) { + // Operation is canceled - do nothing + sharedThis->m_runningOps.remove(opId); + if (cancelId == opId) + sharedThis->m_cancellationCondition.wakeOne(); + } else if (done) { + sharedThis->m_runningOps.remove(opId); + // if no error, an attempt to access the data will + // crash, because it seems to have no buffer + // allocated (as everything was written) + const size_t toBeWritten = + (error == 0) ? 0 : dispatch_data_get_size(data); + const size_t written = dataSize - toBeWritten; + [dataToWrite release]; + + auto context = sharedThis->q_ptr; + const OperationResult res = { opId, qint64(written), error }; + QMetaObject::invokeMethod(context, + [sharedThis](const OperationResult &r) { + sharedThis->handleOperationComplete(r); + }, Qt::QueuedConnection, res); + } + }); +} + +QRandomAccessAsyncFilePrivate::OperationId QRandomAccessAsyncFilePrivate::getNextId() +{ + // never return reserved values + static OperationId opId = kInvalidOperationId; + if (++opId == kAllOperationIds) + opId = kInvalidOperationId + 1; + return opId; +} + +QT_END_NAMESPACE diff --git a/src/corelib/io/qrandomaccessasyncfile_p_p.h b/src/corelib/io/qrandomaccessasyncfile_p_p.h index 7b10edc6728..73d7eebdf72 100644 --- a/src/corelib/io/qrandomaccessasyncfile_p_p.h +++ b/src/corelib/io/qrandomaccessasyncfile_p_p.h @@ -32,6 +32,17 @@ #endif // QT_RANDOMACCESSASYNCFILE_THREAD +#ifdef Q_OS_DARWIN + +#include <QtCore/qlist.h> +#include <QtCore/qmutex.h> +#include <QtCore/qset.h> +#include <QtCore/qwaitcondition.h> + +#include <dispatch/dispatch.h> + +#endif // Q_OS_DARWIN + QT_BEGIN_NAMESPACE class QRandomAccessAsyncFilePrivate : public QObjectPrivate @@ -39,7 +50,7 @@ class QRandomAccessAsyncFilePrivate : public QObjectPrivate Q_DECLARE_PUBLIC(QRandomAccessAsyncFile) Q_DISABLE_COPY_MOVE(QRandomAccessAsyncFilePrivate) public: - QRandomAccessAsyncFilePrivate(decltype(QObjectPrivateVersion) version = QObjectPrivateVersion); + QRandomAccessAsyncFilePrivate(); ~QRandomAccessAsyncFilePrivate() override; static QRandomAccessAsyncFilePrivate *get(QRandomAccessAsyncFile *file) @@ -69,6 +80,18 @@ public: writeFrom(qint64 offset, QSpan<const QSpan<const std::byte>> buffers); private: + // common for all backends + enum class FileState : quint8 + { + Closed, + OpenPending, // already got an open request + Opened, + }; + + QString m_filePath; + QIODeviceBase::OpenMode m_openMode; + FileState m_fileState = FileState::Closed; + #ifdef QT_RANDOMACCESSASYNCFILE_THREAD public: struct OperationResult @@ -78,13 +101,6 @@ public: }; private: - enum class FileState : quint8 - { - Closed, - OpenPending, // already got an open request - Opened, - }; - mutable QBasicMutex m_engineMutex; std::unique_ptr<QFSFileEngine> m_engine; QFutureWatcher<OperationResult> m_watcher; @@ -93,16 +109,90 @@ private: QPointer<QIOOperation> m_currentOperation; qsizetype numProcessedBuffers = 0; - QString m_filePath; - QIODeviceBase::OpenMode m_openMode; - FileState m_fileState = FileState::Closed; - void executeNextOperation(); void processBufferAt(qsizetype idx); void processFlush(); void processOpen(); void operationComplete(); #endif +#ifdef Q_OS_DARWIN + using OperationId = quint64; + static constexpr OperationId kInvalidOperationId = 0; + static constexpr OperationId kAllOperationIds = std::numeric_limits<OperationId>::max(); + + struct OperationResult + { + OperationId opId; + qint64 result; // num bytes processed or file descriptor + int error; + }; + + enum class OpState : quint8 + { + Pending, + Running, + }; + + struct OperationInfo + { + OperationId opId; + dispatch_io_t channel; + QPointer<QIOOperation> operation; + OpState state; + + OperationInfo(OperationId _id, QIOOperation *_op) + : opId(_id), + channel(nullptr), + operation(_op), + state(OpState::Pending) + {} + }; + + // We need to maintain an actual queue of the operations, because + // certain operations (i.e. flush) should act like barriers. The docs + // for dispatch_io_barrier mention that it can synchronize between multiple + // channels handling the same file descriptor, but that DOES NOT work in + // practice. It works correctly only when there's a signle IO channel. But + // with a signle IO channel we're not able to cancel individual operations. + // As a result, we need to make sure that all previous operations are + // completed before starting a barrier operation. Similarly, we cannot start + // any other operation until a barrier operation is finished. + QList<OperationInfo> m_operations; + dispatch_io_t m_ioChannel = nullptr; + int m_fd = -1; + + QMutex m_mutex; + // the members below should only be accessed with the mutex + OperationId m_opToCancel = kInvalidOperationId; + QSet<OperationId> m_runningOps; + QWaitCondition m_cancellationCondition; + + static OperationId getNextId(); + + template <typename Operation, typename ...Args> + Operation *addOperation(QIOOperation::Type type, qint64 offset, Args &&...args); + + dispatch_io_t createMainChannel(int fd); + dispatch_io_t duplicateIoChannel(OperationId opId); + void closeIoChannel(dispatch_io_t channel); + void releaseIoChannel(dispatch_io_t channel); + void handleOperationComplete(const OperationResult &opResult); + + void queueCompletion(OperationId opId, int error); + + void startOperationsUntilBarrier(); + void executeRead(OperationInfo &opInfo); + void executeWrite(OperationInfo &opInfo); + void executeFlush(OperationInfo &opInfo); + void executeOpen(OperationInfo &opInfo); + + void readOneBuffer(OperationId opId, qsizetype bufferIdx, qint64 alreadyRead); + void readOneBufferHelper(OperationId opId, dispatch_io_t channel, qint64 offset, + void *bytesPtr, qint64 maxSize, qsizetype currentBufferIdx, + qsizetype totalBuffers, qint64 alreadyRead); + void writeHelper(OperationId opId, dispatch_io_t channel, qint64 offset, + dispatch_data_t dataToWrite, qint64 dataSize); +#endif }; QT_END_NAMESPACE diff --git a/src/corelib/io/qrandomaccessasyncfile_threadpool.cpp b/src/corelib/io/qrandomaccessasyncfile_threadpool.cpp index 42d38cc3adb..4ebcf554655 100644 --- a/src/corelib/io/qrandomaccessasyncfile_threadpool.cpp +++ b/src/corelib/io/qrandomaccessasyncfile_threadpool.cpp @@ -64,8 +64,8 @@ static SharedThreadPool asyncFileThreadPool; } // anonymous namespace -QRandomAccessAsyncFilePrivate::QRandomAccessAsyncFilePrivate(decltype(QObjectPrivateVersion) version) : - QObjectPrivate(version) +QRandomAccessAsyncFilePrivate::QRandomAccessAsyncFilePrivate() : + QObjectPrivate() { asyncFileThreadPool.ref(); } diff --git a/src/corelib/io/qsavefile.cpp b/src/corelib/io/qsavefile.cpp index a7d101dc124..0422244d9ba 100644 --- a/src/corelib/io/qsavefile.cpp +++ b/src/corelib/io/qsavefile.cpp @@ -71,24 +71,6 @@ QSaveFilePrivate::~QSaveFilePrivate() \sa QTextStream, QDataStream, QFileInfo, QDir, QFile, QTemporaryFile */ -#ifdef QT_NO_QOBJECT -QSaveFile::QSaveFile(const QString &name) - : QFileDevice(*new QSaveFilePrivate) -{ - Q_D(QSaveFile); - d->fileName = name; -} -#else -/*! - Constructs a new file object to represent the file with the given \a name. -*/ -QSaveFile::QSaveFile(const QString &name) - : QFileDevice(*new QSaveFilePrivate, nullptr) -{ - Q_D(QSaveFile); - d->fileName = name; -} - /*! Constructs a new file object with the given \a parent. You need to call setFileName() before open(). @@ -97,6 +79,7 @@ QSaveFile::QSaveFile(QObject *parent) : QFileDevice(*new QSaveFilePrivate, parent) { } + /*! Constructs a new file object with the given \a parent to represent the file with the specified \a name. @@ -107,7 +90,14 @@ QSaveFile::QSaveFile(const QString &name, QObject *parent) Q_D(QSaveFile); d->fileName = name; } -#endif + +/*! + \fn QSaveFile::QSaveFile(const std::filesystem::path &path, QObject *parent) + \since 6.11 + + Constructs a new file object with the given \a parent to represent the + file with the specified \a path. +*/ /*! Destroys the file object, discarding the saved contents unless commit() was called. @@ -134,6 +124,12 @@ QString QSaveFile::fileName() const } /*! + \fn std::filesystem::path QSaveFile::filesystemFileName() const + \since 6.11 + Returns fileName() as \c{std::filesystem::path}. +*/ + +/*! Sets the \a name of the file. The name can have no path, a relative path, or an absolute path. @@ -145,6 +141,12 @@ void QSaveFile::setFileName(const QString &name) } /*! + \fn QSaveFile::setFileName(const std::filesystem::path &name) + \since 6.11 + \overload +*/ + +/*! Opens the file using \a mode flags. Returns \c true if successful; otherwise returns \c false. @@ -417,8 +419,6 @@ bool QSaveFile::directWriteFallback() const QT_END_NAMESPACE -#ifndef QT_NO_QOBJECT #include "moc_qsavefile.cpp" -#endif #endif // QT_CONFIG(temporaryfile) diff --git a/src/corelib/io/qsavefile.h b/src/corelib/io/qsavefile.h index 5e8cffe7c38..910ae8c8d5f 100644 --- a/src/corelib/io/qsavefile.h +++ b/src/corelib/io/qsavefile.h @@ -23,18 +23,15 @@ class QSaveFilePrivate; class Q_CORE_EXPORT QSaveFile : public QFileDevice { -#ifndef QT_NO_QOBJECT Q_OBJECT -#endif Q_DECLARE_PRIVATE(QSaveFile) public: - +#if QT_CORE_REMOVED_SINCE(6, 11) explicit QSaveFile(const QString &name); -#ifndef QT_NO_QOBJECT - explicit QSaveFile(QObject *parent = nullptr); - explicit QSaveFile(const QString &name, QObject *parent); #endif + explicit QSaveFile(QObject *parent = nullptr); + explicit QSaveFile(const QString &name, QObject *parent = nullptr); ~QSaveFile(); QString fileName() const override; @@ -48,6 +45,20 @@ public: void setDirectWriteFallback(bool enabled); bool directWriteFallback() const; +#if QT_CONFIG(cxx17_filesystem) || defined(Q_QDOC) + Q_WEAK_OVERLOAD QSaveFile(const std::filesystem::path &path, QObject *parent = nullptr) + : QSaveFile(QtPrivate::fromFilesystemPath(path), parent) + { + } + + std::filesystem::path filesystemFileName() const + { return QtPrivate::toFilesystemPath(fileName()); } + Q_WEAK_OVERLOAD void setFileName(const std::filesystem::path &name) + { + setFileName(QtPrivate::fromFilesystemPath(name)); + } +#endif // QT_CONFIG(cxx17_filesystem) + protected: qint64 writeData(const char *data, qint64 len) override; diff --git a/src/corelib/kernel/qmetaobjectbuilder.cpp b/src/corelib/kernel/qmetaobjectbuilder.cpp index a2719f97da7..6065bf2baea 100644 --- a/src/corelib/kernel/qmetaobjectbuilder.cpp +++ b/src/corelib/kernel/qmetaobjectbuilder.cpp @@ -1339,7 +1339,7 @@ static int buildMetaObject(QMetaObjectBuilderPrivate *d, char *buf, [[maybe_unused]] int flags = prop.flags; - if (isBuiltinType(prop.type)) + if (!isBuiltinType(prop.type)) flags |= EnumOrFlag; if constexpr (mode == Construct) { diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 560a8c7d789..02c9f00f301 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -2715,6 +2715,20 @@ static void err_info_about_objects(const char *func, const QObject *sender, cons qCWarning(lcConnect, "QObject::%s: (receiver name: '%s')", func, b.toLocal8Bit().data()); } +Q_DECL_COLD_FUNCTION +static void connectWarning(const QObject *sender, + const QMetaObject *senderMetaObject, + const QObject *receiver, + const char *message) +{ + const char *senderString = sender ? sender->metaObject()->className() + : senderMetaObject ? senderMetaObject->className() + : "Unknown"; + const char *receiverString = receiver ? receiver->metaObject()->className() + : "Unknown"; + qCWarning(lcConnect, "QObject::connect(%s, %s): %s", senderString, receiverString, message); +} + /*! Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. The pointer @@ -4105,8 +4119,9 @@ QMetaObject::Connection QMetaObject::connectImpl(const QObject *sender, const QM { QtPrivate::SlotObjUniquePtr slotObj(slotObjRaw); + const QMetaObject *senderMetaObject = sender->metaObject(); if (!signal.isValid() || signal.methodType() != QMetaMethod::Signal) { - qCWarning(lcConnect, "QObject::connect: invalid signal parameter"); + connectWarning(sender, senderMetaObject, receiver, "invalid signal parameter"); return QMetaObject::Connection(); } @@ -4116,7 +4131,6 @@ QMetaObject::Connection QMetaObject::connectImpl(const QObject *sender, const QM QMetaObjectPrivate::memberIndexes(sender, signal, &signal_index, &dummy); } - const QMetaObject *senderMetaObject = sender->metaObject(); if (signal_index == -1) { qCWarning(lcConnect, "QObject::connect: Can't find signal %s on instance of class %s", signal.methodSignature().constData(), senderMetaObject->className()); @@ -5433,7 +5447,7 @@ QMetaObject::Connection QObject::connectImpl(const QObject *sender, void **signa { QtPrivate::SlotObjUniquePtr slotObj(slotObjRaw); if (!signal) { - qCWarning(lcConnect, "QObject::connect: invalid nullptr parameter"); + connectWarning(sender, senderMetaObject, receiver, "invalid nullptr parameter"); return QMetaObject::Connection(); } @@ -5445,26 +5459,13 @@ QMetaObject::Connection QObject::connectImpl(const QObject *sender, void **signa break; } if (!senderMetaObject) { - qCWarning(lcConnect, "QObject::connect: signal not found in %s", sender->metaObject()->className()); + connectWarning(sender, senderMetaObject, receiver, "signal not found"); return QMetaObject::Connection(nullptr); } signal_index += QMetaObjectPrivate::signalOffset(senderMetaObject); return QObjectPrivate::connectImpl(sender, signal_index, receiver, slot, slotObj.release(), type, types, senderMetaObject); } -static void connectWarning(const QObject *sender, - const QMetaObject *senderMetaObject, - const QObject *receiver, - const char *message) -{ - const char *senderString = sender ? sender->metaObject()->className() - : senderMetaObject ? senderMetaObject->className() - : "Unknown"; - const char *receiverString = receiver ? receiver->metaObject()->className() - : "Unknown"; - qCWarning(lcConnect, "QObject::connect(%s, %s): %s", senderString, receiverString, message); -} - /*! \internal @@ -5495,7 +5496,7 @@ QMetaObject::Connection QObjectPrivate::connectImpl(const QObject *sender, int s QOrderedMutexLocker locker(signalSlotLock(sender), signalSlotLock(receiver)); - if (type & Qt::UniqueConnection && slot) { + if (type & Qt::UniqueConnection) { QObjectPrivate::ConnectionData *connections = QObjectPrivate::get(s)->connections.loadRelaxed(); if (connections && connections->signalVectorCount() > signal_index) { const QObjectPrivate::Connection *c2 = connections->signalVector.loadRelaxed()->at(signal_index).first.loadRelaxed(); @@ -5683,7 +5684,7 @@ QMetaObject::Connection QObjectPrivate::connect(const QObject *sender, int signa { QtPrivate::SlotObjUniquePtr slotObj(slotObjRaw); if (!sender) { - qCWarning(lcConnect, "QObject::connect: invalid nullptr parameter"); + connectWarning(sender, nullptr, receiver, "invalid nullptr parameter"); return QMetaObject::Connection(); } const QMetaObject *senderMetaObject = sender->metaObject(); diff --git a/src/corelib/kernel/qtimer.cpp b/src/corelib/kernel/qtimer.cpp index afc6bab8559..319ae8bc24e 100644 --- a/src/corelib/kernel/qtimer.cpp +++ b/src/corelib/kernel/qtimer.cpp @@ -15,6 +15,8 @@ #include "qproperty_p.h" #include "qthread.h" +#include <q26numeric.h> // for q26::staturate_cast + using namespace std::chrono_literals; QT_BEGIN_NAMESPACE @@ -248,19 +250,21 @@ void QTimer::start(int msec) start(msec * 1ms); } -static std::chrono::milliseconds +static int checkInterval(const char *caller, std::chrono::milliseconds interval) { - constexpr auto maxInterval = INT_MAX * 1ms; if (interval < 0ms) { qWarning("%s: negative intervals aren't allowed; the interval will be set to 1ms.", caller); - interval = 1ms; - } else if (interval > maxInterval) { + return 1; + } + + const auto msec = interval.count(); + int ret = q26::saturate_cast<int>(msec); + if (ret != msec) { qWarning("%s: interval exceeds maximum allowed interval, it will be clamped to " "INT_MAX ms (about 24 days).", caller); - interval = maxInterval; } - return interval; + return ret; } /*! @@ -288,8 +292,7 @@ void QTimer::start(std::chrono::milliseconds interval) { Q_D(QTimer); - interval = checkInterval("QTimer::start", interval); - const int msec = interval.count(); + const int msec = checkInterval("QTimer::start", interval); const bool intervalChanged = msec != d->inter; d->inter.setValue(msec); start(); @@ -656,8 +659,7 @@ void QTimer::setInterval(std::chrono::milliseconds interval) { Q_D(QTimer); - interval = checkInterval("QTimer::setInterval", interval); - const int msec = interval.count(); + const int msec = checkInterval("QTimer::setInterval", interval); d->inter.removeBindingUnlessInWrapper(); const bool intervalChanged = msec != d->inter.valueBypassingBindings(); d->inter.setValueBypassingBindings(msec); @@ -705,7 +707,10 @@ int QTimer::remainingTime() const if (d->isActive()) { using namespace std::chrono; auto remaining = QAbstractEventDispatcher::instance()->remainingTime(d->id); - return ceil<milliseconds>(remaining).count(); + const auto msec = ceil<milliseconds>(remaining).count(); + const int ret = q26::saturate_cast<int>(msec); + Q_ASSERT(ret == msec); // cannot overflow because the interval is clamped before it's set + return ret; } return -1; diff --git a/src/corelib/kernel/qwinregistry.cpp b/src/corelib/kernel/qwinregistry.cpp index fb315cacb7e..37bf3f99ae1 100644 --- a/src/corelib/kernel/qwinregistry.cpp +++ b/src/corelib/kernel/qwinregistry.cpp @@ -191,7 +191,9 @@ QVariant QWinRegistryKey::value(const QString &subKey) const // Otherwise, the resulting string (which may be empty) is returned. QString QWinRegistryKey::stringValue(const wchar_t *subKey) const { - return value<QString>(subKey).value_or(QString()); + if (auto v = value<QString>(subKey)) + return std::move(*v); + return QString(); } QString QWinRegistryKey::stringValue(const QString &subKey) const diff --git a/src/corelib/platform/android/qandroidnativeinterface.cpp b/src/corelib/platform/android/qandroidnativeinterface.cpp index 680725dc6a1..5771d28f3a9 100644 --- a/src/corelib/platform/android/qandroidnativeinterface.cpp +++ b/src/corelib/platform/android/qandroidnativeinterface.cpp @@ -48,8 +48,9 @@ QT_DEFINE_NATIVE_INTERFACE(QAndroidApplication); /*! \fn QJniObject QNativeInterface::QAndroidApplication::context() - Returns the Android context as a \c QJniObject. The context is an \c Activity - if the most recently started activity object is valid. Otherwise, the context is a \c Service. + Returns the Android context as a \c QtJniTypes::Context. The context + is an \c Activity if the most recently started activity object is valid. + Otherwise, the context is a \c Service. \since 6.2 */ diff --git a/src/corelib/serialization/.gitignore b/src/corelib/serialization/.gitignore index 89f9ac04aac..8261c031991 100644 --- a/src/corelib/serialization/.gitignore +++ b/src/corelib/serialization/.gitignore @@ -1 +1,2 @@ +# Qt-Security score:insignificant reason:gitignore out/ diff --git a/src/corelib/serialization/make-xml-parser.sh b/src/corelib/serialization/make-xml-parser.sh index 18898337003..4174949154c 100755 --- a/src/corelib/serialization/make-xml-parser.sh +++ b/src/corelib/serialization/make-xml-parser.sh @@ -1,6 +1,7 @@ #!/bin/sh # Copyright (C) 2016 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +# Qt-Security score:insignificant reason:build-tool-containing-no-compiled-source me=$(dirname $0) mkdir -p $me/out diff --git a/src/corelib/serialization/qcborvalue.cpp b/src/corelib/serialization/qcborvalue.cpp index f905b97a164..13d74e591d5 100644 --- a/src/corelib/serialization/qcborvalue.cpp +++ b/src/corelib/serialization/qcborvalue.cpp @@ -1102,20 +1102,20 @@ static auto nextUtf32Character(const char16_t *&ptr, const char16_t *end) noexce Q_ASSERT(ptr != end); struct R { char32_t c; - qsizetype len = 1; // in UTF-8 code units (bytes) - } r = { *ptr++ }; - - if (r.c < 0x0800) { - if (r.c >= 0x0080) - ++r.len; - } else if (!QChar::isHighSurrogate(r.c) || ptr == end) { - r.len += 2; + qsizetype len; // in UTF-8 code units (bytes) + }; + + const char16_t c = *ptr++; + + if (c < 0x0800) { + if (c < 0x0080) + return R{c, 1}; + return R{c, 2}; + } else if (!QChar::isHighSurrogate(c) || ptr == end) { + return R{c, 3}; } else { - r.len += 3; - r.c = QChar::surrogateToUcs4(r.c, *ptr++); + return R{QChar::surrogateToUcs4(c, *ptr++), 4}; } - - return r; } static qsizetype stringLengthInUtf8(const char16_t *ptr, const char16_t *end) noexcept diff --git a/src/corelib/serialization/qjsonparseerror.h b/src/corelib/serialization/qjsonparseerror.h index 803b04c53b6..d8fc94448e6 100644 --- a/src/corelib/serialization/qjsonparseerror.h +++ b/src/corelib/serialization/qjsonparseerror.h @@ -7,6 +7,7 @@ #include <QtCore/qtconfigmacros.h> #include <QtCore/qtcoreexports.h> +#include <QtCore/qtypes.h> QT_BEGIN_NAMESPACE @@ -34,7 +35,8 @@ struct Q_CORE_EXPORT QJsonParseError QString errorString() const; - int offset = -1; + std::conditional_t<QT_VERSION_MAJOR < 7, int, qint64> + offset = -1; ParseError error = NoError; }; diff --git a/src/corelib/serialization/qjsonparser.cpp b/src/corelib/serialization/qjsonparser.cpp index df266a76c79..779287adb1d 100644 --- a/src/corelib/serialization/qjsonparser.cpp +++ b/src/corelib/serialization/qjsonparser.cpp @@ -321,7 +321,9 @@ QCborValue Parser::parse(QJsonParseError *error) error: container.reset(); if (error) { - error->offset = json - head; + using OffType = decltype(error->offset); + error->offset = OffType(json - head); + Q_ASSERT(error->offset == json - head); error->error = lastError; } return QCborValue(); diff --git a/src/corelib/text/qbytearray.cpp b/src/corelib/text/qbytearray.cpp index 54f2bb8f145..ead4ea490f9 100644 --- a/src/corelib/text/qbytearray.cpp +++ b/src/corelib/text/qbytearray.cpp @@ -4725,47 +4725,32 @@ QByteArray QByteArray::toHex(char separator) const return hex; } -static void q_fromPercentEncoding(QByteArray *ba, char percent) +static qsizetype q_fromPercentEncoding(QByteArrayView src, char percent, QSpan<char> buffer) { - if (ba->isEmpty()) - return; - - char *data = ba->data(); - const char *inputPtr = data; + char *data = buffer.begin(); + const char *inputPtr = src.begin(); qsizetype i = 0; - qsizetype len = ba->size(); - qsizetype outlen = 0; - int a, b; - char c; + const qsizetype len = src.size(); while (i < len) { - c = inputPtr[i]; + char c = inputPtr[i]; if (c == percent && i + 2 < len) { - a = inputPtr[++i]; - b = inputPtr[++i]; - - if (a >= '0' && a <= '9') a -= '0'; - else if (a >= 'a' && a <= 'f') a = a - 'a' + 10; - else if (a >= 'A' && a <= 'F') a = a - 'A' + 10; - - if (b >= '0' && b <= '9') b -= '0'; - else if (b >= 'a' && b <= 'f') b = b - 'a' + 10; - else if (b >= 'A' && b <= 'F') b = b - 'A' + 10; - - *data++ = (char)((a << 4) | b); + if (int a = QtMiscUtils::fromHex(uchar(inputPtr[++i])); a != -1) + *data = a << 4; + if (int b = QtMiscUtils::fromHex(uchar(inputPtr[++i])); b != -1) + *data |= b; } else { - *data++ = c; + *data = c; } - + ++data; ++i; - ++outlen; } - if (outlen != len) - ba->truncate(outlen); + return data - buffer.begin(); } /*! + \fn QByteArray QByteArray::percentDecoded(char percent) const & \since 6.4 Decodes URI/URL-style percent-encoding. @@ -4783,15 +4768,12 @@ static void q_fromPercentEncoding(QByteArray *ba, char percent) \sa toPercentEncoding(), QUrl::fromPercentEncoding() */ -QByteArray QByteArray::percentDecoded(char percent) const -{ - if (isEmpty()) - return *this; // Preserves isNull(). - QByteArray tmp = *this; - q_fromPercentEncoding(&tmp, percent); - return tmp; -} +/*! + \fn QByteArray QByteArray::percentDecoded(char percent) && + \since 6.11 + \overload +*/ /*! \since 4.4 @@ -4809,7 +4791,30 @@ QByteArray QByteArray::percentDecoded(char percent) const */ QByteArray QByteArray::fromPercentEncoding(const QByteArray &input, char percent) { - return input.percentDecoded(percent); + if (input.isEmpty()) + return input; // Preserves isNull(). + + QByteArray out{input.size(), Qt::Uninitialized}; + qsizetype len = q_fromPercentEncoding(input, percent, out); + out.truncate(len); + return out; +} + +/*! + \overload + \since 6.11 +*/ +QByteArray QByteArray::fromPercentEncoding(QByteArray &&input, char percent) +{ + if (input.d->needsDetach()) + return fromPercentEncoding(input, percent); // lvalue overload + + if (input.isEmpty()) + return std::move(input); // Preserves isNull(). + + qsizetype len = q_fromPercentEncoding(input, percent, input); + input.truncate(len); + return std::move(input); } /*! \fn QByteArray QByteArray::fromStdString(const std::string &str) diff --git a/src/corelib/text/qbytearray.h b/src/corelib/text/qbytearray.h index 49d9e24d036..7dd85437472 100644 --- a/src/corelib/text/qbytearray.h +++ b/src/corelib/text/qbytearray.h @@ -321,7 +321,7 @@ public: { if constexpr (std::is_same_v<InputIterator, iterator> || std::is_same_v<InputIterator, const_iterator>) return assign(QByteArrayView(first, last)); - d.assign(first, last); + d->assign(first, last); if (d.data()) d.data()[d.size] = '\0'; return *this; @@ -400,7 +400,14 @@ public: QByteArray toPercentEncoding(const QByteArray &exclude = QByteArray(), const QByteArray &include = QByteArray(), char percent = '%') const; +#if QT_CORE_REMOVED_SINCE(6, 11) [[nodiscard]] QByteArray percentDecoded(char percent = '%') const; +#else + [[nodiscard]] QByteArray percentDecoded(char percent = '%') const & + { return fromPercentEncoding(*this, percent); } + [[nodiscard]] QByteArray percentDecoded(char percent = '%') && + { return fromPercentEncoding(std::move(*this), percent); } +#endif inline QByteArray &setNum(short, int base = 10); inline QByteArray &setNum(ushort, int base = 10); @@ -432,6 +439,7 @@ public: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64, Base64Options options = Base64Encoding); [[nodiscard]] static QByteArray fromHex(const QByteArray &hexEncoded); [[nodiscard]] static QByteArray fromPercentEncoding(const QByteArray &pctEncoded, char percent = '%'); + [[nodiscard]] static QByteArray fromPercentEncoding(QByteArray &&pctEncoded, char percent = '%'); #if defined(Q_OS_DARWIN) || defined(Q_QDOC) static QByteArray fromCFData(CFDataRef data); @@ -512,10 +520,8 @@ public: } constexpr qsizetype size() const noexcept { -#if __has_cpp_attribute(assume) constexpr size_t MaxSize = maxSize(); - [[assume(size_t(d.size) <= MaxSize)]]; -#endif + Q_PRESUME(size_t(d.size) <= MaxSize); return d.size; } #if QT_DEPRECATED_SINCE(6, 4) diff --git a/src/corelib/text/qchar.cpp b/src/corelib/text/qchar.cpp index 684c9fbe23d..6be19473b85 100644 --- a/src/corelib/text/qchar.cpp +++ b/src/corelib/text/qchar.cpp @@ -1678,20 +1678,13 @@ char32_t QChar::toTitleCase(char32_t ucs4) noexcept return convertCase_helper(ucs4, QUnicodeTables::TitleCase); } -static inline char32_t foldCase(const char16_t *ch, const char16_t *start) +static inline char32_t foldCase(const char16_t *cur, const char16_t *start) { - char32_t ucs4 = *ch; - if (QChar::isLowSurrogate(ucs4) && ch > start && QChar::isHighSurrogate(*(ch - 1))) - ucs4 = QChar::surrogateToUcs4(*(ch - 1), ucs4); - return convertCase_helper(ucs4, QUnicodeTables::CaseFold); -} - -static inline char32_t foldCase(char32_t ch, char32_t &last) noexcept -{ - char32_t ucs4 = ch; - if (QChar::isLowSurrogate(ucs4) && QChar::isHighSurrogate(last)) - ucs4 = QChar::surrogateToUcs4(last, ucs4); - last = ch; + char32_t ucs4; + if (QChar::isLowSurrogate(*cur) && cur > start && QChar::isHighSurrogate(cur[-1])) + ucs4 = QChar::surrogateToUcs4(cur[-1], *cur); + else + ucs4 = *cur; return convertCase_helper(ucs4, QUnicodeTables::CaseFold); } @@ -1839,13 +1832,18 @@ static void decomposeHelper(QString *str, bool canonical, QChar::UnicodeVersion const unsigned short *utf16 = reinterpret_cast<unsigned short *>(s.data()); const unsigned short *uc = utf16 + s.size(); while (uc != utf16 + from) { - char32_t ucs4 = *(--uc); - if (QChar(ucs4).isLowSurrogate() && uc != utf16) { + const char16_t c = *(--uc); + char32_t ucs4; + if (QChar::isLowSurrogate(c) && uc != utf16) { ushort high = *(uc - 1); if (QChar(high).isHighSurrogate()) { --uc; - ucs4 = QChar::surrogateToUcs4(high, ucs4); + ucs4 = QChar::surrogateToUcs4(high, c); + } else { + ucs4 = c; // keep lone surrogate } + } else { + ucs4 = c; } if (QChar::unicodeVersion(ucs4) > version) @@ -1943,13 +1941,18 @@ static void composeHelper(QString *str, QChar::UnicodeVersion version, qsizetype qsizetype pos = from; while (pos < s.size()) { qsizetype i = pos; - char32_t uc = s.at(pos).unicode(); - if (QChar(uc).isHighSurrogate() && pos < s.size()-1) { + char32_t uc; + const char16_t c = s.at(pos).unicode(); + if (QChar::isHighSurrogate(c) && pos < s.size() - 1) { ushort low = s.at(pos+1).unicode(); if (QChar(low).isLowSurrogate()) { - uc = QChar::surrogateToUcs4(uc, low); + uc = QChar::surrogateToUcs4(c, low); ++pos; + } else { + uc = c; // keep lone surrogate } + } else { + uc = c; } const QUnicodeTables::Properties *p = qGetProp(uc); @@ -1993,35 +1996,40 @@ static void canonicalOrderHelper(QString *str, QChar::UnicodeVersion version, qs QString &s = *str; const qsizetype l = s.size()-1; - char32_t u1, u2; - char16_t c1, c2; - qsizetype pos = from; while (pos < l) { qsizetype p2 = pos+1; - u1 = s.at(pos).unicode(); - if (QChar::isHighSurrogate(u1)) { + char32_t u1; + if (const char16_t hi = s.at(pos).unicode(); QChar::isHighSurrogate(hi)) { const char16_t low = s.at(p2).unicode(); if (QChar::isLowSurrogate(low)) { - u1 = QChar::surrogateToUcs4(u1, low); + u1 = QChar::surrogateToUcs4(hi, low); if (p2 >= l) break; ++p2; + } else { + u1 = hi; } + } else { + u1 = hi; } - c1 = 0; + ushort c1 = 0; advance: - u2 = s.at(p2).unicode(); - if (QChar::isHighSurrogate(u2) && p2 < l) { + char32_t u2; + if (const char16_t hi = s.at(p2).unicode(); QChar::isHighSurrogate(hi) && p2 < l) { const char16_t low = s.at(p2+1).unicode(); if (QChar::isLowSurrogate(low)) { - u2 = QChar::surrogateToUcs4(u2, low); + u2 = QChar::surrogateToUcs4(hi, low); ++p2; + } else { + u2 = hi; } + } else { + u2 = hi; } - c2 = 0; + ushort c2 = 0; { const QUnicodeTables::Properties *p = qGetProp(u2); if (p->unicodeVersion <= version) @@ -2089,7 +2097,7 @@ static bool normalizationQuickCheckHelper(QString *str, QString::NormalizationFo uchar lastCombining = 0; for (qsizetype i = from; i < length; ++i) { qsizetype pos = i; - char32_t uc = string[i]; + const char16_t uc = string[i]; if (uc < 0x80) { // ASCII characters are stable code points lastCombining = 0; @@ -2097,6 +2105,7 @@ static bool normalizationQuickCheckHelper(QString *str, QString::NormalizationFo continue; } + char32_t ucs4; if (QChar::isHighSurrogate(uc)) { ushort low = string[i + 1]; if (!QChar::isLowSurrogate(low)) { @@ -2106,10 +2115,12 @@ static bool normalizationQuickCheckHelper(QString *str, QString::NormalizationFo continue; } ++i; - uc = QChar::surrogateToUcs4(uc, low); + ucs4 = QChar::surrogateToUcs4(uc, low); + } else { + ucs4 = uc; } - const QUnicodeTables::Properties *p = qGetProp(uc); + const QUnicodeTables::Properties *p = qGetProp(ucs4); if (p->combiningClass < lastCombining && p->combiningClass > 0) return false; diff --git a/src/corelib/text/qchar.h b/src/corelib/text/qchar.h index 008282232fb..4a3aad0ca0c 100644 --- a/src/corelib/text/qchar.h +++ b/src/corelib/text/qchar.h @@ -499,26 +499,26 @@ public: Unicode_16_0, }; - inline Category category() const noexcept { return QChar::category(ucs); } - inline Direction direction() const noexcept { return QChar::direction(ucs); } - inline JoiningType joiningType() const noexcept { return QChar::joiningType(ucs); } - inline unsigned char combiningClass() const noexcept { return QChar::combiningClass(ucs); } + Category category() const noexcept { return QChar::category(char32_t(ucs)); } + Direction direction() const noexcept { return QChar::direction(char32_t(ucs)); } + JoiningType joiningType() const noexcept { return QChar::joiningType(char32_t(ucs)); } + unsigned char combiningClass() const noexcept { return QChar::combiningClass(char32_t(ucs)); } - inline QChar mirroredChar() const noexcept { return QChar(QChar::mirroredChar(ucs)); } - inline bool hasMirrored() const noexcept { return QChar::hasMirrored(ucs); } + QChar mirroredChar() const noexcept { return QChar(QChar::mirroredChar(char32_t(ucs))); } + bool hasMirrored() const noexcept { return QChar::hasMirrored(char32_t(ucs)); } QString decomposition() const; - inline Decomposition decompositionTag() const noexcept { return QChar::decompositionTag(ucs); } + Decomposition decompositionTag() const noexcept { return QChar::decompositionTag(char32_t(ucs)); } - inline int digitValue() const noexcept { return QChar::digitValue(ucs); } - inline QChar toLower() const noexcept { return QChar(QChar::toLower(ucs)); } - inline QChar toUpper() const noexcept { return QChar(QChar::toUpper(ucs)); } - inline QChar toTitleCase() const noexcept { return QChar(QChar::toTitleCase(ucs)); } - inline QChar toCaseFolded() const noexcept { return QChar(QChar::toCaseFolded(ucs)); } + int digitValue() const noexcept { return QChar::digitValue(char32_t(ucs)); } + QChar toLower() const noexcept { return QChar(QChar::toLower(char32_t(ucs))); } + QChar toUpper() const noexcept { return QChar(QChar::toUpper(char32_t(ucs))); } + QChar toTitleCase() const noexcept { return QChar(QChar::toTitleCase(char32_t(ucs))); } + QChar toCaseFolded() const noexcept { return QChar(QChar::toCaseFolded(char32_t(ucs))); } - inline Script script() const noexcept { return QChar::script(ucs); } + Script script() const noexcept { return QChar::script(char32_t(ucs)); } - inline UnicodeVersion unicodeVersion() const noexcept { return QChar::unicodeVersion(ucs); } + UnicodeVersion unicodeVersion() const noexcept { return QChar::unicodeVersion(char32_t(ucs)); } constexpr inline char toLatin1() const noexcept { return ucs > 0xff ? '\0' : char(ucs); } constexpr inline char16_t unicode() const noexcept { return ucs; } @@ -528,23 +528,23 @@ public: constexpr inline bool isNull() const noexcept { return ucs == 0; } - inline bool isPrint() const noexcept { return QChar::isPrint(ucs); } - constexpr inline bool isSpace() const noexcept { return QChar::isSpace(ucs); } - inline bool isMark() const noexcept { return QChar::isMark(ucs); } - inline bool isPunct() const noexcept { return QChar::isPunct(ucs); } - inline bool isSymbol() const noexcept { return QChar::isSymbol(ucs); } - constexpr inline bool isLetter() const noexcept { return QChar::isLetter(ucs); } - constexpr inline bool isNumber() const noexcept { return QChar::isNumber(ucs); } - constexpr inline bool isLetterOrNumber() const noexcept { return QChar::isLetterOrNumber(ucs); } - constexpr inline bool isDigit() const noexcept { return QChar::isDigit(ucs); } - constexpr inline bool isLower() const noexcept { return QChar::isLower(ucs); } - constexpr inline bool isUpper() const noexcept { return QChar::isUpper(ucs); } - constexpr inline bool isTitleCase() const noexcept { return QChar::isTitleCase(ucs); } - - constexpr inline bool isNonCharacter() const noexcept { return QChar::isNonCharacter(ucs); } - constexpr inline bool isHighSurrogate() const noexcept { return QChar::isHighSurrogate(ucs); } - constexpr inline bool isLowSurrogate() const noexcept { return QChar::isLowSurrogate(ucs); } - constexpr inline bool isSurrogate() const noexcept { return QChar::isSurrogate(ucs); } + bool isPrint() const noexcept { return QChar::isPrint(char32_t(ucs)); } + constexpr bool isSpace() const noexcept { return QChar::isSpace(char32_t(ucs)); } + bool isMark() const noexcept { return QChar::isMark(char32_t(ucs)); } + bool isPunct() const noexcept { return QChar::isPunct(char32_t(ucs)); } + bool isSymbol() const noexcept { return QChar::isSymbol(char32_t(ucs)); } + constexpr bool isLetter() const noexcept { return QChar::isLetter(char32_t(ucs)); } + constexpr bool isNumber() const noexcept { return QChar::isNumber(char32_t(ucs)); } + constexpr bool isLetterOrNumber() const noexcept { return QChar::isLetterOrNumber(char32_t(ucs)); } + constexpr bool isDigit() const noexcept { return QChar::isDigit(char32_t(ucs)); } + constexpr bool isLower() const noexcept { return QChar::isLower(char32_t(ucs)); } + constexpr bool isUpper() const noexcept { return QChar::isUpper(char32_t(ucs)); } + constexpr bool isTitleCase() const noexcept { return QChar::isTitleCase(char32_t(ucs)); } + + constexpr bool isNonCharacter() const noexcept { return QChar::isNonCharacter(char32_t(ucs)); } + constexpr bool isHighSurrogate() const noexcept { return QChar::isHighSurrogate(char32_t(ucs)); } + constexpr bool isLowSurrogate() const noexcept { return QChar::isLowSurrogate(char32_t(ucs)); } + constexpr bool isSurrogate() const noexcept { return QChar::isSurrogate(char32_t(ucs)); } constexpr inline uchar cell() const noexcept { return uchar(ucs & 0xff); } constexpr inline uchar row() const noexcept { return uchar((ucs>>8)&0xff); } diff --git a/src/corelib/text/qcollator.cpp b/src/corelib/text/qcollator.cpp index 9ead847843b..6609d17adf4 100644 --- a/src/corelib/text/qcollator.cpp +++ b/src/corelib/text/qcollator.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2021 The Qt Company Ltd. // Copyright (C) 2013 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qcollator_p.h" #include "qstringlist.h" diff --git a/src/corelib/text/qcollator.h b/src/corelib/text/qcollator.h index 870811fc48e..2b1e3963b0d 100644 --- a/src/corelib/text/qcollator.h +++ b/src/corelib/text/qcollator.h @@ -1,6 +1,7 @@ // Copyright (C) 2020 The Qt Company Ltd. // Copyright (C) 2013 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:trivial-impl-only #ifndef QCOLLATOR_H #define QCOLLATOR_H diff --git a/src/corelib/text/qcollator_icu.cpp b/src/corelib/text/qcollator_icu.cpp index 84f9c515374..e13e96285ef 100644 --- a/src/corelib/text/qcollator_icu.cpp +++ b/src/corelib/text/qcollator_icu.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2020 The Qt Company Ltd. // Copyright (C) 2013 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qcollator_p.h" #include "qlocale_p.h" diff --git a/src/corelib/text/qcollator_macx.cpp b/src/corelib/text/qcollator_macx.cpp index 23c23bd53a2..c0561877dd1 100644 --- a/src/corelib/text/qcollator_macx.cpp +++ b/src/corelib/text/qcollator_macx.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2020 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qcollator_p.h" #include "qlocale_p.h" diff --git a/src/corelib/text/qcollator_p.h b/src/corelib/text/qcollator_p.h index b96cdbaa32a..400cafc0c8a 100644 --- a/src/corelib/text/qcollator_p.h +++ b/src/corelib/text/qcollator_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2013 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:trivial-impl-only #ifndef QCOLLATOR_P_H #define QCOLLATOR_P_H diff --git a/src/corelib/text/qcollator_posix.cpp b/src/corelib/text/qcollator_posix.cpp index 5ed80c1b8ea..2712133521c 100644 --- a/src/corelib/text/qcollator_posix.cpp +++ b/src/corelib/text/qcollator_posix.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2021 The Qt Company Ltd. // Copyright (C) 2013 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qcollator_p.h" #include "qstringlist.h" diff --git a/src/corelib/text/qcollator_win.cpp b/src/corelib/text/qcollator_win.cpp index b588f5ff46a..54228b79b31 100644 --- a/src/corelib/text/qcollator_win.cpp +++ b/src/corelib/text/qcollator_win.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2020 Aleix Pol Gonzalez <[email protected]> // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qcollator_p.h" #include "qlocale_p.h" diff --git a/src/corelib/text/qlatin1stringview.h b/src/corelib/text/qlatin1stringview.h index d76c5da512b..0e9e4fb3699 100644 --- a/src/corelib/text/qlatin1stringview.h +++ b/src/corelib/text/qlatin1stringview.h @@ -8,6 +8,7 @@ #ifndef QLATIN1STRINGVIEW_H #define QLATIN1STRINGVIEW_H +#include <QtCore/qbytearrayview.h> #include <QtCore/qchar.h> #include <QtCore/qcompare.h> #include <QtCore/qcontainerfwd.h> @@ -124,8 +125,14 @@ public: { return QtPrivate::findString(*this, from, s, cs); } [[nodiscard]] qsizetype indexOf(QLatin1StringView s, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept { return QtPrivate::findString(*this, from, s, cs); } - [[nodiscard]] qsizetype indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept - { return QtPrivate::findString(*this, from, QStringView(&c, 1), cs); } + [[nodiscard]] qsizetype indexOf(QChar c, qsizetype from = 0) const noexcept + { return c.unicode() <= 0xff ? QByteArrayView(*this).indexOf(char(c.unicode()), from) : -1; } + [[nodiscard]] qsizetype indexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs) const noexcept + { + if (cs == Qt::CaseInsensitive) + return QtPrivate::findString(*this, from, QStringView(&c, 1), cs); + return indexOf(c, from); + } [[nodiscard]] bool contains(QStringView s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept { return indexOf(s, 0, cs) != -1; } @@ -142,10 +149,18 @@ public: { return lastIndexOf(s, size(), cs); } [[nodiscard]] qsizetype lastIndexOf(QLatin1StringView s, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept { return QtPrivate::lastIndexOf(*this, from, s, cs); } - [[nodiscard]] qsizetype lastIndexOf(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept + [[nodiscard]] qsizetype lastIndexOf(QChar c) const noexcept + { return lastIndexOf(c, -1); } + [[nodiscard]] qsizetype lastIndexOf(QChar c, Qt::CaseSensitivity cs) const noexcept { return lastIndexOf(c, -1, cs); } - [[nodiscard]] qsizetype lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept - { return QtPrivate::lastIndexOf(*this, from, QStringView(&c, 1), cs); } + [[nodiscard]] qsizetype lastIndexOf(QChar c, qsizetype from) const noexcept + { return c.unicode() <= 0xff ? QByteArrayView(*this).lastIndexOf(char(c.unicode()), from) : -1; } + [[nodiscard]] qsizetype lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs) const noexcept + { + if (cs == Qt::CaseInsensitive) + return QtPrivate::lastIndexOf(*this, from, QStringView(&c, 1), cs); + return lastIndexOf(c, from); + } [[nodiscard]] qsizetype count(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const { return QtPrivate::count(*this, str, cs); } diff --git a/src/corelib/text/qlatin1stringview.qdoc b/src/corelib/text/qlatin1stringview.qdoc index d28b61c4276..a36d7233c59 100644 --- a/src/corelib/text/qlatin1stringview.qdoc +++ b/src/corelib/text/qlatin1stringview.qdoc @@ -505,7 +505,8 @@ /*! \fn qsizetype QLatin1StringView::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const \fn qsizetype QLatin1StringView::indexOf(QLatin1StringView l1, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const - \fn qsizetype QLatin1StringView::indexOf(QChar c, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const + \fn qsizetype QLatin1StringView::indexOf(QChar c, qsizetype from = 0) const + \fn qsizetype QLatin1StringView::indexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs) const \since 5.14 Returns the index position in this Latin-1 string view of the first @@ -540,6 +541,9 @@ /*! \fn qsizetype QLatin1StringView::lastIndexOf(QStringView str, qsizetype from, Qt::CaseSensitivity cs) const \fn qsizetype QLatin1StringView::lastIndexOf(QLatin1StringView l1, qsizetype from, Qt::CaseSensitivity cs) const + \fn qsizetype QLatin1StringView::lastIndexOf(QChar c) const + \fn qsizetype QLatin1StringView::lastIndexOf(QChar c, Qt::CaseSensitivity cs) const + \fn qsizetype QLatin1StringView::lastIndexOf(QChar c, qsizetype from) const \fn qsizetype QLatin1StringView::lastIndexOf(QChar c, qsizetype from, Qt::CaseSensitivity cs) const \since 5.14 diff --git a/src/corelib/text/qlocale.qdoc b/src/corelib/text/qlocale.qdoc index 3980e9d9a6d..bc88b27477d 100644 --- a/src/corelib/text/qlocale.qdoc +++ b/src/corelib/text/qlocale.qdoc @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only +// Qt-Security score:insignificant reason:docs /*! \class QLocale diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp index eea66810b0b..46c01bf232a 100644 --- a/src/corelib/text/qstring.cpp +++ b/src/corelib/text/qstring.cpp @@ -1197,15 +1197,13 @@ Q_NEVER_INLINE static int ucstricmp(qsizetype alen, const char16_t *a, qsizetype if (a == b) return qt_lencmp(alen, blen); - char32_t alast = 0; - char32_t blast = 0; qsizetype l = qMin(alen, blen); qsizetype i; for (i = 0; i < l; ++i) { // qDebug() << Qt::hex << alast << blast; // qDebug() << Qt::hex << "*a=" << *a << "alast=" << alast << "folded=" << foldCase (*a, alast); // qDebug() << Qt::hex << "*b=" << *b << "blast=" << blast << "folded=" << foldCase (*b, blast); - int diff = foldCase(a[i], alast) - foldCase(b[i], blast); + int diff = foldCase(a + i, a) - foldCase(b + i, b); if ((diff)) return diff; } diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h index 868a5d5ef03..506d669d356 100644 --- a/src/corelib/text/qstring.h +++ b/src/corelib/text/qstring.h @@ -273,10 +273,8 @@ public: } constexpr qsizetype size() const noexcept { -#if __has_cpp_attribute(assume) constexpr size_t MaxSize = maxSize(); - [[assume(size_t(d.size) <= MaxSize)]]; -#endif + Q_PRESUME(size_t(d.size) <= MaxSize); return d.size; } #if QT_DEPRECATED_SINCE(6, 4) @@ -642,7 +640,7 @@ public: d.data()[d.size] = u'\0'; return *this; } else { - d.assign(first, last, [](QChar ch) -> char16_t { return ch.unicode(); }); + d->assign(first, last, [](QChar ch) -> char16_t { return ch.unicode(); }); if (d.constAllocatedCapacity()) d.data()[d.size] = u'\0'; return *this; diff --git a/src/corelib/text/qstringiterator_p.h b/src/corelib/text/qstringiterator_p.h index 38a1216bdb8..3c9658bd92f 100644 --- a/src/corelib/text/qstringiterator_p.h +++ b/src/corelib/text/qstringiterator_p.h @@ -148,6 +148,17 @@ public: return uc.unicode(); } + char32_t nextOrRawCodeUnit() + { + Q_ASSERT_X(hasNext(), Q_FUNC_INFO, "iterator hasn't a next item"); + + const QChar uc = *pos++; + if (uc.isHighSurrogate() && hasNext() && pos->isLowSurrogate()) + return QChar::surrogateToUcs4(uc, *pos++); + + return uc.unicode(); + } + // backwards iteration inline bool hasPrevious() const @@ -228,6 +239,17 @@ public: return uc.unicode(); } + + char32_t previousOrRawCodeUnit() + { + Q_ASSERT_X(hasPrevious(), Q_FUNC_INFO, "iterator hasn't a previous item"); + + const QChar uc = *--pos; + if (uc.isLowSurrogate() && hasPrevious() && pos[-1].isHighSurrogate()) + return QChar::surrogateToUcs4(*--pos, uc); + + return uc.unicode(); + } }; QT_END_NAMESPACE diff --git a/src/corelib/text/qtliterals.qdoc b/src/corelib/text/qtliterals.qdoc index c4671415ee4..8be03a02236 100644 --- a/src/corelib/text/qtliterals.qdoc +++ b/src/corelib/text/qtliterals.qdoc @@ -1,5 +1,6 @@ // Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only +// Qt-Security score:insignificant reason:docs /*! \namespace QtLiterals @@ -43,4 +44,8 @@ // in the Qt namespace using namespace Qt; \endcode + + The latter is discouraged, because it doesn't allow you to pick which literal + operators you want in case Qt adds conflicting operators in different + namespaces within Qt::Literals. */ diff --git a/src/corelib/text/qunicodetables.cpp b/src/corelib/text/qunicodetables.cpp index 22a665089e3..eb4f8b9cb7a 100644 --- a/src/corelib/text/qunicodetables.cpp +++ b/src/corelib/text/qunicodetables.cpp @@ -9,6 +9,457 @@ QT_BEGIN_NAMESPACE namespace QUnicodeTables { +static constexpr std::array<CaseConversion, NumCases> caseConversions[] = { + { { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 0, 32 }, { 0, 0 }, { 0, 0 }, { 0, 32 } } }, + { { { 0, 0 }, { 0, -32 }, { 0, -32 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 743 }, { 0, 743 }, { 0, 775 } } }, + { { { 0, 0 }, { 1, 426 }, { 1, 423 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 121 }, { 0, 121 }, { 0, 0 } } }, + { { { 0, 1 }, { 0, 0 }, { 0, 0 }, { 0, 1 } } }, + { { { 0, 0 }, { 0, -1 }, { 0, -1 }, { 0, 0 } } }, + { { { 1, 429 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -232 }, { 0, -232 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 508 }, { 1, 508 }, { 0, 0 } } }, + { { { 0, -121 }, { 0, 0 }, { 0, 0 }, { 0, -121 } } }, + { { { 0, 0 }, { 0, -300 }, { 0, -300 }, { 0, -268 } } }, + { { { 0, 0 }, { 0, 195 }, { 0, 195 }, { 0, 0 } } }, + { { { 0, 210 }, { 0, 0 }, { 0, 0 }, { 0, 210 } } }, + { { { 0, 206 }, { 0, 0 }, { 0, 0 }, { 0, 206 } } }, + { { { 0, 205 }, { 0, 0 }, { 0, 0 }, { 0, 205 } } }, + { { { 0, 79 }, { 0, 0 }, { 0, 0 }, { 0, 79 } } }, + { { { 0, 202 }, { 0, 0 }, { 0, 0 }, { 0, 202 } } }, + { { { 0, 203 }, { 0, 0 }, { 0, 0 }, { 0, 203 } } }, + { { { 0, 207 }, { 0, 0 }, { 0, 0 }, { 0, 207 } } }, + { { { 0, 0 }, { 0, 97 }, { 0, 97 }, { 0, 0 } } }, + { { { 0, 211 }, { 0, 0 }, { 0, 0 }, { 0, 211 } } }, + { { { 0, 209 }, { 0, 0 }, { 0, 0 }, { 0, 209 } } }, + { { { 0, 0 }, { 0, 163 }, { 0, 163 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 1 }, { 1, 1 }, { 0, 0 } } }, + { { { 0, 213 }, { 0, 0 }, { 0, 0 }, { 0, 213 } } }, + { { { 0, 0 }, { 0, 130 }, { 0, 130 }, { 0, 0 } } }, + { { { 0, 214 }, { 0, 0 }, { 0, 0 }, { 0, 214 } } }, + { { { 0, 218 }, { 0, 0 }, { 0, 0 }, { 0, 218 } } }, + { { { 0, 217 }, { 0, 0 }, { 0, 0 }, { 0, 217 } } }, + { { { 0, 219 }, { 0, 0 }, { 0, 0 }, { 0, 219 } } }, + { { { 0, 0 }, { 0, 56 }, { 0, 56 }, { 0, 0 } } }, + { { { 0, 2 }, { 0, 0 }, { 0, 1 }, { 0, 2 } } }, + { { { 0, 1 }, { 0, -1 }, { 0, 0 }, { 0, 1 } } }, + { { { 0, 0 }, { 0, -2 }, { 0, -1 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -79 }, { 0, -79 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 519 }, { 1, 519 }, { 0, 0 } } }, + { { { 0, -97 }, { 0, 0 }, { 0, 0 }, { 0, -97 } } }, + { { { 0, -56 }, { 0, 0 }, { 0, 0 }, { 0, -56 } } }, + { { { 0, -130 }, { 0, 0 }, { 0, 0 }, { 0, -130 } } }, + { { { 1, 3 }, { 0, 0 }, { 0, 0 }, { 1, 3 } } }, + { { { 0, -163 }, { 0, 0 }, { 0, 0 }, { 0, -163 } } }, + { { { 1, 5 }, { 0, 0 }, { 0, 0 }, { 1, 5 } } }, + { { { 0, 0 }, { 1, 7 }, { 1, 7 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 9 }, { 1, 9 }, { 0, 0 } } }, + { { { 0, -195 }, { 0, 0 }, { 0, 0 }, { 0, -195 } } }, + { { { 0, 69 }, { 0, 0 }, { 0, 0 }, { 0, 69 } } }, + { { { 0, 71 }, { 0, 0 }, { 0, 0 }, { 0, 71 } } }, + { { { 0, 0 }, { 1, 11 }, { 1, 11 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 13 }, { 1, 13 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 15 }, { 1, 15 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -210 }, { 0, -210 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -206 }, { 0, -206 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -205 }, { 0, -205 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -202 }, { 0, -202 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -203 }, { 0, -203 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 17 }, { 1, 17 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 19 }, { 1, 19 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -207 }, { 0, -207 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 21 }, { 1, 21 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 23 }, { 1, 23 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 25 }, { 1, 25 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -209 }, { 0, -209 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -211 }, { 0, -211 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 27 }, { 1, 27 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 29 }, { 1, 29 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 31 }, { 1, 31 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 33 }, { 1, 33 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -213 }, { 0, -213 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -214 }, { 0, -214 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 35 }, { 1, 35 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -218 }, { 0, -218 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 37 }, { 1, 37 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 39 }, { 1, 39 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -69 }, { 0, -69 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -217 }, { 0, -217 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -71 }, { 0, -71 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -219 }, { 0, -219 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 41 }, { 1, 41 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 43 }, { 1, 43 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 84 }, { 0, 84 }, { 0, 116 } } }, + { { { 0, 116 }, { 0, 0 }, { 0, 0 }, { 0, 116 } } }, + { { { 0, 38 }, { 0, 0 }, { 0, 0 }, { 0, 38 } } }, + { { { 0, 37 }, { 0, 0 }, { 0, 0 }, { 0, 37 } } }, + { { { 0, 64 }, { 0, 0 }, { 0, 0 }, { 0, 64 } } }, + { { { 0, 63 }, { 0, 0 }, { 0, 0 }, { 0, 63 } } }, + { { { 0, 0 }, { 1, 511 }, { 1, 511 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -38 }, { 0, -38 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -37 }, { 0, -37 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 515 }, { 1, 515 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -31 }, { 0, -31 }, { 0, 1 } } }, + { { { 0, 0 }, { 0, -64 }, { 0, -64 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -63 }, { 0, -63 }, { 0, 0 } } }, + { { { 0, 8 }, { 0, 0 }, { 0, 0 }, { 0, 8 } } }, + { { { 0, 0 }, { 0, -62 }, { 0, -62 }, { 0, -30 } } }, + { { { 0, 0 }, { 0, -57 }, { 0, -57 }, { 0, -25 } } }, + { { { 0, 0 }, { 0, -47 }, { 0, -47 }, { 0, -15 } } }, + { { { 0, 0 }, { 0, -54 }, { 0, -54 }, { 0, -22 } } }, + { { { 0, 0 }, { 0, -8 }, { 0, -8 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -86 }, { 0, -86 }, { 0, -54 } } }, + { { { 0, 0 }, { 0, -80 }, { 0, -80 }, { 0, -48 } } }, + { { { 0, 0 }, { 0, 7 }, { 0, 7 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -116 }, { 0, -116 }, { 0, 0 } } }, + { { { 0, -60 }, { 0, 0 }, { 0, 0 }, { 0, -60 } } }, + { { { 0, 0 }, { 0, -96 }, { 0, -96 }, { 0, -64 } } }, + { { { 0, -7 }, { 0, 0 }, { 0, 0 }, { 0, -7 } } }, + { { { 0, 80 }, { 0, 0 }, { 0, 0 }, { 0, 80 } } }, + { { { 0, 0 }, { 0, -80 }, { 0, -80 }, { 0, 0 } } }, + { { { 0, 15 }, { 0, 0 }, { 0, 0 }, { 0, 15 } } }, + { { { 0, 0 }, { 0, -15 }, { 0, -15 }, { 0, 0 } } }, + { { { 0, 48 }, { 0, 0 }, { 0, 0 }, { 0, 48 } } }, + { { { 0, 0 }, { 0, -48 }, { 0, -48 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 475 }, { 1, 472 }, { 0, 0 } } }, + { { { 0, 7264 }, { 0, 0 }, { 0, 0 }, { 0, 7264 } } }, + { { { 0, 0 }, { 0, 3008 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 45 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 47 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 49 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 51 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 53 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 55 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 57 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 59 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 61 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 63 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 65 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 67 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 69 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 71 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 73 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 75 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 77 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 79 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 81 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 83 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 85 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 87 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 89 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 91 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 93 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 95 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 97 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 99 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 101 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 103 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 105 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 107 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 109 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 111 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 113 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 115 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 117 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 119 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 121 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 123 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 125 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 127 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 129 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 131 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 133 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 135 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 137 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 139 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 141 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 143 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 145 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 147 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 149 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 151 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 153 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 155 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 157 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 159 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 161 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 163 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 165 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 167 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 169 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 171 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 173 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 175 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 177 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 179 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 181 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 183 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 185 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 187 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 189 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 191 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 193 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 195 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 197 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 199 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 201 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 1, 203 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 0, 8 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -8 }, { 0, -8 }, { 0, -8 } } }, + { { { 0, 0 }, { 0, -6254 }, { 0, -6254 }, { 0, -6222 } } }, + { { { 0, 0 }, { 0, -6253 }, { 0, -6253 }, { 0, -6221 } } }, + { { { 0, 0 }, { 0, -6244 }, { 0, -6244 }, { 0, -6212 } } }, + { { { 0, 0 }, { 0, -6242 }, { 0, -6242 }, { 0, -6210 } } }, + { { { 0, 0 }, { 0, -6243 }, { 0, -6243 }, { 0, -6211 } } }, + { { { 0, 0 }, { 0, -6236 }, { 0, -6236 }, { 0, -6204 } } }, + { { { 0, 0 }, { 0, -6181 }, { 0, -6181 }, { 0, -6180 } } }, + { { { 0, 0 }, { 1, 205 }, { 1, 205 }, { 1, 727 } } }, + { { { 0, -3008 }, { 0, 0 }, { 0, 0 }, { 0, -3008 } } }, + { { { 0, 0 }, { 1, 207 }, { 1, 207 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 3814 }, { 0, 3814 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 209 }, { 1, 209 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 522 }, { 1, 522 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 525 }, { 1, 525 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 528 }, { 1, 528 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 531 }, { 1, 531 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 534 }, { 1, 534 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, -59 }, { 0, -59 }, { 0, -58 } } }, + { { { 0, -7615 }, { 0, 0 }, { 0, 0 }, { 0, -7615 } } }, + { { { 0, 0 }, { 0, 8 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, -8 }, { 0, 0 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, 0 }, { 1, 537 }, { 1, 537 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 540 }, { 1, 540 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 544 }, { 1, 544 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 548 }, { 1, 548 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 74 }, { 0, 74 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 86 }, { 0, 86 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 100 }, { 0, 100 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 128 }, { 0, 128 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 112 }, { 0, 112 }, { 0, 0 } } }, + { { { 0, 0 }, { 0, 126 }, { 0, 126 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 586 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 589 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 592 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 595 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 598 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 601 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 604 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 607 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, -8 }, { 1, 586 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 589 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 592 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 595 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 598 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 601 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 604 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 607 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, 0 }, { 1, 610 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 613 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 616 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 619 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 622 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 625 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 628 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 631 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, -8 }, { 1, 610 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 613 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 616 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 619 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 622 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 625 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 628 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 631 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, 0 }, { 1, 634 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 637 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 640 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 643 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 646 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 649 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 652 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 655 }, { 0, 8 }, { 0, 0 } } }, + { { { 0, -8 }, { 1, 634 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 637 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 640 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 643 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 646 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 649 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 652 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, -8 }, { 1, 655 }, { 0, 0 }, { 0, -8 } } }, + { { { 0, 0 }, { 1, 670 }, { 1, 667 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 658 }, { 0, 9 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 676 }, { 1, 673 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 552 }, { 1, 552 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 707 }, { 1, 703 }, { 0, 0 } } }, + { { { 0, -74 }, { 0, 0 }, { 0, 0 }, { 0, -74 } } }, + { { { 0, -9 }, { 1, 658 }, { 0, 0 }, { 0, -9 } } }, + { { { 0, 0 }, { 0, -7205 }, { 0, -7205 }, { 0, -7173 } } }, + { { { 0, 0 }, { 1, 682 }, { 1, 679 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 661 }, { 0, 9 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 688 }, { 1, 685 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 555 }, { 1, 555 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 715 }, { 1, 711 }, { 0, 0 } } }, + { { { 0, -86 }, { 0, 0 }, { 0, 0 }, { 0, -86 } } }, + { { { 0, -9 }, { 1, 661 }, { 0, 0 }, { 0, -9 } } }, + { { { 0, 0 }, { 1, 558 }, { 1, 558 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 511 }, { 1, 511 }, { 0, -7235 } } }, + { { { 0, 0 }, { 1, 562 }, { 1, 562 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 565 }, { 1, 565 }, { 0, 0 } } }, + { { { 0, -100 }, { 0, 0 }, { 0, 0 }, { 0, -100 } } }, + { { { 0, 0 }, { 1, 569 }, { 1, 569 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 515 }, { 1, 515 }, { 0, -7219 } } }, + { { { 0, 0 }, { 1, 573 }, { 1, 573 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 576 }, { 1, 576 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 579 }, { 1, 579 }, { 0, 0 } } }, + { { { 0, -112 }, { 0, 0 }, { 0, 0 }, { 0, -112 } } }, + { { { 0, 0 }, { 1, 694 }, { 1, 691 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 664 }, { 0, 9 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 700 }, { 1, 697 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 583 }, { 1, 583 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 723 }, { 1, 719 }, { 0, 0 } } }, + { { { 0, -128 }, { 0, 0 }, { 0, 0 }, { 0, -128 } } }, + { { { 0, -126 }, { 0, 0 }, { 0, 0 }, { 0, -126 } } }, + { { { 0, -9 }, { 1, 664 }, { 0, 0 }, { 0, -9 } } }, + { { { 0, -7517 }, { 0, 0 }, { 0, 0 }, { 0, -7517 } } }, + { { { 1, 211 }, { 0, 0 }, { 0, 0 }, { 1, 211 } } }, + { { { 1, 213 }, { 0, 0 }, { 0, 0 }, { 1, 213 } } }, + { { { 0, 28 }, { 0, 0 }, { 0, 0 }, { 0, 28 } } }, + { { { 0, 0 }, { 0, -28 }, { 0, -28 }, { 0, 0 } } }, + { { { 0, 16 }, { 0, 0 }, { 0, 0 }, { 0, 16 } } }, + { { { 0, 0 }, { 0, -16 }, { 0, -16 }, { 0, 0 } } }, + { { { 0, 26 }, { 0, 0 }, { 0, 0 }, { 0, 26 } } }, + { { { 0, 0 }, { 0, -26 }, { 0, -26 }, { 0, 0 } } }, + { { { 1, 215 }, { 0, 0 }, { 0, 0 }, { 1, 215 } } }, + { { { 0, -3814 }, { 0, 0 }, { 0, 0 }, { 0, -3814 } } }, + { { { 1, 217 }, { 0, 0 }, { 0, 0 }, { 1, 217 } } }, + { { { 0, 0 }, { 1, 219 }, { 1, 219 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 221 }, { 1, 221 }, { 0, 0 } } }, + { { { 1, 223 }, { 0, 0 }, { 0, 0 }, { 1, 223 } } }, + { { { 1, 225 }, { 0, 0 }, { 0, 0 }, { 1, 225 } } }, + { { { 1, 227 }, { 0, 0 }, { 0, 0 }, { 1, 227 } } }, + { { { 1, 229 }, { 0, 0 }, { 0, 0 }, { 1, 229 } } }, + { { { 1, 231 }, { 0, 0 }, { 0, 0 }, { 1, 231 } } }, + { { { 1, 233 }, { 0, 0 }, { 0, 0 }, { 1, 233 } } }, + { { { 0, 0 }, { 0, -7264 }, { 0, -7264 }, { 0, 0 } } }, + { { { 1, 235 }, { 0, 0 }, { 0, 0 }, { 1, 235 } } }, + { { { 1, 237 }, { 0, 0 }, { 0, 0 }, { 1, 237 } } }, + { { { 0, 0 }, { 0, 48 }, { 0, 48 }, { 0, 0 } } }, + { { { 1, 239 }, { 0, 0 }, { 0, 0 }, { 1, 239 } } }, + { { { 1, 241 }, { 0, 0 }, { 0, 0 }, { 1, 241 } } }, + { { { 1, 243 }, { 0, 0 }, { 0, 0 }, { 1, 243 } } }, + { { { 1, 245 }, { 0, 0 }, { 0, 0 }, { 1, 245 } } }, + { { { 1, 247 }, { 0, 0 }, { 0, 0 }, { 1, 247 } } }, + { { { 1, 249 }, { 0, 0 }, { 0, 0 }, { 1, 249 } } }, + { { { 1, 251 }, { 0, 0 }, { 0, 0 }, { 1, 251 } } }, + { { { 1, 253 }, { 0, 0 }, { 0, 0 }, { 1, 253 } } }, + { { { 0, 928 }, { 0, 0 }, { 0, 0 }, { 0, 928 } } }, + { { { 0, -48 }, { 0, 0 }, { 0, 0 }, { 0, -48 } } }, + { { { 1, 255 }, { 0, 0 }, { 0, 0 }, { 1, 255 } } }, + { { { 1, 257 }, { 0, 0 }, { 0, 0 }, { 1, 257 } } }, + { { { 1, 259 }, { 0, 0 }, { 0, 0 }, { 1, 259 } } }, + { { { 1, 261 }, { 0, 0 }, { 0, 0 }, { 1, 261 } } }, + { { { 0, 0 }, { 0, -928 }, { 0, -928 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 263 }, { 1, 263 }, { 1, 263 } } }, + { { { 0, 0 }, { 1, 265 }, { 1, 265 }, { 1, 265 } } }, + { { { 0, 0 }, { 1, 267 }, { 1, 267 }, { 1, 267 } } }, + { { { 0, 0 }, { 1, 269 }, { 1, 269 }, { 1, 269 } } }, + { { { 0, 0 }, { 1, 271 }, { 1, 271 }, { 1, 271 } } }, + { { { 0, 0 }, { 1, 273 }, { 1, 273 }, { 1, 273 } } }, + { { { 0, 0 }, { 1, 275 }, { 1, 275 }, { 1, 275 } } }, + { { { 0, 0 }, { 1, 277 }, { 1, 277 }, { 1, 277 } } }, + { { { 0, 0 }, { 1, 279 }, { 1, 279 }, { 1, 279 } } }, + { { { 0, 0 }, { 1, 281 }, { 1, 281 }, { 1, 281 } } }, + { { { 0, 0 }, { 1, 283 }, { 1, 283 }, { 1, 283 } } }, + { { { 0, 0 }, { 1, 285 }, { 1, 285 }, { 1, 285 } } }, + { { { 0, 0 }, { 1, 287 }, { 1, 287 }, { 1, 287 } } }, + { { { 0, 0 }, { 1, 289 }, { 1, 289 }, { 1, 289 } } }, + { { { 0, 0 }, { 1, 291 }, { 1, 291 }, { 1, 291 } } }, + { { { 0, 0 }, { 1, 293 }, { 1, 293 }, { 1, 293 } } }, + { { { 0, 0 }, { 1, 295 }, { 1, 295 }, { 1, 295 } } }, + { { { 0, 0 }, { 1, 297 }, { 1, 297 }, { 1, 297 } } }, + { { { 0, 0 }, { 1, 299 }, { 1, 299 }, { 1, 299 } } }, + { { { 0, 0 }, { 1, 301 }, { 1, 301 }, { 1, 301 } } }, + { { { 0, 0 }, { 1, 303 }, { 1, 303 }, { 1, 303 } } }, + { { { 0, 0 }, { 1, 305 }, { 1, 305 }, { 1, 305 } } }, + { { { 0, 0 }, { 1, 307 }, { 1, 307 }, { 1, 307 } } }, + { { { 0, 0 }, { 1, 309 }, { 1, 309 }, { 1, 309 } } }, + { { { 0, 0 }, { 1, 311 }, { 1, 311 }, { 1, 311 } } }, + { { { 0, 0 }, { 1, 313 }, { 1, 313 }, { 1, 313 } } }, + { { { 0, 0 }, { 1, 315 }, { 1, 315 }, { 1, 315 } } }, + { { { 0, 0 }, { 1, 317 }, { 1, 317 }, { 1, 317 } } }, + { { { 0, 0 }, { 1, 319 }, { 1, 319 }, { 1, 319 } } }, + { { { 0, 0 }, { 1, 321 }, { 1, 321 }, { 1, 321 } } }, + { { { 0, 0 }, { 1, 323 }, { 1, 323 }, { 1, 323 } } }, + { { { 0, 0 }, { 1, 325 }, { 1, 325 }, { 1, 325 } } }, + { { { 0, 0 }, { 1, 327 }, { 1, 327 }, { 1, 327 } } }, + { { { 0, 0 }, { 1, 329 }, { 1, 329 }, { 1, 329 } } }, + { { { 0, 0 }, { 1, 331 }, { 1, 331 }, { 1, 331 } } }, + { { { 0, 0 }, { 1, 333 }, { 1, 333 }, { 1, 333 } } }, + { { { 0, 0 }, { 1, 335 }, { 1, 335 }, { 1, 335 } } }, + { { { 0, 0 }, { 1, 337 }, { 1, 337 }, { 1, 337 } } }, + { { { 0, 0 }, { 1, 339 }, { 1, 339 }, { 1, 339 } } }, + { { { 0, 0 }, { 1, 341 }, { 1, 341 }, { 1, 341 } } }, + { { { 0, 0 }, { 1, 343 }, { 1, 343 }, { 1, 343 } } }, + { { { 0, 0 }, { 1, 345 }, { 1, 345 }, { 1, 345 } } }, + { { { 0, 0 }, { 1, 347 }, { 1, 347 }, { 1, 347 } } }, + { { { 0, 0 }, { 1, 349 }, { 1, 349 }, { 1, 349 } } }, + { { { 0, 0 }, { 1, 351 }, { 1, 351 }, { 1, 351 } } }, + { { { 0, 0 }, { 1, 353 }, { 1, 353 }, { 1, 353 } } }, + { { { 0, 0 }, { 1, 355 }, { 1, 355 }, { 1, 355 } } }, + { { { 0, 0 }, { 1, 357 }, { 1, 357 }, { 1, 357 } } }, + { { { 0, 0 }, { 1, 359 }, { 1, 359 }, { 1, 359 } } }, + { { { 0, 0 }, { 1, 361 }, { 1, 361 }, { 1, 361 } } }, + { { { 0, 0 }, { 1, 363 }, { 1, 363 }, { 1, 363 } } }, + { { { 0, 0 }, { 1, 365 }, { 1, 365 }, { 1, 365 } } }, + { { { 0, 0 }, { 1, 367 }, { 1, 367 }, { 1, 367 } } }, + { { { 0, 0 }, { 1, 369 }, { 1, 369 }, { 1, 369 } } }, + { { { 0, 0 }, { 1, 371 }, { 1, 371 }, { 1, 371 } } }, + { { { 0, 0 }, { 1, 373 }, { 1, 373 }, { 1, 373 } } }, + { { { 0, 0 }, { 1, 375 }, { 1, 375 }, { 1, 375 } } }, + { { { 0, 0 }, { 1, 377 }, { 1, 377 }, { 1, 377 } } }, + { { { 0, 0 }, { 1, 379 }, { 1, 379 }, { 1, 379 } } }, + { { { 0, 0 }, { 1, 381 }, { 1, 381 }, { 1, 381 } } }, + { { { 0, 0 }, { 1, 383 }, { 1, 383 }, { 1, 383 } } }, + { { { 0, 0 }, { 1, 385 }, { 1, 385 }, { 1, 385 } } }, + { { { 0, 0 }, { 1, 387 }, { 1, 387 }, { 1, 387 } } }, + { { { 0, 0 }, { 1, 389 }, { 1, 389 }, { 1, 389 } } }, + { { { 0, 0 }, { 1, 391 }, { 1, 391 }, { 1, 391 } } }, + { { { 0, 0 }, { 1, 393 }, { 1, 393 }, { 1, 393 } } }, + { { { 0, 0 }, { 1, 395 }, { 1, 395 }, { 1, 395 } } }, + { { { 0, 0 }, { 1, 397 }, { 1, 397 }, { 1, 397 } } }, + { { { 0, 0 }, { 1, 399 }, { 1, 399 }, { 1, 399 } } }, + { { { 0, 0 }, { 1, 401 }, { 1, 401 }, { 1, 401 } } }, + { { { 0, 0 }, { 1, 403 }, { 1, 403 }, { 1, 403 } } }, + { { { 0, 0 }, { 1, 405 }, { 1, 405 }, { 1, 405 } } }, + { { { 0, 0 }, { 1, 407 }, { 1, 407 }, { 1, 407 } } }, + { { { 0, 0 }, { 1, 409 }, { 1, 409 }, { 1, 409 } } }, + { { { 0, 0 }, { 1, 411 }, { 1, 411 }, { 1, 411 } } }, + { { { 0, 0 }, { 1, 413 }, { 1, 413 }, { 1, 413 } } }, + { { { 0, 0 }, { 1, 415 }, { 1, 415 }, { 1, 415 } } }, + { { { 0, 0 }, { 1, 417 }, { 1, 417 }, { 1, 417 } } }, + { { { 0, 0 }, { 1, 419 }, { 1, 419 }, { 1, 419 } } }, + { { { 0, 0 }, { 1, 421 }, { 1, 421 }, { 1, 421 } } }, + { { { 0, 0 }, { 1, 435 }, { 1, 432 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 441 }, { 1, 438 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 447 }, { 1, 444 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 454 }, { 1, 450 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 462 }, { 1, 458 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 469 }, { 1, 466 }, { 0, 1 } } }, + { { { 0, 0 }, { 1, 469 }, { 1, 466 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 481 }, { 1, 478 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 487 }, { 1, 484 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 493 }, { 1, 490 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 499 }, { 1, 496 }, { 0, 0 } } }, + { { { 0, 0 }, { 1, 505 }, { 1, 502 }, { 0, 0 } } }, + { { { 0, 40 }, { 0, 0 }, { 0, 0 }, { 0, 40 } } }, + { { { 0, 0 }, { 0, -40 }, { 0, -40 }, { 0, 0 } } }, + { { { 0, 39 }, { 0, 0 }, { 0, 0 }, { 0, 39 } } }, + { { { 0, 0 }, { 0, -39 }, { 0, -39 }, { 0, 0 } } }, + { { { 0, 34 }, { 0, 0 }, { 0, 0 }, { 0, 34 } } }, + { { { 0, 0 }, { 0, -34 }, { 0, -34 }, { 0, 0 } } }, +}; + static constexpr char32_t MaxSeparatorCodepoint = 0x3000; static constexpr unsigned short uc_property_trie[] = { @@ -7460,3378 +7911,3378 @@ static constexpr unsigned short uc_property_trie[] = { }; static constexpr Properties uc_properties[] = { - { 9, 18, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 27, 0, 1, 2 }, - { 9, 8, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 21, 5, 1, 2 }, - { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 2, 2, 48, 2, 1, 2 }, - { 9, 8, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 3, 49, 5, 1, 2 }, - { 9, 9, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 3, 49, 5, 1, 2 }, - { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 1, 1, 47, 1, 1, 2 }, - { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 27, 0, 1, 2 }, - { 9, 8, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 27, 0, 1, 2 }, - { 6, 9, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 18, 46, 5, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 12, 3, 13, 1, 2 }, - { 25, 4, 17, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 11, 3, 13, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 2, 13, 1, 2 }, - { 25, 10, 17, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 3, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 11, 1, 2 }, - { 20, 3, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 19, 11, 1, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 10, 1, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 10, 0, 1, 2 }, - { 3, 2, 17, 0, 0, 0, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 2, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 3, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 4, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 5, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 6, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 7, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 8, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 3, 2, 17, 0, 0, 9, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 11, 11, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 11, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -2, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 3 }, - { 21, 10, 0, 0, 0, -1, 2, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -2, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 2, 13, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 19, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 17, 15, 0, 1, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -2, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 9, 18, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 27, 0, 0, 2 }, - { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 3, 49, 3, 0, 2 }, - { 6, 6, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 7, 5, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 23, 10, 0, 0, 0, -1, 16, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 21, 4, 2, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 4, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 4, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 26, 4, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 5, 2, 0, 0, 0, 2, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 3, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 743}, {0, 743}, {0, 775} } }, 0, 10, 15, 6, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 15, 0, 1, 2 }, - { 5, 2, 0, 0, 0, 1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 24, 10, 0, 0, 0, -1, -16, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 3 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {1, 426}, {1, 423}, {0, 0} } }, 0, 10, 15, 6, 4, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 121}, {0, 121}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 1, 429}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, -232}, {0, -232}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {1, 508}, {1, 508}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -121}, {0, 0}, {0, 0}, {0, -121} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -300}, {0, -300}, {0, -268} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 195}, {0, 195}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 210}, {0, 0}, {0, 0}, {0, 210} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 206}, {0, 0}, {0, 0}, {0, 206} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 205}, {0, 0}, {0, 0}, {0, 205} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 79}, {0, 0}, {0, 0}, {0, 79} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 202}, {0, 0}, {0, 0}, {0, 202} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 203}, {0, 0}, {0, 0}, {0, 203} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 207}, {0, 0}, {0, 0}, {0, 207} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 97}, {0, 97}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 211}, {0, 0}, {0, 0}, {0, 211} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 209}, {0, 0}, {0, 0}, {0, 209} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 163}, {0, 163}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 1}, {1, 1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 213}, {0, 0}, {0, 0}, {0, 213} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 130}, {0, 130}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 214}, {0, 0}, {0, 0}, {0, 214} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 218}, {0, 0}, {0, 0}, {0, 218} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 217}, {0, 0}, {0, 0}, {0, 217} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 219}, {0, 0}, {0, 0}, {0, 219} } }, 0, 10, 15, 7, 3, 3 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 56}, {0, 56}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 2}, {0, 0}, {0, 1}, {0, 2} } }, 0, 10, 15, 7, 3, 3 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 1}, {0, -1}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -2}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -79}, {0, -79}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 519}, {1, 519}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, -97}, {0, 0}, {0, 0}, {0, -97} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, -56}, {0, 0}, {0, 0}, {0, -56} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, -130}, {0, 0}, {0, 0}, {0, -130} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 1, 3}, {0, 0}, {0, 0}, {1, 3} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, -163}, {0, 0}, {0, 0}, {0, -163} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 1, 5}, {0, 0}, {0, 0}, {1, 5} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {1, 7}, {1, 7}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {1, 9}, {1, 9}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, -195}, {0, 0}, {0, 0}, {0, -195} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 69}, {0, 0}, {0, 0}, {0, 69} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 71}, {0, 0}, {0, 0}, {0, 71} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 11}, {1, 11}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {1, 13}, {1, 13}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 15}, {1, 15}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -210}, {0, -210}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -206}, {0, -206}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -205}, {0, -205}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -202}, {0, -202}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -203}, {0, -203}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 17}, {1, 17}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {1, 19}, {1, 19}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -207}, {0, -207}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 21}, {1, 21}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 23}, {1, 23}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 25}, {1, 25}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -209}, {0, -209}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -211}, {0, -211}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 27}, {1, 27}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 29}, {1, 29}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 31}, {1, 31}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 33}, {1, 33}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -213}, {0, -213}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -214}, {0, -214}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 35}, {1, 35}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -218}, {0, -218}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 37}, {1, 37}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 39}, {1, 39}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -69}, {0, -69}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -217}, {0, -217}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -71}, {0, -71}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -219}, {0, -219}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 41}, {1, 41}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {1, 43}, {1, 43}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 17, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 17, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 17, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 24, 8, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 4, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 24, 0, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 36 }, - { 17, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 0, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 232, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 216, 5, -1, 0, 1, 0, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 202, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 1, 0, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 202, 5, -1, 0, 1, 0, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 1, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 1, 5, -1, 0, 1, 0, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 0, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 3, 1 }, - { 0, 17, 0, 240, 5, -1, 0, 1, 0, 204, { { { 0, 0}, {0, 84}, {0, 84}, {0, 116} } }, 4, 4, 27, 4, 3, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 4, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 4, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 0, 5, -1, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 2, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 7, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 7, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 232, 5, -1, 0, 8, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 8, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 233, 5, -1, 0, 8, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 234, 5, -1, 0, 7, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 233, 5, -1, 0, 7, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 234, 5, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 233, 5, -1, 0, 4, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 17, 10, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 13, 0, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 130}, {0, 130}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 11, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 116}, {0, 0}, {0, 0}, {0, 116} } }, 0, 10, 15, 7, 3, 4 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 4 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 81, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 38}, {0, 0}, {0, 0}, {0, 38} } }, 0, 10, 15, 7, 3, 4 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 15, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 37}, {0, 0}, {0, 0}, {0, 37} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 64}, {0, 0}, {0, 0}, {0, 64} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 63}, {0, 0}, {0, 0}, {0, 63} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 511}, {1, 511}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -38}, {0, -38}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -37}, {0, -37}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 515}, {1, 515}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -31}, {0, -31}, {0, 1} } }, 0, 10, 15, 6, 4, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -64}, {0, -64}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -63}, {0, -63}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 8}, {0, 0}, {0, 0}, {0, 8} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -62}, {0, -62}, {0, -30} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -57}, {0, -57}, {0, -25} } }, 0, 10, 15, 6, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 81, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -47}, {0, -47}, {0, -15} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -54}, {0, -54}, {0, -22} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, -8}, {0, -8}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -86}, {0, -86}, {0, -54} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -80}, {0, -80}, {0, -48} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 7}, {0, 7}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -116}, {0, -116}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 5, 3, 80, { { { 0, -60}, {0, 0}, {0, 0}, {0, -60} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 5, 3, 80, { { { 0, 0}, {0, -96}, {0, -96}, {0, -64} } }, 0, 10, 15, 6, 3, 4 }, - { 26, 10, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 7, 3, 80, { { { 0, -7}, {0, 0}, {0, 0}, {0, -7} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, -130}, {0, 0}, {0, 0}, {0, -130} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 80}, {0, 0}, {0, 0}, {0, 80} } }, 0, 10, 15, 7, 3, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 80}, {0, 0}, {0, 0}, {0, 80} } }, 0, 10, 15, 7, 3, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 80}, {0, 0}, {0, 0}, {0, 80} } }, 0, 10, 15, 7, 3, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 80}, {0, 0}, {0, 0}, {0, 80} } }, 0, 10, 15, 7, 3, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 0}, {0, -80}, {0, -80}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 0}, {0, -80}, {0, -80}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -80}, {0, -80}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -80}, {0, -80}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 5 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 2, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 15}, {0, 0}, {0, 0}, {0, 15} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, -15}, {0, -15}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 48}, {0, 0}, {0, 0}, {0, 48} } }, 0, 10, 15, 7, 3, 6 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 6 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 6 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 11, 1, 6 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 15, 0, 1, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, -48}, {0, -48}, {0, 0} } }, 0, 10, 15, 6, 1, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 475}, {1, 472}, {0, 0} } }, 0, 10, 15, 6, 3, 6 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 12, 1, 6 }, - { 20, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 21, 0, 1, 6 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 6 }, - { 27, 4, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 6 }, - { 13, 1, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 0, 17, 0, 220, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 230, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 222, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 228, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 10, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 11, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 12, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 13, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 14, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 15, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 16, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 17, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 18, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 19, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 19, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 20, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 21, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 22, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 20, 1, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 7 }, - { 0, 17, 0, 23, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 25, 1, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 7 }, - { 0, 17, 0, 24, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 0, 17, 0, 25, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 7 }, - { 0, 17, 0, 18, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 18, 1, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 9, 16, 8, 1, 7 }, - { 18, 1, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 9, 16, 8, 1, 7 }, - { 25, 1, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 7 }, - { 25, 1, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 15, 0, 1, 7 }, - { 10, 5, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 8 }, - { 10, 5, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 8 }, - { 10, 5, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 26, 13, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 25, 4, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 8 }, - { 27, 13, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 8 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 11, 1, 2 }, - { 25, 13, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 11, 1, 8 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 30, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 31, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 32, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 2 }, - { 10, 13, 0, 0, 5, -1, 0, 15, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 2 }, - { 18, 13, 0, 0, 2, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 17, 13, 0, 0, 1, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 0, 17, 0, 27, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 28, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 29, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 30, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 31, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 32, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 33, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 34, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 4, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 4, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 3, 5, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 5, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 8 }, - { 25, 5, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 25, 5, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 14, 9, 1, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 0, 17, 0, 35, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 18, 13, 0, 0, 3, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 10, 5, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 17, 13, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 3, 2, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 3, 2, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 8 }, - { 29, 13, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 25, 13, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 9 }, - { 25, 13, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 9 }, - { 13, 13, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 10, 13, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 4, 0, 9 }, - { 18, 13, 0, 0, 3, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 0, 17, 0, 36, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 9 }, - { 18, 13, 0, 0, 2, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 18, 13, 0, 0, 2, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 18, 13, 0, 0, 3, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 0, 17, 0, 230, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 9 }, - { 0, 17, 0, 220, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 9 }, - { 18, 13, 0, 0, 2, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 10 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 10 }, - { 18, 13, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 10 }, - { 3, 1, 0, 0, 0, 0, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 2, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 3, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 4, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 5, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 6, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 7, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 8, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 3, 1, 0, 0, 0, 9, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 66 }, - { 18, 1, 0, 0, 2, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 66 }, - { 0, 17, 0, 230, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 66 }, - { 0, 17, 0, 220, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 66 }, - { 17, 1, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 66 }, - { 29, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 66 }, - { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 66 }, - { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 11, 1, 66 }, - { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 66 }, - { 17, 1, 0, 0, 1, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 66 }, - { 0, 17, 0, 220, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 66 }, - { 27, 1, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 66 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 82 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 82 }, - { 17, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 82 }, - { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 82 }, - { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 82 }, - { 18, 1, 0, 0, 3, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 95 }, - { 18, 1, 0, 0, 2, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 95 }, - { 0, 17, 0, 220, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 95 }, - { 25, 1, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 95 }, - { 18, 13, 0, 0, 2, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 18, 13, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 18, 13, 0, 0, 3, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 9 }, - { 18, 13, 0, 0, 3, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 1, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 28, 13, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 10, 5, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 3, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 17, 13, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 10, 5, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 2 }, - { 0, 17, 0, 220, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 27, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 28, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 29, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 1, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 11 }, - { 0, 17, 0, 7, 5, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 11 }, - { 0, 17, 0, 220, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 11 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 2 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 11 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 11 }, - { 17, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 12 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 12 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 12 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 12 }, - { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 12 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 12 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 12 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 12 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 12 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 12 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 12 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 12 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 12 }, - { 5, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 12 }, - { 5, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 12 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 12 }, - { 27, 4, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 12 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 12 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 12 }, - { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 12 }, - { 0, 17, 0, 0, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 13 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 13 }, - { 1, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 13 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 13 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 13 }, - { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 13 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 13 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 13 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 13 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 13 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 13 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 14 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 14 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 14 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 14 }, - { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 14 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 14 }, - { 0, 17, 0, 0, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 14 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 14 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 14 }, - { 27, 4, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 14 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 14 }, - { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 14 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 15 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 15 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 15 }, - { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 15 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 15 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 15 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 15 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 15 }, - { 5, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 15 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 16 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 16 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 16 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 16 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 16 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 16 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 16 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 16 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 16 }, - { 3, 0, 0, 0, 0, 0, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 16 }, - { 5, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 16 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 16 }, - { 27, 4, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 16 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 17 }, - { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 17 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 17 }, - { 0, 17, 0, 7, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 17 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 0, 17, 0, 84, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 0, 17, 0, 91, 5, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 17 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 17 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 17 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 17 }, - { 25, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 17 }, - { 5, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 17 }, - { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 17 }, - { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 18 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 18 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 18 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 18 }, - { 0, 17, 0, 7, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 18 }, - { 0, 0, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 18 }, - { 0, 17, 0, 0, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 18 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 18 }, - { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 18 }, - { 1, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 18 }, - { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 19 }, - { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 19 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 19 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 8, 1, 19 }, - { 29, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 19 }, - { 5, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 19 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 19 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 19 }, - { 5, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 19 }, - { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 19 }, - { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 20 }, - { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 20 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 20 }, - { 0, 17, 0, 9, 5, -1, 0, 4, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 20 }, - { 1, 0, 0, 0, 0, -1, 0, 4, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 20 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 20 }, - { 1, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 20 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 20 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 20 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 21 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 21 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 0, 44, 8, 3, 21 }, - { 0, 17, 0, 103, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 21 }, - { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 21 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 21 }, - { 0, 17, 0, 107, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 21 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 21 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 21 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 21 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 22 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 22 }, - { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 22 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 0, 44, 8, 3, 22 }, - { 0, 17, 0, 118, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 22 }, - { 0, 17, 0, 9, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 22 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 22 }, - { 0, 17, 0, 122, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 22 }, - { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 22 }, - { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 22 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 3, 22 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 22 }, - { 18, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 7, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 2, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 7, 0, 3, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 23 }, - { 0, 17, 0, 220, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 3, 0, 0, 0, 0, 0, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 2, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 3, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 4, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 5, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 6, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 7, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 8, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 3, 0, 0, 0, 0, 9, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 23 }, - { 5, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 23 }, - { 0, 17, 0, 216, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 21, 10, 0, 0, 0, -1, 1, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 23 }, - { 22, 10, 0, 0, 0, -1, -1, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 23 }, - { 1, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 23 }, - { 18, 0, 0, 0, 0, -1, 0, 2, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 23 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 23 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 23 }, - { 0, 17, 0, 129, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 0, 17, 0, 130, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 0, 17, 0, 0, 5, -1, 0, 2, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 3, 23 }, - { 0, 17, 0, 132, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 0, 17, 0, 0, 5, -1, 0, 2, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 3, 23 }, - { 0, 17, 0, 0, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 1, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 21, 4, 1, 23 }, - { 0, 17, 0, 230, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 0, 17, 0, 9, 5, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 23 }, - { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 23 }, - { 0, 17, 0, 220, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 23 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 23 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 7, 0, 1, 23 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 4, 44, 4, 1, 24 }, - { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 7, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 9, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 9, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 44, 4, 1, 24 }, - { 3, 0, 0, 0, 0, 0, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 2, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 3, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 4, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 5, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 6, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 7, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 8, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 9, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 24 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 24 }, - { 0, 17, 0, 220, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 4, 44, 4, 1, 24 }, - { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 24 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 7264}, {0, 0}, {0, 0}, {0, 7264} } }, 0, 10, 15, 7, 3, 25 }, - { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 7264}, {0, 0}, {0, 0}, {0, 7264} } }, 0, 10, 15, 7, 3, 25 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 3008}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 25 }, - { 15, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 3008}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 25 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 3008}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 25 }, - { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 25 }, - { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 3008}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 25 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 9, 10, 31, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 9, 10, 31, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 9, 10, 31, 8, 2, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 32, 8, 2, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 32, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 32, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 32, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 11, 10, 33, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 11, 10, 33, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 11, 10, 33, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 27 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 27 }, - { 0, 17, 0, 230, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 27 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 27 }, - { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 27 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 27 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 2, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 3, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 4, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 5, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 6, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 7, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 8, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, 9, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 5, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 27 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 45}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 47}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 49}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 51}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 53}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 55}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 57}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 59}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 61}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 63}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 65}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 67}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 69}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 71}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 73}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 75}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 77}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 79}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 81}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 83}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 85}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 87}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 89}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 91}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 93}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 95}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 97}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 99}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 101}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 103}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 105}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 107}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 109}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 111}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 113}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 115}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 117}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 119}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 121}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 123}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 125}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 127}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 129}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 131}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 133}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 135}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 137}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 139}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 141}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 143}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 145}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 147}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 149}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 151}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 153}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 155}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 157}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 159}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 161}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 163}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 165}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 167}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 169}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 171}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 173}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 175}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 177}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 179}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 181}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 183}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 185}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 187}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 189}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 191}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 193}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 195}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 197}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 199}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 201}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 1, 203}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 8}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 8}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, -8}, {0, -8}, {0, -8} } }, 0, 10, 15, 6, 3, 28 }, - { 20, 10, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 29 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 29 }, - { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 29 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 29 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 29 }, - { 6, 9, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 18, 21, 5, 0, 30 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 30 }, - { 21, 10, 0, 0, 0, -1, 1, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 30 }, - { 22, 10, 0, 0, 0, -1, -1, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 30 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 31 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 4, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 31 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 31 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 42 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 42 }, - { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 42 }, - { 0, 17, 0, 9, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 42 }, - { 1, 0, 0, 9, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 42 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 43 }, - { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 43 }, - { 1, 0, 0, 9, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 43 }, - { 25, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 44 }, - { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 44 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 45 }, - { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 45 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 32 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 2, 32 }, - { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 44, 4, 1, 32 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 32 }, - { 0, 17, 0, 9, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 32 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 32 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 0, 1, 32 }, - { 17, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 32 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 32 }, - { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 32 }, - { 27, 4, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 32 }, - { 0, 17, 0, 230, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 32 }, - { 3, 0, 0, 0, 0, 0, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 2, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 3, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 4, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 5, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 6, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 7, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 8, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 3, 0, 0, 0, 0, 9, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 32 }, - { 5, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 32 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 33 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 11, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 33 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 33 }, - { 25, 10, 0, 0, 2, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 33 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 11, 1, 33 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 33 }, - { 25, 10, 0, 0, 1, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 33 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 2, 33 }, - { 10, 18, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 7, 4, 2, 33 }, - { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 2, 33 }, - { 3, 0, 0, 0, 0, 0, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 2, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 3, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 4, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 5, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 6, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 7, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 8, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 3, 0, 0, 0, 0, 9, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 33 }, - { 18, 0, 0, 0, 2, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 33 }, - { 17, 0, 0, 0, 2, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 33 }, - { 18, 0, 0, 0, 2, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 33 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 33 }, - { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 33 }, - { 0, 17, 0, 228, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 33 }, - { 18, 0, 0, 0, 2, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 33 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 47 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 47 }, - { 0, 17, 0, 0, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 47 }, - { 1, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 47 }, - { 0, 17, 0, 222, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 47 }, - { 0, 17, 0, 230, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 47 }, - { 0, 17, 0, 220, 5, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 47 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 47 }, - { 25, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 47 }, - { 3, 0, 0, 0, 0, 0, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 2, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 3, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 4, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 5, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 6, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 7, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 8, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 3, 0, 0, 0, 0, 9, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 47 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 48 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 56 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 56 }, - { 3, 0, 0, 0, 0, 0, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 2, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 3, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 4, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 5, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 6, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 7, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 8, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 3, 0, 0, 0, 0, 9, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 5, 0, 0, 0, 0, 1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 56 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 56 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 32 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 55 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 55 }, - { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 55 }, - { 1, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 55 }, - { 0, 17, 0, 0, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 55 }, - { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 55 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 78 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 44, 4, 1, 78 }, - { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 78 }, - { 0, 17, 0, 9, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 78 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 4, 44, 4, 1, 78 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 78 }, - { 0, 17, 0, 220, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 78 }, - { 3, 0, 0, 0, 0, 0, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 3, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 4, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 5, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 6, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 7, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 8, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 3, 0, 0, 0, 0, 9, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 78 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 78 }, - { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 78 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 12, 1, 78 }, - { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 2, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 0, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 62 }, - { 1, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 62 }, - { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 62 }, - { 18, 0, 0, 0, 0, -1, 0, 9, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 62 }, - { 0, 17, 0, 7, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 62 }, - { 1, 0, 0, 0, 0, -1, 0, 9, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 62 }, - { 1, 0, 0, 0, 0, -1, 0, 9, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 62 }, - { 1, 0, 0, 0, 0, -1, 0, 9, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 62 }, - { 1, 0, 0, 9, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 62 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 62 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 62 }, - { 3, 0, 0, 0, 0, 0, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 2, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 3, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 4, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 5, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 6, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 7, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 8, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 3, 0, 0, 0, 0, 9, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 62 }, - { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 62 }, - { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 62 }, - { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 62 }, - { 29, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 62 }, - { 0, 17, 0, 230, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 62 }, - { 0, 17, 0, 220, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 62 }, - { 25, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 62 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 67 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 67 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 67 }, - { 1, 0, 0, 9, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 67 }, - { 0, 17, 0, 9, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 67 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 67 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 67 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 67 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 93 }, - { 0, 17, 0, 7, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 93 }, - { 1, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 93 }, - { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 93 }, - { 1, 0, 0, 9, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 42, 4, 1, 93 }, - { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 93 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 68 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 68 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 68 }, - { 0, 17, 0, 7, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 68 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 68 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 68 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 68 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 69 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 69 }, - { 17, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 69 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 69 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6254}, {0, -6254}, {0, -6222} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6253}, {0, -6253}, {0, -6221} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6244}, {0, -6244}, {0, -6212} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6242}, {0, -6242}, {0, -6210} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6243}, {0, -6243}, {0, -6211} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6236}, {0, -6236}, {0, -6204} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -6181}, {0, -6181}, {0, -6180} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {1, 205}, {1, 205}, {1, 727} } }, 0, 10, 15, 6, 3, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 14, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, -3008}, {0, 0}, {0, 0}, {0, -3008} } }, 0, 10, 15, 8, 3, 25 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 67 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 0, 17, 0, 1, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 1, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 5 }, - { 17, 0, 0, 0, 0, -1, 0, 7, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 7, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 5 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {1, 207}, {1, 207}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 3814}, {0, 3814}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {1, 209}, {1, 209}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 234, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 214, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 202, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 232, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 228, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 218, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 233, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 522}, {1, 522}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 525}, {1, 525}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 528}, {1, 528}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 531}, {1, 531}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 534}, {1, 534}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 2, 3, 81, { { { 0, 0}, {0, -59}, {0, -59}, {0, -58} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, -7615}, {0, 0}, {0, 0}, {0, -7615} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 8}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {0, 0}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 537}, {1, 537}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 540}, {1, 540}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 544}, {1, 544}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 548}, {1, 548}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 74}, {0, 74}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 74}, {0, 74}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 86}, {0, 86}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 86}, {0, 86}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 100}, {0, 100}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 100}, {0, 100}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 128}, {0, 128}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 128}, {0, 128}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 112}, {0, 112}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 112}, {0, 112}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 126}, {0, 126}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 126}, {0, 126}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 586}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 589}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 592}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 595}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 598}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 601}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 604}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 607}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 586}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 589}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 592}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 595}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 598}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 601}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 604}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 607}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 610}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 613}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 616}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 619}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 622}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 625}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 628}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 631}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 610}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 613}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 616}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 619}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 622}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 625}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 628}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 631}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 634}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 637}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 640}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 643}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 646}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 649}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 652}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 655}, {0, 8}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 634}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 637}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 640}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 643}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 646}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 649}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 652}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -8}, {1, 655}, {0, 0}, {0, -8} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 670}, {1, 667}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 658}, {0, 9}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 676}, {1, 673}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 552}, {1, 552}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 707}, {1, 703}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -74}, {0, 0}, {0, 0}, {0, -74} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, -74}, {0, 0}, {0, 0}, {0, -74} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -9}, {1, 658}, {0, 0}, {0, -9} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, -7205}, {0, -7205}, {0, -7173} } }, 0, 10, 15, 6, 3, 4 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 81, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 682}, {1, 679}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 661}, {0, 9}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 688}, {1, 685}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 555}, {1, 555}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 715}, {1, 711}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -86}, {0, 0}, {0, 0}, {0, -86} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, -86}, {0, 0}, {0, 0}, {0, -86} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -9}, {1, 661}, {0, 0}, {0, -9} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 558}, {1, 558}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {1, 511}, {1, 511}, {0, -7235} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 562}, {1, 562}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 565}, {1, 565}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -100}, {0, 0}, {0, 0}, {0, -100} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, -100}, {0, 0}, {0, 0}, {0, -100} } }, 0, 10, 15, 7, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 569}, {1, 569}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {1, 515}, {1, 515}, {0, -7219} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 573}, {1, 573}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 7}, {0, 7}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 576}, {1, 576}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 579}, {1, 579}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -112}, {0, 0}, {0, 0}, {0, -112} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, -112}, {0, 0}, {0, 0}, {0, -112} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -7}, {0, 0}, {0, 0}, {0, -7} } }, 0, 10, 15, 7, 3, 4 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 694}, {1, 691}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 664}, {0, 9}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 700}, {1, 697}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 583}, {1, 583}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {1, 723}, {1, 719}, {0, 0} } }, 0, 10, 15, 6, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -128}, {0, 0}, {0, 0}, {0, -128} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, -128}, {0, 0}, {0, 0}, {0, -128} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -126}, {0, 0}, {0, 0}, {0, -126} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, -126}, {0, 0}, {0, 0}, {0, -126} } }, 0, 10, 15, 7, 3, 4 }, - { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, -9}, {1, 664}, {0, 0}, {0, -9} } }, 0, 10, 15, 7, 3, 4 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 3, 4 }, - { 6, 9, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 18, 21, 5, 3, 2 }, - { 6, 9, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 18, 21, 5, 3, 2 }, - { 6, 9, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 7, 5, 3, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 26, 4, 2, 2 }, - { 10, 18, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 4, 1 }, - { 10, 18, 16, 0, 1, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 5, 5, 43, 4, 4, 1 }, - { 10, 0, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 1, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 7, 0, 3, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 11, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 25, 11, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 23, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 13, 3, 13, 1, 2 }, - { 24, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 13, 3, 13, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 23, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 23, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 24, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 13, 18, 10, 0, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 18, 0, 0, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 21, 0, 1, 2 }, - { 7, 9, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 3, 49, 3, 0, 2 }, - { 8, 7, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 3, 49, 3, 0, 2 }, - { 10, 11, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 14, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 16, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 12, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 15, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 6, 6, 0, 0, 0, -1, 0, 4, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 17, 7, 5, 3, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 23, 10, 0, 0, 0, -1, 1, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 24, 10, 0, 0, 0, -1, -1, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 25, 10, 1, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 8, 12, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 12, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 19, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 17, 15, 0, 1, 2 }, - { 26, 6, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 11, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 12, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 12, 3, 2 }, - { 25, 10, 1, 0, 0, -1, 0, 4, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 8, 12, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 19, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 17, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 6, 9, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 18, 21, 5, 3, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 28, 4, 2, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 15, 4, 2, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 15, 4, 2, 2 }, - { 13, 18, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 0, 15, 0, 0, 0 }, - { 10, 19, 0, 0, 0, -1, 0, 15, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 20, 0, 0, 0, -1, 0, 15, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 21, 0, 0, 0, -1, 0, 15, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 22, 0, 0, 0, -1, 0, 15, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 2, 2 }, - { 5, 2, 0, 0, 0, 0, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 5, 2, 0, 0, 0, 4, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 5, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 6, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 7, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 8, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 9, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 26, 3, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 12, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 3, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 2, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 3, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 14, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 13, 4, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 0, 0 }, - { 0, 17, 0, 1, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 2, 17, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 2, 17, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 2, 17, 16, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 2, 17, 0, 0, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 1, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 1, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 85, { { { 0, -7517}, {0, 0}, {0, 0}, {0, -7517} } }, 0, 10, 15, 7, 3, 4 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, { { { 1, 211}, {0, 0}, {0, 0}, {1, 211} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 0, 85, { { { 1, 213}, {0, 0}, {0, 0}, {1, 213} } }, 0, 10, 15, 7, 3, 3 }, - { 29, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 28}, {0, 0}, {0, 0}, {0, 28} } }, 0, 10, 15, 7, 3, 3 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 2 }, - { 15, 0, 1, 0, 0, -1, 0, 4, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 10, 15, 6, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, -28}, {0, -28}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 11, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 4, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 16}, {0, 0}, {0, 0}, {0, 16} } }, 0, 10, 15, 7, 3, 3 }, - { 4, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 16}, {0, 0}, {0, 0}, {0, 16} } }, 0, 10, 15, 7, 3, 3 }, - { 4, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, -16}, {0, -16}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 4, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, -16}, {0, -16}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 4, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 4, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 5, 10, 0, 0, 0, -1, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 1, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 3, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 3, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 3, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -3, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -3, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -3, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 3, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 26, 4, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2016, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2527, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1923, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1914, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1918, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2250, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 138, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 7, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -7, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 0, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 1, 0, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 1, 0, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 1, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1824, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2104, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2108, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2106, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1316, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -138, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 18, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 8, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 7, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -8, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -7, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 2, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 3, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 4, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 5, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 6, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 7, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 8, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, 9, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 2, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 3, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 4, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 5, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 6, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 7, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 8, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 9, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 26}, {0, 0}, {0, 0}, {0, 26} } }, 0, 10, 15, 7, 3, 2 }, - { 29, 0, 1, 0, 0, -1, 0, 1, 0, 80, { { { 0, 26}, {0, 0}, {0, 0}, {0, 26} } }, 14, 10, 15, 7, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 0, 80, { { { 0, 0}, {0, -26}, {0, -26}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 5, 10, 0, 0, 0, 0, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 1, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 2, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 3, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 4, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 5, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 6, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 7, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 8, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 9, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 0, 0, 7, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 1, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 26, 10, 3, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 7, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 9, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 8, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 8, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 7, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 11, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 9, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 11, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 9, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 5, 10, 0, 0, 0, 1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 2, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 3, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 4, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 5, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 6, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 7, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 8, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 9, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 2, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 3, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 4, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 5, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 6, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 7, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 8, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, 9, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 2, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -2, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1316, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 6, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 6, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 10, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 10, 4, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 54 }, - { 21, 10, 0, 0, 0, -1, 3, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, 1, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 21, 10, 0, 0, 0, -1, -1, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -3, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1914, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1918, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1923, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -1824, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -2016, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 6, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, -2104, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -2106, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -2108, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 26, 10, 0, 0, 0, -1, -2250, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 10, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, -2527, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 48}, {0, 0}, {0, 0}, {0, 48} } }, 0, 10, 15, 7, 3, 57 }, - { 14, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 48}, {0, 0}, {0, 0}, {0, 48} } }, 0, 10, 15, 7, 3, 57 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, -48}, {0, -48}, {0, 0} } }, 0, 10, 15, 6, 1, 57 }, - { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, -48}, {0, -48}, {0, 0} } }, 0, 10, 15, 6, 1, 57 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 1, 215}, {0, 0}, {0, 0}, {1, 215} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, -3814}, {0, 0}, {0, 0}, {0, -3814} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 1, 217}, {0, 0}, {0, 0}, {1, 217} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {1, 219}, {1, 219}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {1, 221}, {1, 221}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 1, 223}, {0, 0}, {0, 0}, {1, 223} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 1, 225}, {0, 0}, {0, 0}, {1, 225} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 1, 227}, {0, 0}, {0, 0}, {1, 227} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 1, 229}, {0, 0}, {0, 0}, {1, 229} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 10, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 1, 231}, {0, 0}, {0, 0}, {1, 231} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 1, 233}, {0, 0}, {0, 0}, {1, 233} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 46 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 46 }, - { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 46 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 46 }, - { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 46 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 46 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 46 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 46 }, - { 5, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 46 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 46 }, - { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, -7264}, {0, -7264}, {0, 0} } }, 0, 10, 15, 6, 1, 25 }, - { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, -7264}, {0, -7264}, {0, 0} } }, 0, 10, 15, 6, 1, 25 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 58 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 58 }, - { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 58 }, - { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 58 }, - { 0, 17, 0, 9, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 58 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 23, 10, 0, 0, 0, -1, 1, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 24, 10, 0, 0, 0, -1, -1, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 23, 10, 0, 0, 0, -1, 1, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 24, 10, 0, 0, 0, -1, -1, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 2 }, - { 17, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 25, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 2, 13, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 37 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 37 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 0, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 26, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 0, 2 }, - { 6, 9, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 18, 21, 5, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 11, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 12, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 2 }, - { 4, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 1, 2 }, - { 22, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 0, 17, 0, 218, 5, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 228, 5, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 232, 5, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 222, 5, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 1, 0, 0, 224, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 26 }, - { 20, 10, 1, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 27, 8, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 4, 0, 0, 0, 0, -1, 0, 4, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 17, 0, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 2 }, - { 25, 10, 1, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 8, 1, 34 }, - { 0, 17, 0, 8, 5, -1, 0, 1, 5, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 0, 3, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 8, 1, 34 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 34 }, - { 20, 10, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 0, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 1, 35 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 35 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 5, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 3, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 3, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 2, 26 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 5, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 36 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 10, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 27, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 35 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 26 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 26 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 5, 0, 0, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 7, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 6, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 26 }, - { 29, 0, 1, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 0, 3, 35 }, - { 29, 0, 0, 0, 0, -1, 0, 22, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 0, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 38 }, - { 17, 0, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 38 }, - { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 38 }, - { 29, 10, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 38 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 83 }, - { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 83 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 83 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 83 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 70 }, - { 17, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 70 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 70 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 70 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 70 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 70 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 5 }, - { 2, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 5 }, - { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 17, 10, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 5 }, - { 17, 0, 0, 0, 0, -1, 0, 16, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 5 }, - { 0, 17, 0, 230, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 84 }, - { 4, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 84 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 84 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 84 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 84 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 84 }, - { 28, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 17, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 1, 235}, {0, 0}, {0, 0}, {1, 235} } }, 0, 10, 15, 7, 3, 3 }, - { 28, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 1, 237}, {0, 0}, {0, 0}, {1, 237} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 48}, {0, 48}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 1, 239}, {0, 0}, {0, 0}, {1, 239} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 1, 241}, {0, 0}, {0, 0}, {1, 241} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 1, 243}, {0, 0}, {0, 0}, {1, 243} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 1, 245}, {0, 0}, {0, 0}, {1, 245} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 1, 247}, {0, 0}, {0, 0}, {1, 247} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 1, 249}, {0, 0}, {0, 0}, {1, 249} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 1, 251}, {0, 0}, {0, 0}, {1, 251} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 1, 253}, {0, 0}, {0, 0}, {1, 253} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 928}, {0, 0}, {0, 0}, {0, 928} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, -48}, {0, 0}, {0, 0}, {0, -48} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 1, 255}, {0, 0}, {0, 0}, {1, 255} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 1, 257}, {0, 0}, {0, 0}, {1, 257} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 1, 259}, {0, 0}, {0, 0}, {1, 259} } }, 0, 10, 15, 7, 3, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 1}, {0, 0}, {0, 0}, {0, 1} } }, 0, 10, 15, 7, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, -1}, {0, -1}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 1, 261}, {0, 0}, {0, 0}, {1, 261} } }, 0, 10, 15, 7, 3, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 24, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 13, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 59 }, - { 0, 17, 0, 0, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 59 }, - { 0, 17, 0, 9, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 59 }, - { 1, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 59 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 59 }, - { 0, 17, 0, 9, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 59 }, - { 5, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 4, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 18, 0, 0, 0, 2, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 65 }, - { 18, 0, 0, 0, 4, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 65 }, - { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 65 }, - { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 65 }, - { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 1, 65 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 71 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 71 }, - { 0, 17, 0, 9, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 71 }, - { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 71 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 71 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 71 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 11 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 11 }, - { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 11 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 72 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 72 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 72 }, - { 0, 17, 0, 220, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 72 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 72 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 73 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 73 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 73 }, - { 1, 0, 0, 9, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 73 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 73 }, - { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 85 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 85 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 85 }, - { 0, 17, 0, 7, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 85 }, - { 1, 0, 0, 9, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 85 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 85 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 85 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 85 }, - { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 21, 8, 1, 2 }, - { 3, 0, 0, 0, 0, 0, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 3, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 4, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 5, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 6, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 7, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 8, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 3, 0, 0, 0, 0, 9, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 85 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 24 }, - { 17, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 77 }, - { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 77 }, - { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 77 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 21, 8, 1, 77 }, - { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 77 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 77 }, - { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 77 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 24 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 24 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 4, 44, 4, 1, 24 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 79 }, - { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 79 }, - { 0, 17, 0, 220, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 79 }, - { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 79 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 79 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 86 }, - { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 86 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 86 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 86 }, - { 17, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 86 }, - { 0, 17, 0, 9, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 86 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 27 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, -928}, {0, -928}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 28, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 0, 1, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 16, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 4 }, - { 15, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 28, 10, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 263}, {1, 263}, {1, 263} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 265}, {1, 265}, {1, 265} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 267}, {1, 267}, {1, 267} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 269}, {1, 269}, {1, 269} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 271}, {1, 271}, {1, 271} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 273}, {1, 273}, {1, 273} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 275}, {1, 275}, {1, 275} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 277}, {1, 277}, {1, 277} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 279}, {1, 279}, {1, 279} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 281}, {1, 281}, {1, 281} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 283}, {1, 283}, {1, 283} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 285}, {1, 285}, {1, 285} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 287}, {1, 287}, {1, 287} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 289}, {1, 289}, {1, 289} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 291}, {1, 291}, {1, 291} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 293}, {1, 293}, {1, 293} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 295}, {1, 295}, {1, 295} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 297}, {1, 297}, {1, 297} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 299}, {1, 299}, {1, 299} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 301}, {1, 301}, {1, 301} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 303}, {1, 303}, {1, 303} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 305}, {1, 305}, {1, 305} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 307}, {1, 307}, {1, 307} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 309}, {1, 309}, {1, 309} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 311}, {1, 311}, {1, 311} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 313}, {1, 313}, {1, 313} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 315}, {1, 315}, {1, 315} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 317}, {1, 317}, {1, 317} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 319}, {1, 319}, {1, 319} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 321}, {1, 321}, {1, 321} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 323}, {1, 323}, {1, 323} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 325}, {1, 325}, {1, 325} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 327}, {1, 327}, {1, 327} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 329}, {1, 329}, {1, 329} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 331}, {1, 331}, {1, 331} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 333}, {1, 333}, {1, 333} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 335}, {1, 335}, {1, 335} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 337}, {1, 337}, {1, 337} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 339}, {1, 339}, {1, 339} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 341}, {1, 341}, {1, 341} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 343}, {1, 343}, {1, 343} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 345}, {1, 345}, {1, 345} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 347}, {1, 347}, {1, 347} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 349}, {1, 349}, {1, 349} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 351}, {1, 351}, {1, 351} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 353}, {1, 353}, {1, 353} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 355}, {1, 355}, {1, 355} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 357}, {1, 357}, {1, 357} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 359}, {1, 359}, {1, 359} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 361}, {1, 361}, {1, 361} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 363}, {1, 363}, {1, 363} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 365}, {1, 365}, {1, 365} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 367}, {1, 367}, {1, 367} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 369}, {1, 369}, {1, 369} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 371}, {1, 371}, {1, 371} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 373}, {1, 373}, {1, 373} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 375}, {1, 375}, {1, 375} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 377}, {1, 377}, {1, 377} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 379}, {1, 379}, {1, 379} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 381}, {1, 381}, {1, 381} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 383}, {1, 383}, {1, 383} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 385}, {1, 385}, {1, 385} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 387}, {1, 387}, {1, 387} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 389}, {1, 389}, {1, 389} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 391}, {1, 391}, {1, 391} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 393}, {1, 393}, {1, 393} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 395}, {1, 395}, {1, 395} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 397}, {1, 397}, {1, 397} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 399}, {1, 399}, {1, 399} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 401}, {1, 401}, {1, 401} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 403}, {1, 403}, {1, 403} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 405}, {1, 405}, {1, 405} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 407}, {1, 407}, {1, 407} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 409}, {1, 409}, {1, 409} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 411}, {1, 411}, {1, 411} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 413}, {1, 413}, {1, 413} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 415}, {1, 415}, {1, 415} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 417}, {1, 417}, {1, 417} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 419}, {1, 419}, {1, 419} } }, 0, 10, 15, 6, 3, 28 }, - { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {1, 421}, {1, 421}, {1, 421} } }, 0, 10, 15, 6, 3, 28 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 86 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 86 }, - { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 86 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 86 }, - { 0, 17, 0, 9, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 86 }, - { 3, 0, 0, 0, 0, 0, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 3, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 4, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 5, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 6, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 7, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 8, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 3, 0, 0, 0, 0, 9, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 86 }, - { 18, 0, 0, 0, 0, -1, 0, 2, 5, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 12, 10, 29, 8, 1, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 2, 5, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 13, 10, 30, 8, 1, 26 }, - { 11, 0, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 45, 0, 0, 0 }, - { 12, 0, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 6, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 13, 0, 0, 0, 0, -1, 0, 0, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 0, 0 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 435}, {1, 432}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 441}, {1, 438}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 447}, {1, 444}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 454}, {1, 450}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 462}, {1, 458}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 469}, {1, 466}, {0, 1} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 469}, {1, 466}, {0, 0} } }, 0, 10, 15, 6, 3, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 481}, {1, 478}, {0, 0} } }, 0, 10, 15, 6, 3, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 487}, {1, 484}, {0, 0} } }, 0, 10, 15, 6, 3, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 493}, {1, 490}, {0, 0} } }, 0, 10, 15, 6, 3, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 499}, {1, 496}, {0, 0} } }, 0, 10, 15, 6, 3, 6 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {1, 505}, {1, 502}, {0, 0} } }, 0, 10, 15, 6, 3, 6 }, - { 18, 1, 0, 0, 0, -1, 0, 4, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 9, 16, 8, 3, 7 }, - { 0, 17, 0, 26, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 7 }, - { 18, 1, 0, 0, 0, -1, 0, 1, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 9, 16, 8, 3, 7 }, - { 18, 1, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 9, 16, 8, 3, 7 }, - { 26, 3, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 7 }, - { 18, 13, 0, 0, 0, -1, 0, 1, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 8 }, - { 28, 13, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 22, 10, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 13, 18, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 27, 13, 0, 0, 0, -1, 0, 6, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 8 }, - { 0, 17, 0, 0, 5, -1, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 2, 1 }, - { 0, 17, 16, 0, 5, -1, 0, 6, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 2, 1 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 12, 0, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 8, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 3, 2 }, - { 21, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 18, 0, 0, 2 }, - { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 5 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 0, 2 }, - { 20, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 11, 3, 2 }, - { 19, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 17, 17, 0, 3, 2 }, - { 21, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 6, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 21, 10, 0, 0, 0, -1, 0, 7, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, 0, 7, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 1, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 11, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 13, 1, 10, 0, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 8, 11, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 8, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 3, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 26, 3, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 20, 3, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 11, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 1, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, -1, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 3, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 18, 13, 0, 0, 0, -1, 0, 6, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 10, 18, 0, 0, 5, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 28, 4, 2, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 12, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 3, 2 }, - { 25, 4, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 13, 17, 0, 3, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 26, 3, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 1, 11, 3, 2 }, - { 20, 3, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 11, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 13, 1, 10, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 3, 2, 0, 0, 0, 0, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 2, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 3, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 4, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 5, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 6, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 7, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 8, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 9, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 17, 9, 3, 2 }, - { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 14, 8, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 15, 8, 11, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 2, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, -2, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 17, 7, 3, 3 }, - { 21, 10, 0, 0, 0, -1, 2, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -2, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 28, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 19, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 17, 17, 0, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 17, 6, 3, 3 }, - { 21, 10, 0, 0, 0, -1, 1, 6, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 6, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 12, 3, 2 }, - { 21, 10, 0, 0, 0, -1, 1, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 13, 3, 2 }, - { 22, 10, 0, 0, 0, -1, -1, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 13, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 1, 11, 3, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 0, 3, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 3, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 3, 35 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 3, 2 }, - { 17, 0, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 8, 4, 3, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 2, 26 }, - { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 3, 26 }, - { 27, 4, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 1, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 1, 2, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 10, 10, 0, 0, 5, -1, 0, 4, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 3, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 35, 0, 0, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 13, 18, 0, 0, 0, -1, 0, 1, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 49 }, - { 25, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 25, 10, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 2 }, - { 5, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 4, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 4 }, - { 5, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 5, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 29, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 4 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 74 }, - { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 75 }, - { 5, 2, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 18, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 39 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 39 }, - { 5, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 39 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 39 }, - { 18, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 40 }, - { 4, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 40 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 120 }, - { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 120 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 50 }, - { 25, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 50 }, - { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 60 }, - { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 60 }, - { 4, 0, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 60 }, - { 14, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 40}, {0, 0}, {0, 0}, {0, 40} } }, 0, 10, 15, 7, 3, 41 }, - { 14, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 40}, {0, 0}, {0, 0}, {0, 40} } }, 0, 10, 15, 7, 3, 41 }, - { 15, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, -40}, {0, -40}, {0, 0} } }, 0, 10, 15, 6, 1, 41 }, - { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, -40}, {0, -40}, {0, 0} } }, 0, 10, 15, 6, 1, 41 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 51 }, - { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 52 }, - { 3, 0, 0, 0, 0, 0, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 2, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 3, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 4, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 5, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 6, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 7, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 8, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 3, 0, 0, 0, 0, 9, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 52 }, - { 14, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 40}, {0, 0}, {0, 0}, {0, 40} } }, 0, 10, 15, 7, 3, 136 }, - { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -40}, {0, -40}, {0, 0} } }, 0, 10, 15, 6, 1, 136 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 106 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 103 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 103 }, - { 14, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 39}, {0, 0}, {0, 0}, {0, 39} } }, 0, 10, 15, 7, 3, 161 }, - { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, -39}, {0, -39}, {0, 0} } }, 0, 10, 15, 6, 1, 161 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 169 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 169 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 110 }, - { 17, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 17, 0, 0, 0, 0, -1, 0, 24, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 3 }, - { 18, 1, 0, 0, 0, -1, 0, 7, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 53 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 87 }, - { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 87 }, - { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 87 }, - { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 118 }, - { 29, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 118 }, - { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 118 }, - { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 117 }, - { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 117 }, - { 18, 1, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 128 }, - { 5, 1, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 128 }, - { 18, 1, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 64 }, - { 5, 1, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 64 }, - { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 64 }, - { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 64 }, - { 18, 1, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 76 }, - { 25, 1, 0, 0, 0, -1, 0, 10, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 76 }, - { 18, 1, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 98 }, - { 18, 1, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 97 }, - { 5, 1, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 97 }, - { 18, 1, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 61 }, - { 0, 17, 0, 0, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 61 }, - { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 61 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 61 }, - { 18, 1, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 61 }, - { 0, 17, 0, 1, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 61 }, - { 0, 17, 0, 9, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 61 }, - { 5, 1, 0, 0, 0, 1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 5, 1, 0, 0, 0, 2, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 5, 1, 0, 0, 0, 3, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 5, 1, 0, 0, 0, 4, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 5, 1, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 5, 1, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 61 }, - { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 61 }, - { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 61 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 88 }, - { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 88 }, - { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 88 }, - { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 116 }, - { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 116 }, - { 18, 1, 0, 0, 2, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 112 }, - { 18, 1, 0, 0, 3, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 112 }, - { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 112 }, - { 29, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 112 }, - { 18, 1, 0, 0, 4, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 112 }, - { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 112 }, - { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 112 }, - { 5, 1, 0, 0, 2, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 112 }, - { 5, 1, 0, 0, 3, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 112 }, - { 25, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 112 }, - { 25, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 18, 0, 1, 112 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 80 }, - { 25, 10, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 80 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 89 }, - { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 89 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 90 }, - { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 90 }, - { 18, 1, 0, 0, 2, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 121 }, - { 18, 1, 0, 0, 3, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 121 }, - { 25, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 121 }, - { 5, 1, 0, 0, 3, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 121 }, - { 5, 1, 0, 0, 2, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 121 }, - { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 121 }, - { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 91 }, - { 14, 1, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 64}, {0, 0}, {0, 0}, {0, 64} } }, 0, 10, 15, 7, 3, 130 }, - { 15, 1, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, -64}, {0, -64}, {0, 0} } }, 0, 10, 15, 6, 1, 130 }, - { 5, 1, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 130 }, - { 18, 13, 0, 0, 4, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 144 }, - { 18, 13, 0, 0, 2, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 144 }, - { 18, 13, 0, 0, 3, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 144 }, - { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 144 }, - { 3, 5, 0, 0, 0, 0, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 2, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 3, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 4, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 5, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 6, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 7, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 8, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 9, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 144 }, - { 3, 5, 0, 0, 0, 0, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 2, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 3, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 4, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 5, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 6, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 7, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 8, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 3, 5, 0, 0, 0, 9, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 164 }, - { 18, 1, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 164 }, - { 17, 1, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 164 }, - { 14, 1, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 164 }, - { 0, 17, 0, 230, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 164 }, - { 20, 10, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 164 }, - { 15, 1, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 164 }, - { 26, 1, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 164 }, - { 5, 5, 0, 0, 0, 1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 2, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 3, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 4, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 5, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 6, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 7, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 8, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, 9, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 5, 5, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 18, 1, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 156 }, - { 0, 17, 0, 230, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 156 }, - { 20, 1, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 156 }, - { 18, 13, 0, 0, 3, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 18, 13, 0, 0, 2, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 8 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 0, 17, 0, 220, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 8 }, - { 18, 1, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 147 }, - { 5, 1, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 147 }, - { 18, 13, 0, 0, 2, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 148 }, - { 18, 13, 0, 0, 3, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 148 }, - { 18, 13, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 148 }, - { 0, 17, 0, 220, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 148 }, - { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 148 }, - { 5, 13, 0, 0, 2, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 148 }, - { 5, 13, 0, 0, 3, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 148 }, - { 25, 13, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 148 }, - { 18, 1, 0, 0, 2, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 158 }, - { 18, 1, 0, 0, 3, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 158 }, - { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 158 }, - { 0, 17, 0, 220, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 158 }, - { 25, 1, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 158 }, - { 18, 1, 0, 0, 2, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 153 }, - { 18, 1, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 153 }, - { 18, 1, 0, 0, 3, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 153 }, - { 5, 1, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 153 }, - { 5, 1, 0, 0, 3, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 153 }, - { 5, 1, 0, 0, 2, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 153 }, - { 5, 1, 0, 0, 4, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 153 }, - { 18, 1, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 149 }, - { 1, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 94 }, - { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 94 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 39, 8, 1, 94 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 94 }, - { 0, 17, 0, 9, 5, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 94 }, - { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 94 }, - { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 2, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 3, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 4, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 5, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 6, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 7, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 8, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, 9, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 5, 10, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 94 }, - { 3, 0, 0, 0, 0, 0, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 2, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 3, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 4, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 5, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 6, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 7, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 8, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 3, 0, 0, 0, 0, 9, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 94 }, - { 0, 17, 0, 9, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 94 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 94 }, - { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 94 }, - { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 94 }, - { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 92 }, - { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 92 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 92 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 92 }, - { 0, 17, 0, 9, 5, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 92 }, - { 0, 17, 0, 7, 5, -1, 0, 11, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 92 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 92 }, - { 10, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 92 }, - { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 92 }, - { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 92 }, - { 10, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 16, 14, 9, 0, 92 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 101 }, - { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 101 }, - { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 96 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 96 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 96 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 96 }, - { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 96 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 96 }, - { 0, 17, 0, 9, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 96 }, - { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 96 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 96 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 96 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 96 }, - { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 96 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 96 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 111 }, - { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 111 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 111 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 111 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 100 }, - { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 100 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 100 }, - { 1, 0, 0, 9, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 100 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 8, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 100 }, - { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 100 }, - { 0, 17, 0, 7, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 12, 1, 100 }, - { 1, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 100 }, - { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 100 }, - { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 100 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 100 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 100 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 100 }, - { 5, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 20 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 109 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 109 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 109 }, - { 1, 0, 0, 9, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 109 }, - { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 109 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 109 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 109 }, - { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 109 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 109 }, - { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 109 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 129 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 129 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 123 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 123 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 123 }, - { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 123 }, - { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 123 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 123 }, - { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 107 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 107 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 107 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 107 }, - { 0, 17, 0, 7, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 107 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 21, 8, 1, 107 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 107 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 107 }, - { 1, 0, 0, 9, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 107 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 107 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 107 }, - { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 107 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 170 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 170 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 170 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 17, 8, 1, 170 }, - { 1, 0, 0, 0, 0, -1, 0, 27, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 170 }, - { 1, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 170 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 170 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 170 }, - { 1, 0, 0, 0, 0, -1, 0, 27, 3, 221, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 170 }, - { 0, 17, 0, 9, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 170 }, - { 1, 0, 0, 9, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 170 }, - { 0, 17, 0, 9, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 170 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 39, 8, 1, 170 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 12, 1, 170 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 170 }, - { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 135 }, - { 1, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 135 }, - { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 135 }, - { 0, 17, 0, 9, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 135 }, - { 0, 17, 0, 7, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 135 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 135 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 135 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 135 }, - { 3, 0, 0, 0, 0, 0, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 2, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 3, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 4, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 5, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 6, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 7, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 8, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 3, 0, 0, 0, 0, 9, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 135 }, - { 25, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 135 }, - { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 135 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 135 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 135 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 124 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 124 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 124 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 124 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 124 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 124 }, - { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 124 }, - { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 124 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 124 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 124 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 122 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 122 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 122 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 122 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 122 }, - { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 122 }, - { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 122 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 122 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 122 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 122 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 122 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 122 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 122 }, - { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 122 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 114 }, - { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 114 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 114 }, - { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 114 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 114 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 114 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 114 }, - { 25, 10, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 33 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 102 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 102 }, - { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 102 }, - { 1, 0, 0, 9, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 102 }, - { 0, 17, 0, 7, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 102 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 102 }, - { 25, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 102 }, - { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 102 }, - { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 24 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 126 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 126 }, - { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 126 }, - { 1, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 44, 4, 1, 126 }, - { 1, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 4, 44, 4, 1, 126 }, - { 0, 17, 0, 9, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 44, 4, 1, 126 }, - { 3, 0, 0, 0, 0, 0, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 2, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 3, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 4, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 5, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 6, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 7, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 8, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 3, 0, 0, 0, 0, 9, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 126 }, - { 5, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 126 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 126 }, - { 29, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 0, 1, 126 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 44, 8, 1, 126 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 142 }, - { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 142 }, - { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 142 }, - { 0, 17, 0, 9, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 142 }, - { 0, 17, 0, 7, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 142 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 142 }, - { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 125 }, - { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 125 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 125 }, - { 5, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 125 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 125 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 154 }, - { 1, 0, 0, 0, 0, -1, 0, 23, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 154 }, - { 1, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 154 }, - { 1, 0, 0, 0, 0, -1, 0, 23, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 154 }, - { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 154 }, - { 1, 0, 0, 9, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 154 }, - { 0, 17, 0, 9, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 154 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 39, 8, 1, 154 }, - { 0, 17, 0, 7, 5, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 154 }, - { 25, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 154 }, - { 25, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 154 }, - { 3, 0, 0, 0, 0, 0, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 2, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 3, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 4, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 5, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 6, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 7, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 8, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 3, 0, 0, 0, 0, 9, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 154 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 150 }, - { 1, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 150 }, - { 0, 17, 0, 0, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 150 }, - { 0, 17, 0, 9, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 150 }, - { 25, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 150 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 141 }, - { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 141 }, - { 0, 0, 0, 0, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 141 }, - { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 141 }, - { 1, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 141 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 8, 1, 141 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 141 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 141 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 141 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 141 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 140 }, - { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 140 }, - { 1, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 140 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 8, 1, 140 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 8, 1, 140 }, - { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 140 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 140 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 140 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 140 }, - { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 140 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 29 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 119 }, - { 25, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 11 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 168 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 168 }, - { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 168 }, - { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 133 }, - { 1, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 133 }, - { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 133 }, - { 0, 0, 0, 9, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 133 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 133 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 133 }, - { 3, 0, 0, 0, 0, 0, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 2, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 3, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 4, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 5, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 6, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 7, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 8, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 3, 0, 0, 0, 0, 9, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 133 }, - { 5, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 133 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 24, 0, 1, 134 }, - { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 9, 0, 1, 134 }, - { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 134 }, - { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 134 }, - { 1, 0, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 134 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 138 }, - { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 138 }, - { 0, 17, 0, 7, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 138 }, - { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 138 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 15, 8, 1, 138 }, - { 3, 0, 0, 0, 0, 0, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 2, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 3, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 4, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 5, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 6, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 7, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 8, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 3, 0, 0, 0, 0, 9, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 138 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 143 }, - { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 143 }, - { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 143 }, - { 0, 17, 0, 9, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 143 }, - { 3, 0, 0, 0, 0, 0, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 2, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 3, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 4, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 5, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 6, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 7, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 8, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 3, 0, 0, 0, 0, 9, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 143 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 145 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 21, 8, 1, 145 }, - { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 145 }, - { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 145 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 145 }, - { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 162 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 7, 10, 39, 8, 1, 162 }, - { 1, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 162 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 38, 8, 1, 162 }, - { 1, 0, 0, 9, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 162 }, - { 0, 17, 0, 9, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 41, 4, 1, 162 }, - { 25, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 162 }, - { 25, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 162 }, - { 3, 0, 0, 0, 0, 0, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 2, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 3, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 4, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 5, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 6, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 7, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 8, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 3, 0, 0, 0, 0, 9, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 162 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 162 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 83 }, - { 5, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 16 }, - { 29, 10, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 16 }, - { 27, 4, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 16 }, - { 25, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 16 }, - { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 63 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 63 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 63 }, - { 4, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 63 }, - { 4, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 63 }, - { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 63 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 63 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 157 }, - { 25, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 157 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 81 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 0, 8, 1, 81 }, - { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 1, 8, 1, 81 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 0, 8, 1, 81 }, - { 10, 0, 0, 0, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 7, 4, 0, 81 }, - { 10, 0, 0, 0, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 0, 4, 0, 81 }, - { 10, 0, 0, 0, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 1, 4, 0, 81 }, - { 10, 0, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 7, 4, 0, 81 }, - { 10, 0, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 0, 4, 0, 81 }, - { 10, 0, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 1, 4, 0, 81 }, - { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 81 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 81 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 81 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 127 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 0, 8, 1, 127 }, - { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 1, 8, 1, 127 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 40, 8, 1, 165 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 165 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 221, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 165 }, - { 1, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 165 }, - { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 165 }, - { 0, 17, 0, 9, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 165 }, - { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 40, 9, 1, 165 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 84 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 115 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 115 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 115 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 159 }, - { 3, 0, 0, 0, 0, 0, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 2, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 3, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 4, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 5, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 6, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 7, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 8, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 3, 0, 0, 0, 0, 9, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 159 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 104 }, - { 0, 17, 0, 1, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 104 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 104 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 108 }, - { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 108 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 108 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 108 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 108 }, - { 29, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 108 }, - { 17, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 108 }, - { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 108 }, - { 5, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 108 }, - { 17, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 166 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 166 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 15, 8, 1, 166 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 204, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 15, 8, 1, 166 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 221, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 15, 8, 1, 166 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 17, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 10, 10, 15, 8, 1, 166 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 166 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 166 }, - { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 166 }, - { 14, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 32}, {0, 0}, {0, 0}, {0, 32} } }, 0, 10, 15, 7, 3, 146 }, - { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, -32}, {0, -32}, {0, 0} } }, 0, 10, 15, 6, 1, 146 }, - { 5, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 146 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 146 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 146 }, - { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 146 }, - { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 99 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 99 }, - { 0, 17, 0, 0, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 99 }, - { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 99 }, - { 1, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 8, 4, 27, 4, 1, 99 }, - { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 99 }, - { 17, 0, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 99 }, - { 17, 0, 0, 0, 0, -1, 0, 18, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 137 }, - { 17, 0, 0, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 139 }, - { 25, 10, 0, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 0, 1, 37 }, - { 17, 0, 0, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 8, 8, 1, 37 }, - { 0, 17, 0, 0, 5, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 7, 4, 1, 155 }, - { 1, 0, 0, 6, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 18, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 137 }, - { 18, 0, 0, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 137 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 137 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 137 }, - { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 8, 1, 155 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 8, 1, 155 }, - { 17, 0, 0, 0, 0, -1, 0, 24, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 15, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 17, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 8, 1, 34 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 8, 8, 8, 1, 35 }, - { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 139 }, - { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 105 }, - { 29, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 105 }, - { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 105 }, - { 0, 17, 0, 1, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 105 }, - { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 105 }, - { 10, 18, 0, 0, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 2, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 3, 2, 0, 0, 0, 0, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 1, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 2, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 3, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 4, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 5, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 6, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 7, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 8, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 9, 0, 27, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 29, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 5, 3, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 1, 0, 0, 216, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 2 }, - { 0, 17, 0, 1, 5, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 1, 0, 0, 226, 0, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 2 }, - { 10, 18, 0, 0, 5, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 2, 2 }, - { 0, 17, 0, 220, 5, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 0, 17, 0, 230, 5, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 1 }, - { 29, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 4 }, - { 5, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 0, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 0, 0, 0, 0, -1, 0, 9, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 5, 0, 0, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 7, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 26, 10, 0, 0, 0, -1, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 14, 0, 0, 0, 0, -1, 0, 9, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 2 }, - { 15, 0, 0, 0, 0, -1, 0, 9, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 2 }, - { 3, 2, 0, 0, 0, 0, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 1, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 2, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 3, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 4, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 5, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 6, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 7, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 8, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 9, 0, 5, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 131 }, - { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 131 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 0, 1, 131 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 21, 12, 1, 131 }, - { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 131 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 3 }, - { 15, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 1, 3 }, - { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 57 }, - { 17, 0, 0, 0, 0, -1, 0, 25, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 6, 3, 5 }, - { 0, 17, 0, 230, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 5 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 151 }, - { 0, 17, 0, 230, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 151 }, - { 17, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 151 }, - { 3, 0, 0, 0, 0, 0, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 2, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 3, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 4, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 5, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 6, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 7, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 8, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 3, 0, 0, 0, 0, 9, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 151 }, - { 29, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 151 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 160 }, - { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 160 }, - { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 152 }, - { 0, 17, 0, 230, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 152 }, - { 3, 0, 0, 0, 0, 0, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 2, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 3, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 4, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 5, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 6, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 7, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 8, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 3, 0, 0, 0, 0, 9, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 152 }, - { 27, 4, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 12, 0, 1, 152 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 163 }, - { 17, 0, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 163 }, - { 0, 17, 0, 232, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 163 }, - { 0, 17, 0, 220, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 163 }, - { 0, 17, 0, 230, 5, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 163 }, - { 3, 0, 0, 0, 0, 0, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 2, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 3, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 4, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 5, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 6, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 7, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 8, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 3, 0, 0, 0, 0, 9, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 163 }, - { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 167 }, - { 0, 17, 0, 230, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 167 }, - { 0, 17, 0, 220, 5, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 167 }, - { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 167 }, - { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 167 }, - { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 27 }, - { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 113 }, - { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 113 }, - { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 113 }, - { 14, 1, 0, 0, 2, -1, 0, 18, 3, 0, { { { 0, 34}, {0, 0}, {0, 0}, {0, 34} } }, 0, 10, 15, 7, 3, 132 }, - { 15, 1, 0, 0, 2, -1, 0, 18, 3, 0, { { { 0, 0}, {0, -34}, {0, -34}, {0, 0} } }, 0, 10, 15, 6, 1, 132 }, - { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 132 }, - { 0, 17, 0, 7, 5, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 1, 132 }, - { 17, 1, 0, 0, 5, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 1, 132 }, - { 3, 1, 0, 0, 0, 0, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 2, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 3, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 4, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 5, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 6, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 7, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 8, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 3, 1, 0, 0, 0, 9, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 1, 132 }, - { 25, 1, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 0, 0, 1, 132 }, - { 5, 13, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 13, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 27, 13, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 13, 0, 1, 2 }, - { 5, 13, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 13, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 18, 13, 0, 0, 0, -1, 0, 13, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 8, 3, 8 }, - { 26, 10, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 8 }, - { 29, 10, 3, 0, 0, -1, 0, 10, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 13, 0, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 0, 0 }, - { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 5, 2, 0, 0, 0, 0, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 2 }, - { 5, 2, 0, 0, 0, 0, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 1, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 2, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 3, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 4, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 5, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 6, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 7, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 8, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 2, 0, 0, 0, 9, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 5, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 23, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 12, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 12, 0, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 12, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 10, 15, 7, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 13, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 21, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 3, 2 }, - { 29, 0, 1, 0, 0, -1, 0, 12, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 10, 15, 7, 1, 2 }, - { 29, 0, 1, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 10, 15, 7, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 0, 3, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 12, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 18, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 0, 19, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 6, 7, 34, 0, 1, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 11, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 34 }, - { 29, 0, 3, 0, 0, -1, 0, 12, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 3, 2 }, - { 29, 0, 1, 0, 0, -1, 0, 12, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 3, 2 }, - { 29, 0, 3, 0, 0, -1, 0, 11, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 3, 2 }, - { 29, 0, 0, 0, 0, -1, 0, 18, 5, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 3, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 1, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 17, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 16, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 9, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 28, 10, 23, 0, 0, -1, 0, 17, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 37, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 13, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 17, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 18, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 16, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 18, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 13, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 3, 13, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 8, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 19, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 25, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 24, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 25, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 20, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 13, 0, 0, 0, 0, -1, 0, 0, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 0, 0 }, - { 29, 10, 0, 0, 0, -1, 0, 27, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 23, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 21, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 17, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 19, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 18, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 0, 1, 2 }, - { 29, 10, 19, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 20, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 0, 0, 0, -1, 0, 21, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 15, 0, 1, 2 }, - { 29, 10, 3, 0, 0, -1, 0, 27, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 17, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 24, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 29, 10, 11, 0, 0, -1, 0, 25, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 14, 0, 36, 0, 1, 2 }, - { 3, 2, 0, 0, 0, 0, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 1, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 2, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 3, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 4, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 5, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 6, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 7, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 8, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 3, 2, 0, 0, 0, 9, 0, 23, 3, 80, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 16, 14, 9, 3, 2 }, - { 13, 18, 0, 0, 0, -1, 0, 2, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 }, - { 18, 0, 0, 0, 0, -1, 0, 5, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 25, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 26, 5, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 1, 37 }, - { 18, 0, 0, 0, 0, -1, 0, 5, 5, 85, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 17, 8, 3, 37 }, - { 10, 18, 0, 0, 5, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 3, 6, 27, 4, 0, 2 }, - { 10, 18, 16, 0, 5, -1, 0, 5, 3, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 0, 2 }, - { 0, 17, 0, 0, 5, -1, 0, 7, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 4, 4, 27, 4, 2, 1 }, - { 12, 0, 0, 0, 0, -1, 0, 2, 0, 0, { { { 0, 0}, {0, 0}, {0, 0}, {0, 0} } }, 0, 0, 15, 0, 0, 0 } + { 9, 18, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 0, 27, 0, 1, 2, 0 }, + { 9, 8, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 0, 21, 5, 1, 2, 0 }, + { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, 0, 2, 2, 48, 2, 1, 2, 0 }, + { 9, 8, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 3, 49, 5, 1, 2, 0 }, + { 9, 9, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 3, 49, 5, 1, 2, 0 }, + { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, 0, 1, 1, 47, 1, 1, 2, 0 }, + { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 0, 27, 0, 1, 2, 0 }, + { 9, 8, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 0, 27, 0, 1, 2, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 18, 46, 5, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 9, 12, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 12, 3, 13, 1, 2, 0 }, + { 25, 4, 17, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 11, 3, 13, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 4, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 4, 0, 0, 0, 0, 2, 13, 1, 2, 0 }, + { 25, 10, 17, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 3, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 15, 11, 11, 1, 2, 0 }, + { 20, 3, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 19, 11, 1, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 15, 11, 10, 1, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 10, 0, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 0, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 1, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 2, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 3, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 4, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 5, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 6, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 7, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 8, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 3, 2, 17, 0, 0, 9, 0, 1, 4, 0, 0, 0, 16, 14, 9, 1, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 11, 11, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 15, 11, 11, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 4, 0, 1, 0, 10, 15, 7, 3, 3, 0 }, + { 21, 10, 0, 0, 0, -1, 2, 1, 4, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -2, 1, 4, 0, 0, 0, 0, 2, 13, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 19, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 17, 15, 0, 1, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 4, 0, 2, 0, 10, 15, 6, 1, 3, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -2, 1, 4, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 9, 18, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 0, 27, 0, 0, 2, 0 }, + { 9, 7, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 3, 49, 3, 0, 2, 0 }, + { 6, 6, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 7, 5, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 4, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 1, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 23, 10, 0, 0, 0, -1, 16, 1, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 1, 0, 0, 0, 3, 6, 21, 4, 2, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 1, 0, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 4, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 4, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 26, 4, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 5, 2, 0, 0, 0, 2, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 3, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 24, 0, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 3, 0, 10, 15, 6, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 14, 15, 0, 1, 2, 0 }, + { 5, 2, 0, 0, 0, 1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 24, 10, 0, 0, 0, -1, -16, 1, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 1, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, 1, 0, 10, 15, 7, 3, 3, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 4, 0, 10, 15, 6, 4, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, 2, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 2, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 2, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 5, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 8, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 9, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 80, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 80, 7, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 80, 10, 0, 10, 15, 6, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 11, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 12, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 13, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 14, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 15, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 16, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 17, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 18, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 19, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 20, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 21, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 22, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 23, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 24, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 25, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 26, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 27, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 28, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 29, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 30, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 31, 0, 10, 15, 7, 3, 3, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 32, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 80, 33, 0, 10, 15, 7, 3, 3, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 80, 34, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 35, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 36, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 37, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 38, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 39, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 17, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 17, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 6, 3, 0, 40, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 41, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 42, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 43, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 44, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 45, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 46, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 47, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 48, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 49, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 50, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 51, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 52, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 53, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 54, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 55, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 56, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 57, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 58, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 59, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 60, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 61, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 62, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 63, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 64, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 65, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 66, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 67, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 68, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 69, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 70, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 71, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 72, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 73, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 74, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 75, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 76, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 77, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 78, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 79, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 80, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 6, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 24, 8, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 4, 0, 0, 0, 0, 10, 24, 0, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 0, 1, 36, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 0, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 232, 5, -1, 0, 1, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 1, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 216, 5, -1, 0, 1, 0, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 202, 5, -1, 0, 1, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 1, 0, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 202, 5, -1, 0, 1, 0, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 1, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 1, 0, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 0, 85, 0, 4, 4, 27, 4, 3, 1, 0 }, + { 0, 17, 0, 240, 5, -1, 0, 1, 0, 204, 81, 4, 4, 27, 4, 3, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 4, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 4, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 6, 0, 0, 0, 4, 4, 7, 4, 2, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 7, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 7, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 232, 5, -1, 0, 8, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 8, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 233, 5, -1, 0, 8, 0, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 234, 5, -1, 0, 7, 0, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 233, 5, -1, 0, 7, 0, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 234, 5, -1, 0, 1, 0, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 233, 5, -1, 0, 4, 0, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 6, 0, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 6, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, 7, 0, 10, 15, 6, 1, 4, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 10, 15, 8, 3, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 13, 0, 0, 0, 0, -1, 0, 0, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 27, 0, 10, 15, 6, 1, 4, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 15, 11, 11, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 82, 0, 10, 15, 7, 3, 4, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 4, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 81, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 83, 0, 10, 15, 7, 3, 4, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 14, 15, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 84, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 85, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 86, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 87, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, 1, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 1, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 88, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 89, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 90, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 2, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 91, 0, 10, 15, 6, 4, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 2, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 92, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 93, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 94, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 95, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 96, 0, 10, 15, 6, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 81, 0, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 97, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 98, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, 99, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 6, 3, 0, 6, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 6, 3, 0, 7, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 6, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, 7, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 6, 0, 10, 15, 7, 3, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 7, 0, 10, 15, 6, 1, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 100, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 101, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 102, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 103, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 5, 3, 80, 104, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 5, 3, 80, 105, 0, 10, 15, 6, 3, 4, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 7, 3, 0, 6, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, 7, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 7, 3, 80, 106, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 40, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 17, 107, 0, 10, 15, 7, 3, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 17, 107, 0, 10, 15, 7, 3, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 107, 0, 10, 15, 7, 3, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 107, 0, 10, 15, 7, 3, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 0, 1, 0, 10, 15, 7, 3, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 17, 1, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 0, 2, 0, 10, 15, 6, 1, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, 2, 0, 10, 15, 6, 1, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 17, 108, 0, 10, 15, 6, 1, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 17, 108, 0, 10, 15, 6, 1, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 108, 0, 10, 15, 6, 1, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 108, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 5, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 2, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 6, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 6, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 109, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 110, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 17, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 4, 3, 17, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 11, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 12, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 12, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 111, 0, 10, 15, 7, 3, 6, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 6, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 0, 1, 6, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 11, 1, 6, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 14, 15, 0, 1, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 6, 1, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 112, 0, 10, 15, 6, 1, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 113, 0, 10, 15, 6, 3, 6, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 15, 11, 12, 1, 6, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 21, 0, 1, 6, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 6, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 12, 0, 1, 6, 0 }, + { 13, 1, 0, 0, 0, -1, 0, 0, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 222, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 228, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 10, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 11, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 12, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 13, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 14, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 15, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 16, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 17, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 18, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 19, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 19, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 20, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 21, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 22, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 20, 1, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 21, 0, 1, 7, 0 }, + { 0, 17, 0, 23, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 7, 0 }, + { 0, 17, 0, 24, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 0, 17, 0, 25, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 9, 0, 1, 7, 0 }, + { 0, 17, 0, 18, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 9, 16, 8, 1, 7, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 9, 16, 8, 1, 7, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 7, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 14, 15, 0, 1, 7, 0 }, + { 10, 5, 0, 0, 0, -1, 0, 7, 3, 0, 0, 7, 16, 14, 9, 0, 8, 0 }, + { 10, 5, 0, 0, 0, -1, 0, 13, 3, 0, 0, 7, 16, 14, 9, 0, 8, 0 }, + { 10, 5, 0, 0, 0, -1, 0, 16, 3, 0, 0, 7, 16, 14, 9, 0, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 26, 13, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 13, 0, 1, 8, 0 }, + { 27, 13, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 13, 0, 1, 8, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 15, 11, 11, 1, 2, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 15, 11, 11, 1, 8, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 30, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 31, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 32, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 9, 0, 1, 2, 0 }, + { 10, 13, 0, 0, 5, -1, 0, 15, 3, 0, 0, 3, 6, 27, 4, 0, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 9, 12, 1, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 9, 12, 1, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 9, 12, 1, 2, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 1, 3, 17, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 1, 3, 17, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 17, 13, 0, 0, 1, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 0, 17, 0, 27, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 28, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 29, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 30, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 31, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 32, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 33, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 34, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 4, 3, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 4, 3, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 5, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 13, 0, 1, 8, 0 }, + { 25, 5, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 25, 5, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 15, 14, 9, 1, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 0, 17, 0, 35, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 1, 3, 80, 0, 0, 10, 15, 8, 3, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 1, 3, 80, 0, 0, 10, 15, 8, 3, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 9, 12, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 10, 5, 0, 0, 0, -1, 0, 1, 3, 0, 0, 7, 16, 14, 9, 0, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 17, 13, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 3, 2, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 8, 0 }, + { 29, 13, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 12, 1, 9, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 9, 0 }, + { 13, 13, 0, 0, 0, -1, 0, 0, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 10, 13, 0, 0, 5, -1, 0, 4, 3, 0, 0, 7, 10, 15, 4, 0, 9, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 0, 17, 0, 36, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 9, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 9, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 9, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 10, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 10, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 10, 0 }, + { 3, 1, 0, 0, 0, 0, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 1, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 2, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 3, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 4, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 5, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 6, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 7, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 8, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 3, 1, 0, 0, 0, 9, 0, 9, 3, 0, 0, 0, 16, 14, 9, 1, 66, 0 }, + { 18, 1, 0, 0, 2, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 66, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 66, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 66, 0 }, + { 17, 1, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 66, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 15, 0, 1, 66, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 15, 0, 1, 66, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 15, 11, 11, 1, 66, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 9, 12, 1, 66, 0 }, + { 17, 1, 0, 0, 1, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 66, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 66, 0 }, + { 27, 1, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 12, 0, 1, 66, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 82, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 82, 0 }, + { 17, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 82, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 82, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 12, 1, 82, 0 }, + { 18, 1, 0, 0, 3, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 95, 0 }, + { 18, 1, 0, 0, 2, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 95, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 95, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 15, 0, 1, 95, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 9, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 1, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 28, 13, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 10, 5, 0, 0, 0, -1, 0, 24, 3, 0, 0, 7, 16, 14, 9, 0, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 17, 13, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 10, 5, 0, 0, 0, -1, 0, 18, 3, 0, 0, 7, 16, 14, 9, 0, 2, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 27, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 28, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 29, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 8, 4, 27, 4, 1, 11, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 8, 4, 27, 4, 1, 11, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 10, 15, 8, 3, 11, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 21, 12, 1, 2, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 11, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 11, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 12, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 12, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 12, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 12, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 12, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 12, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 12, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 8, 4, 27, 4, 1, 12, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 12, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 12, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 10, 15, 8, 3, 12, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 12, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 13, 0, 1, 12, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 12, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 13, 0, 1, 12, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 12, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 12, 0, 1, 12, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 12, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 15, 0, 1, 12, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 12, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 13, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 13, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 8, 4, 27, 4, 1, 13, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 13, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 10, 15, 8, 3, 13, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 13, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 13, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 13, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 13, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 13, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 14, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 14, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 14, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 14, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 14, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 14, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 14, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 15, 0, 1, 14, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 12, 0, 1, 14, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 14, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 14, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 15, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 15, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 15, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 8, 4, 27, 4, 1, 15, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 15, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 10, 15, 8, 3, 15, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 15, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 15, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 15, 0, 1, 15, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 16, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 16, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 0, 10, 15, 8, 1, 16, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 16, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 16, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 16, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 8, 4, 27, 4, 1, 16, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 16, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 16, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 16, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 16, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 12, 0, 1, 16, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 17, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 17, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 17, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 17, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 17, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 0, 17, 0, 84, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 0, 17, 0, 91, 5, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 17, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 17, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 17, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 24, 0, 1, 17, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 17, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 17, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 18, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 18, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 24, 0, 1, 18, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 18, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 18, 0 }, + { 0, 0, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 18, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 18, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 18, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 8, 4, 27, 4, 1, 18, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 8, 4, 27, 4, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 19, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 19, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 1, 3, 17, 0, 8, 4, 27, 4, 1, 19, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 7, 10, 15, 8, 1, 19, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 15, 0, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 19, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 15, 0, 1, 19, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 19, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 19, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 13, 0, 1, 19, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 20, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 8, 4, 27, 4, 1, 20, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 20, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 4, 3, 204, 0, 4, 4, 27, 4, 1, 20, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 4, 3, 204, 0, 4, 4, 27, 4, 1, 20, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 20, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 4, 3, 17, 0, 8, 4, 27, 4, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 20, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 20, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 44, 8, 1, 21, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 21, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 8, 0, 44, 8, 3, 21, 0 }, + { 0, 17, 0, 103, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 21, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 21, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 44, 8, 1, 21, 0 }, + { 0, 17, 0, 107, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 21, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 21, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 21, 0, 1, 21, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 44, 8, 1, 22, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 44, 8, 1, 22, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 22, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 8, 0, 44, 8, 3, 22, 0 }, + { 0, 17, 0, 118, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 22, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 21, 3, 0, 0, 4, 4, 44, 4, 1, 22, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 44, 8, 1, 22, 0 }, + { 0, 17, 0, 122, 5, -1, 0, 1, 3, 0, 0, 4, 4, 44, 4, 1, 22, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, 0, 4, 4, 44, 4, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 16, 14, 9, 1, 22, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 44, 8, 3, 22, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 44, 8, 1, 22, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 10, 15, 8, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 24, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 24, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 15, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 7, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 21, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 2, 3, 80, 0, 0, 0, 7, 0, 3, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 9, 0, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 15, 0, 1, 23, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 2, 3, 0, 0, 0, 16, 14, 9, 1, 23, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 15, 0, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 21, 0, 1, 23, 0 }, + { 0, 17, 0, 216, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 2, 3, 0, 0, 0, 0, 0, 13, 1, 23, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 2, 3, 0, 0, 0, 0, 1, 13, 1, 23, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 8, 4, 27, 4, 1, 23, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 2, 3, 85, 0, 0, 10, 15, 8, 3, 23, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 23, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 23, 0 }, + { 0, 17, 0, 129, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 0, 17, 0, 130, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 2, 3, 85, 0, 4, 4, 27, 4, 3, 23, 0 }, + { 0, 17, 0, 132, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 2, 3, 80, 0, 4, 4, 27, 4, 3, 23, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 8, 4, 21, 4, 1, 23, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 2, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 23, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 0, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 23, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 24, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 24, 0, 1, 23, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 23, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 7, 0, 1, 23, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 17, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 4, 44, 4, 1, 24, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 204, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 8, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 4, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 4, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 10, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 8, 4, 44, 4, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 12, 1, 24, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 24, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 10, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 4, 44, 4, 1, 24, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 44, 0, 1, 24, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 114, 0, 10, 15, 7, 3, 25, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, 114, 0, 10, 15, 7, 3, 25, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 0, 115, 0, 10, 15, 8, 1, 25, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 6, 3, 0, 115, 0, 10, 15, 8, 1, 25, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 115, 0, 10, 15, 8, 1, 25, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, 0, 0, 10, 15, 6, 3, 25, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, 115, 0, 10, 15, 8, 1, 25, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 9, 10, 31, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 5, 0, 0, 9, 10, 31, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 9, 10, 31, 8, 2, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 10, 10, 32, 8, 2, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 10, 10, 32, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 10, 10, 32, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 10, 10, 32, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 204, 0, 11, 10, 33, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 11, 10, 33, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 11, 10, 33, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 27, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 27, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 27, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 27, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 0, 1, 27, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 12, 1, 27, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 2, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 3, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 4, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 5, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 6, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 7, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 8, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, 9, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 27, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 116, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 117, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 118, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 119, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 120, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 121, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 122, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 123, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 124, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 125, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 126, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 127, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 128, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 129, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 130, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 131, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 132, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 133, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 134, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 135, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 136, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 137, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 138, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 139, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 140, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 141, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 142, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 143, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 144, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 145, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 146, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 147, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 148, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 149, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 150, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 151, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 152, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 153, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 154, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 155, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 156, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 157, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 158, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 159, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 160, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 161, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 162, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 163, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 164, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 165, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 166, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 167, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 168, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 169, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 170, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 171, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 172, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 173, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 174, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 175, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 176, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 177, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 178, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 179, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 180, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 181, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 182, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 183, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 184, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 185, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 186, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 187, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 188, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 189, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 190, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 191, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 192, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 193, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 194, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 195, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 4, 3, 0, 196, 0, 10, 15, 7, 1, 28, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, 196, 0, 10, 15, 7, 1, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 197, 0, 10, 15, 6, 3, 28, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 29, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 29, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 29, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 12, 1, 29, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 29, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 18, 21, 5, 0, 30, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 30, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 4, 3, 0, 0, 0, 0, 0, 13, 1, 30, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 4, 3, 0, 0, 0, 0, 1, 13, 1, 30, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 31, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 31, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 31, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 42, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 42, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 42, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 42, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 42, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 43, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 43, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 43, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 0, 21, 12, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 44, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 44, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 45, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 45, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 44, 8, 1, 32, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 44, 4, 2, 32, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 8, 4, 44, 4, 1, 32, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 44, 4, 1, 32, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 4, 3, 0, 0, 4, 4, 44, 4, 1, 32, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 12, 1, 32, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 8, 0, 1, 32, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 44, 8, 1, 32, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 0, 1, 32, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 32, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 12, 0, 1, 32, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 7, 3, 0, 0, 4, 4, 44, 4, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 32, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 32, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 33, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 9, 11, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 9, 12, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 0, 1, 33, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 24, 0, 1, 33, 0 }, + { 25, 10, 0, 0, 2, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 33, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 9, 11, 1, 33, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 9, 12, 1, 33, 0 }, + { 25, 10, 0, 0, 1, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 33, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 2, 33, 0 }, + { 10, 18, 0, 0, 0, -1, 0, 4, 3, 0, 0, 3, 6, 7, 4, 2, 33, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 2, 33, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 4, 3, 0, 0, 0, 16, 14, 9, 1, 33, 0 }, + { 18, 0, 0, 0, 2, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 33, 0 }, + { 17, 0, 0, 0, 2, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 33, 0 }, + { 18, 0, 0, 0, 2, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 33, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 10, 15, 8, 1, 33, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 33, 0 }, + { 0, 17, 0, 228, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 33, 0 }, + { 18, 0, 0, 0, 2, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 33, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 47, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 47, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 47, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 8, 4, 27, 4, 1, 47, 0 }, + { 0, 17, 0, 222, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 47, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 47, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 7, 3, 0, 0, 4, 4, 27, 4, 1, 47, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 47, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 9, 12, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 47, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 44, 8, 1, 48, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 44, 8, 1, 56, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 8, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 5, 0, 0, 0, 0, 1, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 56, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 44, 0, 1, 56, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 32, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 55, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 55, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 55, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 8, 4, 27, 4, 1, 55, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 55, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 55, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 78, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 8, 4, 44, 4, 1, 78, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, 0, 4, 4, 44, 4, 1, 78, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 11, 3, 0, 0, 4, 4, 44, 4, 1, 78, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 4, 44, 4, 1, 78, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 44, 4, 1, 78, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 78, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 0, 1, 78, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 78, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 12, 1, 78, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 2, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 62, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 8, 4, 27, 4, 1, 62, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 38, 8, 1, 62, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 9, 3, 17, 0, 0, 10, 38, 8, 1, 62, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 62, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 9, 3, 204, 0, 4, 4, 27, 4, 1, 62, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 9, 3, 17, 0, 4, 4, 27, 4, 1, 62, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 9, 3, 17, 0, 8, 4, 27, 4, 1, 62, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 9, 3, 0, 0, 4, 4, 41, 4, 1, 62, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 38, 8, 1, 62, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 21, 12, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 9, 3, 0, 0, 0, 16, 40, 9, 1, 62, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 21, 12, 1, 62, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 17, 0, 1, 62, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 21, 0, 1, 62, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 17, 0, 1, 62, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 62, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 62, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 21, 12, 1, 62, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 67, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 8, 4, 27, 4, 1, 67, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 67, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 67, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 67, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 67, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 67, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 40, 8, 1, 93, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 93, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 8, 4, 27, 4, 1, 93, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 93, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 12, 3, 0, 0, 4, 4, 42, 4, 1, 93, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 15, 0, 1, 93, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 68, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 8, 4, 27, 4, 1, 68, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 68, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 68, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 12, 1, 68, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 0, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 68, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 69, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 69, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 69, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 12, 1, 69, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 198, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 199, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 200, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 201, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 202, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 203, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 204, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 205, 0, 10, 15, 6, 3, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, 6, 0, 10, 15, 7, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 27, 3, 0, 7, 0, 10, 15, 6, 1, 5, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 20, 3, 0, 206, 0, 10, 15, 8, 3, 25, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 15, 0, 1, 67, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 8, 4, 27, 4, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 8, 4, 27, 4, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 6, 1, 5, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 7, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 7, 3, 80, 0, 0, 10, 15, 6, 3, 4, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, 0, 0, 10, 15, 6, 3, 5, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 207, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 208, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 209, 0, 10, 15, 6, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, 0, 0, 10, 15, 6, 3, 4, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 9, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 234, 5, -1, 0, 10, 3, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 214, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 202, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 232, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 228, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 218, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 233, 5, -1, 0, 12, 3, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 210, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 211, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 212, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 213, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 214, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 2, 3, 81, 215, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 216, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 10, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 217, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 218, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 219, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 220, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 221, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 222, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 223, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 223, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 224, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 224, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 225, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 225, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 226, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 226, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 227, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 227, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 228, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 228, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 229, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 230, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 231, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 232, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 233, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 234, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 235, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 236, 0, 10, 15, 6, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 237, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 238, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 239, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 240, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 241, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 242, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 243, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 244, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 245, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 246, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 247, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 248, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 249, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 250, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 251, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 252, 0, 10, 15, 6, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 253, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 254, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 255, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 256, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 257, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 258, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 259, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 260, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 261, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 262, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 263, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 264, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 265, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 266, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 267, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 268, 0, 10, 15, 6, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 269, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 270, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 271, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 272, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 273, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 274, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 275, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 276, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 277, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 278, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 279, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 280, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 281, 0, 10, 15, 6, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 282, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 282, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 283, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 284, 0, 10, 15, 6, 3, 4, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 81, 0, 0, 0, 15, 0, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 285, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 286, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 287, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 288, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 289, 0, 10, 15, 6, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 290, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 290, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 291, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 292, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 293, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 294, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 295, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 296, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 296, 0, 10, 15, 7, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 297, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 85, 298, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 299, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 102, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 300, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 301, 0, 10, 15, 6, 1, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 302, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 302, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 106, 0, 10, 15, 7, 3, 4, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 0, 15, 0, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 303, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 304, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 305, 0, 10, 15, 6, 3, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 306, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 17, 307, 0, 10, 15, 6, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 308, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 308, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 17, 309, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 309, 0, 10, 15, 7, 3, 4, 0 }, + { 16, 0, 0, 0, 0, -1, 0, 1, 3, 17, 310, 0, 10, 15, 7, 3, 4, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 0, 24, 0, 3, 4, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 18, 21, 5, 3, 2, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 18, 21, 5, 3, 2, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 7, 5, 3, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 0, 26, 4, 2, 2, 0 }, + { 10, 18, 0, 0, 0, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 4, 1, 0 }, + { 10, 18, 16, 0, 1, -1, 0, 1, 3, 0, 0, 5, 5, 43, 4, 4, 1, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 1, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 7, 0, 3, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 21, 11, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 25, 11, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 23, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 13, 3, 13, 1, 2, 0 }, + { 24, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 13, 3, 13, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 23, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 23, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 24, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 13, 18, 10, 0, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 18, 0, 0, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 14, 21, 0, 1, 2, 0 }, + { 7, 9, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 3, 49, 3, 0, 2, 0 }, + { 8, 7, 0, 0, 0, -1, 0, 1, 3, 0, 0, 3, 3, 49, 3, 0, 2, 0 }, + { 10, 11, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 14, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 16, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 12, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 15, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 6, 6, 0, 0, 0, -1, 0, 4, 3, 80, 0, 0, 17, 7, 5, 3, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 23, 10, 0, 0, 0, -1, 1, 1, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 24, 10, 0, 0, 0, -1, -1, 1, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 25, 10, 1, 0, 0, -1, 0, 1, 3, 80, 0, 14, 0, 8, 12, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 8, 12, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 19, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 17, 15, 0, 1, 2, 0 }, + { 26, 6, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 15, 11, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 0, 8, 12, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 80, 0, 0, 0, 8, 12, 3, 2, 0 }, + { 25, 10, 1, 0, 0, -1, 0, 4, 3, 80, 0, 14, 0, 8, 12, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 19, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 17, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 18, 21, 5, 3, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 6, 3, 0, 0, 3, 6, 28, 4, 2, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 6, 3, 0, 0, 3, 6, 15, 4, 2, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 10, 3, 0, 0, 3, 6, 15, 4, 2, 2, 0 }, + { 13, 18, 0, 0, 0, -1, 0, 0, 3, 0, 0, 3, 0, 15, 0, 0, 0, 0 }, + { 10, 19, 0, 0, 0, -1, 0, 15, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 20, 0, 0, 0, -1, 0, 15, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 21, 0, 0, 0, -1, 0, 15, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 22, 0, 0, 0, -1, 0, 15, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 27, 4, 2, 2, 0 }, + { 5, 2, 0, 0, 0, 0, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 5, 2, 0, 0, 0, 4, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 5, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 6, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 7, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 8, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 9, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 26, 3, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 3, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 3, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 12, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 12, 0, 3, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 2, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 14, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 13, 4, 0, 0, 0, -1, 0, 0, 3, 0, 0, 0, 0, 12, 0, 0, 0, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 2, 17, 0, 0, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 2, 17, 0, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 2, 17, 16, 0, 5, -1, 0, 4, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 2, 17, 0, 0, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 6, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 7, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 12, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 1, 0, 80, 0, 14, 0, 15, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 85, 311, 0, 10, 15, 7, 3, 4, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 85, 312, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 0, 85, 313, 0, 10, 15, 7, 3, 3, 0 }, + { 29, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 3, 0, 314, 0, 10, 15, 7, 3, 3, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 8, 3, 2, 0 }, + { 15, 0, 1, 0, 0, -1, 0, 4, 3, 80, 0, 14, 10, 15, 6, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 10, 15, 7, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 315, 0, 10, 15, 6, 1, 3, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 11, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 1, 0, 80, 316, 0, 10, 15, 7, 3, 3, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 1, 3, 80, 316, 0, 10, 15, 7, 3, 3, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 1, 0, 80, 317, 0, 10, 15, 6, 3, 3, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 1, 3, 80, 317, 0, 10, 15, 6, 3, 3, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 1, 0, 0, -1, 0, 1, 0, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 3, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 3, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 3, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -3, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -3, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -3, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 3, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 26, 4, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 12, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2016, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2527, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1923, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1914, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1918, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2250, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 138, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 7, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -7, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 0, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 1, 0, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 1, 0, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 1, 3, 17, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1824, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2104, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2108, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2106, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1316, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -138, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 18, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 8, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 7, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -8, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -7, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 1, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 5, 85, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 5, 85, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 7, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 12, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 12, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 12, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 12, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 16, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 2, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 3, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 4, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 5, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 6, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 7, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 8, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 9, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 2, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 3, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 4, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 5, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 6, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 7, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 8, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 9, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 0, 80, 318, 0, 10, 15, 7, 3, 2, 0 }, + { 29, 0, 1, 0, 0, -1, 0, 1, 0, 80, 318, 14, 10, 15, 7, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 0, 80, 319, 0, 10, 15, 6, 3, 2, 0 }, + { 5, 10, 0, 0, 0, 0, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 2, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 3, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 6, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 7, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 8, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 9, 0, 6, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 1, 0, 0, -1, 0, 6, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 3, 0, 0, -1, 0, 6, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 1, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 7, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 6, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 8, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 9, 0, 0, -1, 0, 1, 3, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 1, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 1, 0, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 6, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 8, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 8, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 5, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 8, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 11, 0, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 7, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 11, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 11, 0, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 11, 0, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 11, 0, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 9, 0, 0, -1, 0, 11, 0, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 12, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 11, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 9, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 1, 3, 0, 0, 14, 0, 9, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 6, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 6, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 6, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 8, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 9, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 2, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 3, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 4, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 5, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 6, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 7, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 8, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, 9, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 8, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 8, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 8, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 8, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 9, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 9, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2, 13, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2, 13, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1316, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 6, 4, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 6, 4, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 10, 4, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 10, 4, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 10, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 10, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 4, 3, 0, 0, 0, 0, 15, 0, 1, 54, 0 }, + { 21, 10, 0, 0, 0, -1, 3, 6, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, 1, 6, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, -1, 6, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -3, 6, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1914, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1918, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1923, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1824, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2016, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 6, 3, 85, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2104, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2106, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2108, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2250, 6, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 10, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 11, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, -2527, 20, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 111, 0, 10, 15, 7, 3, 57, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 24, 3, 0, 111, 0, 10, 15, 7, 3, 57, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 112, 0, 10, 15, 6, 1, 57, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, 112, 0, 10, 15, 6, 1, 57, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 320, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 321, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 0, 322, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 323, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 324, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 325, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 326, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 327, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, 328, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 10, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, 329, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, 330, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 8, 3, 0, 6, 0, 10, 15, 7, 3, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 7, 0, 10, 15, 6, 1, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 6, 1, 46, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 46, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 11, 3, 0, 6, 0, 10, 15, 7, 3, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 11, 3, 0, 7, 0, 10, 15, 6, 1, 46, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 46, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, 6, 0, 10, 15, 7, 3, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, 7, 0, 10, 15, 6, 1, 46, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 9, 12, 1, 46, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 12, 1, 46, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 0, 1, 46, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 46, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 9, 0, 1, 46, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 8, 3, 0, 331, 0, 10, 15, 6, 1, 25, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, 331, 0, 10, 15, 6, 1, 25, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 58, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 58, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 8, 3, 80, 0, 0, 10, 15, 8, 3, 58, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 21, 0, 1, 58, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 58, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 23, 10, 0, 0, 0, -1, 1, 8, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 24, 10, 0, 0, 0, -1, -1, 8, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 0, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 23, 10, 0, 0, 0, -1, 1, 10, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 24, 10, 0, 0, 0, -1, -1, 10, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 9, 12, 1, 2, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 25, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 9, 12, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 24, 3, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 24, 3, 0, 0, 0, 0, 2, 13, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 0, 17, 0, 1, 37, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 5, 80, 0, 0, 0, 17, 0, 3, 37, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 0, 17, 0, 0, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 26, 5, 0, 0, 0, 0, 17, 0, 0, 2, 0 }, + { 6, 9, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 18, 21, 5, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 1, 11, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 1, 12, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 10, 8, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 8, 1, 2, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 5, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 5, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 8, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 0, 13, 1, 2, 0 }, + { 22, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 0, 17, 0, 218, 5, -1, 0, 1, 5, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 228, 5, -1, 0, 1, 5, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 232, 5, -1, 0, 1, 5, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 222, 5, -1, 0, 1, 5, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 1, 0, 0, 224, 0, -1, 0, 1, 5, 0, 0, 4, 4, 27, 4, 1, 26, 0 }, + { 20, 10, 1, 0, 0, -1, 0, 1, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 8, 17, 8, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 8, 27, 8, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 4, 5, 80, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 10, 8, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 10, 8, 8, 1, 2, 0 }, + { 25, 10, 1, 0, 0, -1, 0, 6, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 8, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 17, 0, 0, 0, 17, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 0, 8, 8, 1, 34, 0 }, + { 0, 17, 0, 8, 5, -1, 0, 1, 5, 204, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 8, 8, 0, 3, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 8, 8, 1, 34, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 17, 0, 0, 0, 8, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 5, 80, 0, 0, 0, 17, 8, 3, 34, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 8, 8, 0, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 8, 8, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 8, 17, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 17, 0, 0, 8, 17, 8, 1, 35, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 8, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 8, 8, 8, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 8, 8, 8, 1, 35, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 5, 17, 0, 0, 8, 8, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 5, 80, 0, 0, 8, 17, 8, 3, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 10, 17, 8, 3, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 10, 17, 8, 2, 26, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, 0, 0, 10, 17, 8, 1, 36, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 10, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 27, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 8, 8, 8, 1, 35, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 26, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 5, 80, 0, 0, 0, 17, 0, 3, 26, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 11, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 7, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 6, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 17, 0, 3, 26, 0 }, + { 29, 0, 1, 0, 0, -1, 0, 1, 5, 80, 0, 14, 0, 17, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 8, 17, 0, 3, 35, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 22, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 0, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 10, 17, 8, 1, 38, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 10, 8, 8, 1, 38, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 4, 5, 0, 0, 0, 0, 17, 0, 1, 38, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 0, 17, 0, 1, 38, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 83, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 83, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 83, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 12, 1, 83, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 70, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 70, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 0, 1, 70, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 9, 12, 1, 70, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 12, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 70, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 5, 0 }, + { 2, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 5, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 5, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 16, 3, 80, 0, 0, 10, 15, 6, 3, 5, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 84, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 84, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 84, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 84, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 12, 1, 84, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 84, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 17, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 10, 3, 0, 332, 0, 10, 15, 7, 3, 3, 0 }, + { 28, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 12, 3, 0, 333, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 12, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 12, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 13, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 334, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 13, 3, 0, 335, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 336, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 337, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 338, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 18, 3, 0, 339, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 340, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 341, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, 342, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, 343, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 17, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 20, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 21, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 24, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, 344, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, 345, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 21, 3, 0, 346, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 23, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 23, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, 347, 0, 10, 15, 7, 3, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, 6, 0, 10, 15, 7, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 27, 3, 0, 7, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 27, 3, 0, 348, 0, 10, 15, 7, 3, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 24, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 13, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 59, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 59, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 59, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 8, 4, 27, 4, 1, 59, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 59, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 59, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 4, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 18, 0, 0, 0, 2, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 65, 0 }, + { 18, 0, 0, 0, 4, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 65, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 65, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 24, 0, 1, 65, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 9, 12, 1, 65, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 8, 4, 27, 4, 1, 71, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 71, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 71, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 71, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 12, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 71, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 11, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 24, 0, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 11, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 11, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 14, 9, 1, 72, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 72, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 72, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 72, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 12, 1, 72, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 73, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 73, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 8, 4, 27, 4, 1, 73, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 73, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 73, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 85, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 8, 4, 27, 4, 1, 85, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 38, 8, 1, 85, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 85, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 11, 3, 0, 0, 4, 4, 41, 4, 1, 85, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 17, 0, 1, 85, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 85, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 12, 1, 85, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 21, 8, 1, 2, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 11, 3, 0, 0, 0, 16, 40, 9, 1, 85, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 44, 4, 1, 24, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 40, 8, 1, 77, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 10, 3, 0, 0, 4, 4, 27, 4, 1, 77, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 8, 4, 27, 4, 1, 77, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 21, 8, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 10, 3, 0, 0, 0, 16, 40, 9, 1, 77, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 17, 0, 1, 77, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 21, 12, 1, 77, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 24, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 0, 1, 24, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 4, 44, 4, 1, 24, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 79, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 11, 3, 0, 0, 4, 4, 44, 4, 1, 79, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 11, 3, 0, 0, 4, 4, 44, 4, 1, 79, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 8, 1, 79, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 44, 0, 1, 79, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 86, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 8, 4, 27, 4, 1, 86, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 86, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 21, 12, 1, 86, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 86, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 86, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 27, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 349, 0, 10, 15, 6, 1, 3, 0 }, + { 28, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 0, 1, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 16, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 6, 1, 4, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 23, 3, 80, 0, 0, 10, 15, 6, 3, 3, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 350, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 351, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 352, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 353, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 354, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 355, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 356, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 357, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 358, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 359, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 360, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 361, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 362, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 363, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 364, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 365, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 366, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 367, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 368, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 369, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 370, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 371, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 372, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 373, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 374, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 375, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 376, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 377, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 378, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 379, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 380, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 381, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 382, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 383, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 384, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 385, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 386, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 387, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 388, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 389, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 390, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 391, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 392, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 393, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 394, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 395, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 396, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 397, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 398, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 399, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 400, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 401, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 402, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 403, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 404, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 405, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 406, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 407, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 408, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 409, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 410, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 411, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 412, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 413, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 414, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 415, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 416, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 417, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 418, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 419, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 420, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 421, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 422, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 423, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 424, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 425, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 426, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 427, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 428, 0, 10, 15, 6, 3, 28, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 17, 3, 0, 429, 0, 10, 15, 6, 3, 28, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 86, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 8, 4, 27, 4, 1, 86, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 86, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 12, 1, 86, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 11, 3, 0, 0, 0, 16, 14, 9, 1, 86, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 2, 5, 17, 0, 12, 10, 29, 8, 1, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 2, 5, 17, 0, 13, 10, 30, 8, 1, 26, 0 }, + { 11, 0, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 45, 0, 0, 0, 0 }, + { 12, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 5, 85, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 5, 85, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 6, 5, 85, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 5, 85, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 13, 0, 0, 0, 0, -1, 0, 0, 5, 0, 0, 0, 0, 17, 0, 0, 0, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 5, 85, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 430, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 431, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 432, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 433, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 434, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 435, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 436, 0, 10, 15, 6, 3, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 437, 0, 10, 15, 6, 3, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 438, 0, 10, 15, 6, 3, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 439, 0, 10, 15, 6, 3, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 440, 0, 10, 15, 6, 3, 6, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 3, 80, 441, 0, 10, 15, 6, 3, 6, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 4, 3, 85, 0, 0, 9, 16, 8, 3, 7, 0 }, + { 0, 17, 0, 26, 5, -1, 0, 1, 3, 0, 0, 4, 4, 27, 4, 1, 7, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 1, 3, 85, 0, 0, 9, 16, 8, 3, 7, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 9, 16, 8, 3, 7, 0 }, + { 26, 3, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 0, 15, 0, 3, 7, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 1, 3, 80, 0, 0, 10, 15, 8, 3, 8, 0 }, + { 28, 13, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 22, 10, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 1, 13, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 13, 18, 0, 0, 0, -1, 0, 5, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 27, 13, 0, 0, 0, -1, 0, 6, 3, 80, 0, 0, 0, 13, 0, 3, 8, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 6, 0, 0, 0, 4, 4, 27, 4, 2, 1, 0 }, + { 0, 17, 16, 0, 5, -1, 0, 6, 0, 0, 0, 4, 4, 27, 4, 2, 1, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 1, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 1, 12, 0, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 14, 8, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 8, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 9, 12, 3, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 8, 5, 80, 0, 0, 0, 18, 0, 0, 2, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 1, 3, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 10, 3, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, 0, 4, 4, 7, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 17, 3, 0, 0, 4, 4, 7, 4, 1, 5, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 0, 2, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 11, 3, 2, 0 }, + { 19, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 17, 17, 0, 3, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 6, 5, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 0, 7, 5, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, 0, 7, 5, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 15, 1, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 11, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 13, 1, 10, 0, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 15, 8, 11, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 14, 8, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 9, 12, 3, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 5, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 5, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 26, 3, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 20, 3, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 11, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 1, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -1, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 12, 0, 3, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 5, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 6, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 1, 3, 0, 0, 3, 6, 28, 4, 2, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 9, 12, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 12, 0, 3, 2, 0 }, + { 25, 4, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 13, 17, 0, 3, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 1, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 1, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 26, 3, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 15, 1, 11, 3, 2, 0 }, + { 20, 3, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 11, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 13, 1, 10, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 0, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 1, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 2, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 3, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 4, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 5, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 6, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 7, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 8, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 9, 0, 1, 1, 80, 0, 0, 16, 17, 9, 3, 2, 0 }, + { 25, 6, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 14, 8, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 15, 8, 11, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 2, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, -2, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 1, 1, 80, 1, 0, 10, 17, 7, 3, 3, 0 }, + { 21, 10, 0, 0, 0, -1, 2, 1, 1, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -2, 1, 1, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 28, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 19, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 17, 17, 0, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 1, 1, 80, 2, 0, 10, 17, 6, 3, 3, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 6, 1, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 6, 1, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 0, 1, 12, 3, 2, 0 }, + { 21, 10, 0, 0, 0, -1, 1, 1, 2, 80, 0, 0, 0, 0, 13, 3, 2, 0 }, + { 22, 10, 0, 0, 0, -1, -1, 1, 2, 80, 0, 0, 0, 1, 13, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 0, 1, 11, 3, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 0, 8, 0, 3, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 8, 17, 8, 3, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 8, 8, 8, 3, 35, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 8, 8, 8, 3, 2, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 1, 2, 80, 0, 4, 4, 8, 4, 3, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 10, 17, 8, 2, 26, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 10, 17, 8, 3, 26, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 13, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 1, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 1, 2, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 10, 10, 0, 0, 5, -1, 0, 4, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 3, 3, 0, 0, 0, 0, 35, 0, 0, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 13, 18, 0, 0, 0, -1, 0, 1, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 49, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 21, 0, 1, 2, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 4, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 4, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 15, 0, 1, 4, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 74, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 75, 0 }, + { 5, 2, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 5, 3, 0, 0, 0, 10, 15, 8, 1, 39, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 39, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 5, 3, 0, 0, 0, 0, 15, 0, 1, 39, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 39, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 5, 3, 0, 0, 0, 10, 15, 8, 1, 40, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 5, 3, 0, 0, 0, 10, 15, 8, 1, 40, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 120, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 120, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 50, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 0, 21, 0, 1, 50, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 60, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 0, 1, 60, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 60, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 5, 3, 0, 442, 0, 10, 15, 7, 3, 41, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 7, 3, 0, 442, 0, 10, 15, 7, 3, 41, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 5, 3, 0, 443, 0, 10, 15, 6, 1, 41, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 7, 3, 0, 443, 0, 10, 15, 6, 1, 41, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 51, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 7, 3, 0, 0, 0, 16, 14, 9, 1, 52, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 18, 3, 0, 442, 0, 10, 15, 7, 3, 136, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 18, 3, 0, 443, 0, 10, 15, 6, 1, 136, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 106, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 103, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 103, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 24, 3, 0, 444, 0, 10, 15, 7, 3, 161, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 24, 3, 0, 445, 0, 10, 15, 6, 1, 161, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 169, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 17, 0, 0, 10, 15, 8, 1, 169, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 110, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 24, 3, 80, 0, 0, 10, 15, 8, 3, 3, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 7, 3, 0, 0, 0, 10, 15, 8, 1, 53, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 87, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 87, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 87, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 118, 0 }, + { 29, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 118, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 118, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 117, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 117, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 128, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 128, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 64, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 15, 0, 1, 64, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 64, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 21, 0, 1, 64, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 10, 15, 8, 1, 76, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 10, 3, 0, 0, 0, 0, 15, 0, 1, 76, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 98, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 97, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 97, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 10, 15, 8, 1, 61, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 61, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 61, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 61, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 61, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 61, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 61, 0 }, + { 5, 1, 0, 0, 0, 1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 5, 1, 0, 0, 0, 2, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 5, 1, 0, 0, 0, 3, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 5, 1, 0, 0, 0, 4, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 0, 1, 61, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 21, 12, 1, 61, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 8, 3, 0, 0, 0, 0, 15, 0, 1, 61, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 88, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 88, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 88, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 116, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 116, 0 }, + { 18, 1, 0, 0, 2, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 112, 0 }, + { 18, 1, 0, 0, 3, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 112, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 112, 0 }, + { 29, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 112, 0 }, + { 18, 1, 0, 0, 4, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 112, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 112, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 112, 0 }, + { 5, 1, 0, 0, 2, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 112, 0 }, + { 5, 1, 0, 0, 3, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 112, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 0, 1, 112, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 18, 0, 1, 112, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 80, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 0, 1, 80, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 89, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 89, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 90, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 90, 0 }, + { 18, 1, 0, 0, 2, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 121, 0 }, + { 18, 1, 0, 0, 3, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 121, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 121, 0 }, + { 5, 1, 0, 0, 3, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 121, 0 }, + { 5, 1, 0, 0, 2, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 121, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 121, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 91, 0 }, + { 14, 1, 0, 0, 0, -1, 0, 17, 3, 0, 85, 0, 10, 15, 7, 3, 130, 0 }, + { 15, 1, 0, 0, 0, -1, 0, 17, 3, 0, 92, 0, 10, 15, 6, 1, 130, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 130, 0 }, + { 18, 13, 0, 0, 4, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 144, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 144, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 144, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 0, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 1, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 2, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 3, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 4, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 5, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 6, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 7, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 8, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 9, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 144, 0 }, + { 3, 5, 0, 0, 0, 0, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 1, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 2, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 3, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 4, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 5, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 6, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 7, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 8, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 3, 5, 0, 0, 0, 9, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 164, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 164, 0 }, + { 17, 1, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 164, 0 }, + { 14, 1, 0, 0, 0, -1, 0, 27, 3, 0, 1, 0, 10, 15, 7, 3, 164, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 164, 0 }, + { 20, 10, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 21, 0, 1, 164, 0 }, + { 15, 1, 0, 0, 0, -1, 0, 27, 3, 0, 2, 0, 10, 15, 6, 1, 164, 0 }, + { 26, 1, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 15, 0, 1, 164, 0 }, + { 5, 5, 0, 0, 0, 1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 2, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 3, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 4, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 5, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 6, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 7, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 8, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, 9, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 5, 5, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 156, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 156, 0 }, + { 20, 1, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 21, 0, 1, 156, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 8, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 8, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 147, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 147, 0 }, + { 18, 13, 0, 0, 2, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 148, 0 }, + { 18, 13, 0, 0, 3, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 148, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 148, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 148, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 148, 0 }, + { 5, 13, 0, 0, 2, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 148, 0 }, + { 5, 13, 0, 0, 3, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 148, 0 }, + { 25, 13, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 12, 1, 148, 0 }, + { 18, 1, 0, 0, 2, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 158, 0 }, + { 18, 1, 0, 0, 3, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 158, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 158, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 158, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 12, 1, 158, 0 }, + { 18, 1, 0, 0, 2, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 153, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 153, 0 }, + { 18, 1, 0, 0, 3, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 153, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 153, 0 }, + { 5, 1, 0, 0, 3, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 153, 0 }, + { 5, 1, 0, 0, 2, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 153, 0 }, + { 5, 1, 0, 0, 4, -1, 0, 23, 3, 0, 0, 0, 0, 15, 0, 1, 153, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 149, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 8, 4, 27, 4, 1, 94, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 12, 3, 0, 0, 4, 4, 27, 4, 1, 94, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 39, 8, 1, 94, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 38, 8, 1, 94, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 12, 3, 0, 0, 4, 4, 41, 4, 1, 94, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 21, 12, 1, 94, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 1, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 2, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 3, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 4, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 5, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 6, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 7, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 8, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, 9, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 17, 0, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 12, 3, 0, 0, 0, 16, 40, 9, 1, 94, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 94, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 38, 8, 1, 94, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 94, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, 0, 4, 4, 7, 4, 1, 94, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 92, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 8, 4, 27, 4, 1, 92, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 92, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 17, 0, 0, 10, 15, 8, 1, 92, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 11, 3, 0, 0, 4, 4, 27, 4, 1, 92, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 11, 3, 204, 0, 4, 4, 27, 4, 1, 92, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 15, 0, 1, 92, 0 }, + { 10, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 7, 16, 14, 9, 0, 92, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 0, 21, 12, 1, 92, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 92, 0 }, + { 10, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 7, 16, 14, 9, 0, 92, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 101, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 96, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 96, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 204, 0, 4, 4, 27, 4, 1, 96, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 96, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 8, 4, 27, 4, 1, 96, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 17, 0, 4, 4, 27, 4, 1, 96, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 96, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 21, 0, 1, 96, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 21, 12, 1, 96, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 96, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 8, 4, 27, 4, 1, 96, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 96, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 111, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 111, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 111, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 24, 0, 1, 111, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 100, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 8, 4, 27, 4, 1, 100, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 100, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 100, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 7, 10, 15, 8, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 21, 12, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 15, 0, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 21, 0, 1, 100, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 100, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 12, 1, 100, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 8, 4, 27, 4, 1, 100, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 100, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 24, 0, 1, 100, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 0, 1, 100, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 12, 1, 100, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 20, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 109, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 8, 4, 27, 4, 1, 109, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 109, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 109, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 109, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 109, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 109, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 109, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 15, 8, 1, 109, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 109, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 129, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 12, 1, 129, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 123, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 123, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 8, 4, 27, 4, 1, 123, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 123, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 123, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 107, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 107, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 8, 4, 27, 4, 1, 107, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 38, 8, 1, 107, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 107, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 21, 8, 1, 107, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 204, 0, 4, 4, 27, 4, 1, 107, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 17, 0, 8, 4, 27, 4, 1, 107, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 16, 3, 0, 0, 4, 4, 41, 4, 1, 107, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 40, 8, 1, 107, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 40, 8, 1, 107, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 107, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 40, 8, 1, 170, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 17, 0, 0, 10, 40, 8, 1, 170, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 38, 8, 1, 170, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 17, 8, 1, 170, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 27, 3, 204, 0, 4, 4, 27, 4, 1, 170, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 8, 4, 27, 4, 1, 170, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 204, 0, 4, 4, 27, 4, 1, 170, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 170, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 27, 3, 221, 0, 4, 4, 27, 4, 1, 170, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 170, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 170, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 27, 3, 0, 0, 4, 4, 41, 4, 1, 170, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 7, 10, 39, 8, 1, 170, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 17, 12, 1, 170, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 17, 0, 1, 170, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 135, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 8, 4, 27, 4, 1, 135, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 135, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 135, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 135, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 21, 12, 1, 135, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 21, 0, 1, 135, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 15, 0, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 135, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 21, 0, 1, 135, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 135, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 135, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 135, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 124, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 204, 0, 4, 4, 27, 4, 1, 124, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 8, 4, 27, 4, 1, 124, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 124, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 204, 0, 4, 4, 27, 4, 1, 124, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 17, 0, 8, 4, 27, 4, 1, 124, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 124, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 124, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 124, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 122, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 204, 0, 4, 4, 27, 4, 1, 122, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 8, 4, 27, 4, 1, 122, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 122, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 17, 0, 8, 4, 27, 4, 1, 122, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 122, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 122, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 24, 0, 1, 122, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 122, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 9, 0, 1, 122, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 122, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 12, 1, 122, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 122, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 122, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 114, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 8, 4, 27, 4, 1, 114, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 114, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 114, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 114, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 114, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 24, 0, 1, 33, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 102, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 102, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 8, 4, 27, 4, 1, 102, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 102, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 102, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 102, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 0, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 13, 3, 0, 0, 0, 16, 14, 9, 1, 102, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 24, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 44, 8, 1, 126, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 44, 8, 1, 126, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, 0, 4, 4, 44, 4, 1, 126, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 8, 4, 44, 4, 1, 126, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 4, 44, 4, 1, 126, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 17, 3, 0, 0, 4, 4, 44, 4, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 17, 3, 0, 0, 0, 16, 14, 9, 1, 126, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 44, 0, 1, 126, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 12, 1, 126, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 44, 0, 1, 126, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 44, 8, 1, 126, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 142, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 8, 4, 27, 4, 1, 142, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 142, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 142, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 142, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 142, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 16, 3, 0, 1, 0, 10, 15, 7, 3, 125, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 16, 3, 0, 2, 0, 10, 15, 6, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 125, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 125, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 125, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 38, 8, 1, 154, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 23, 3, 204, 0, 4, 4, 27, 4, 1, 154, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 8, 4, 27, 4, 1, 154, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 23, 3, 17, 0, 8, 4, 27, 4, 1, 154, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 154, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 154, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 23, 3, 0, 0, 4, 4, 41, 4, 1, 154, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 7, 10, 39, 8, 1, 154, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 23, 3, 0, 0, 4, 4, 27, 4, 1, 154, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 21, 12, 1, 154, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 0, 21, 0, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 23, 3, 0, 0, 0, 16, 40, 9, 1, 154, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 150, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 8, 4, 27, 4, 1, 150, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 21, 3, 0, 0, 4, 4, 27, 4, 1, 150, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 21, 3, 0, 0, 4, 4, 27, 4, 1, 150, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 24, 0, 1, 150, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 141, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 141, 0 }, + { 0, 0, 0, 0, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 141, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 141, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 8, 4, 27, 4, 1, 141, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 7, 10, 15, 8, 1, 141, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 24, 0, 1, 141, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 15, 0, 1, 141, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 21, 0, 1, 141, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 21, 12, 1, 141, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 140, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 140, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 8, 4, 27, 4, 1, 140, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 7, 10, 15, 8, 1, 140, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 7, 10, 15, 8, 1, 140, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 140, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 21, 0, 1, 140, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 21, 12, 1, 140, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 140, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 0, 24, 0, 1, 140, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 29, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 119, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 0, 24, 0, 1, 11, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 168, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 15, 0, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 168, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 133, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 8, 4, 27, 4, 1, 133, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 133, 0 }, + { 0, 0, 0, 9, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 133, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 21, 12, 1, 133, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 21, 0, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 133, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 15, 0, 1, 133, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 24, 0, 1, 134, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 9, 0, 1, 134, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 10, 15, 8, 1, 134, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 134, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 18, 3, 0, 0, 8, 4, 27, 4, 1, 134, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 0, 10, 15, 8, 1, 138, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 138, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 138, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 19, 3, 0, 0, 4, 4, 27, 4, 1, 138, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 3, 0, 0, 7, 10, 15, 8, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 19, 3, 0, 0, 0, 16, 14, 9, 1, 138, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 15, 8, 1, 143, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 8, 4, 27, 4, 1, 143, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 143, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 20, 3, 0, 0, 0, 16, 14, 9, 1, 143, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 40, 8, 1, 145, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 10, 21, 8, 1, 145, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 20, 3, 0, 0, 4, 4, 27, 4, 1, 145, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 8, 4, 27, 4, 1, 145, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 21, 12, 1, 145, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 162, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 7, 10, 39, 8, 1, 162, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 8, 4, 27, 4, 1, 162, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 38, 8, 1, 162, 0 }, + { 1, 0, 0, 9, 0, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 162, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 25, 3, 0, 0, 4, 4, 41, 4, 1, 162, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 0, 21, 12, 1, 162, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 0, 17, 0, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 25, 3, 0, 0, 0, 16, 40, 9, 1, 162, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 162, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 3, 0, 0, 0, 10, 15, 8, 1, 83, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 15, 0, 1, 16, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 15, 0, 1, 16, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 13, 0, 1, 16, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 21, 0, 1, 16, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 63, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 63, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 63, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 10, 15, 8, 1, 63, 0 }, + { 4, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 63, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 9, 3, 0, 0, 0, 0, 21, 0, 1, 63, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 0, 1, 63, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 157, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 0, 1, 157, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 15, 8, 1, 81, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 0, 8, 1, 81, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 11, 3, 0, 0, 0, 10, 1, 8, 1, 81, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 0, 8, 1, 81, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 21, 3, 0, 0, 3, 6, 7, 4, 0, 81, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 21, 3, 0, 0, 3, 6, 0, 4, 0, 81, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 21, 3, 0, 0, 3, 6, 1, 4, 0, 81, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 25, 3, 0, 0, 3, 6, 7, 4, 0, 81, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 25, 3, 0, 0, 3, 6, 0, 4, 0, 81, 0 }, + { 10, 0, 0, 0, 5, -1, 0, 25, 3, 0, 0, 3, 6, 1, 4, 0, 81, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 81, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 15, 8, 1, 81, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 81, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 15, 8, 1, 127, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 0, 8, 1, 127, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 10, 1, 8, 1, 127, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 40, 8, 1, 165, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 204, 0, 4, 4, 27, 4, 1, 165, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 221, 0, 4, 4, 27, 4, 1, 165, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 8, 4, 27, 4, 1, 165, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 165, 0 }, + { 0, 17, 0, 9, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, 0, 0, 16, 40, 9, 1, 165, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 10, 15, 8, 1, 84, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 115, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 115, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 24, 3, 0, 0, 0, 16, 14, 9, 1, 159, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 104, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 104, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 104, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 108, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 108, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 108, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 0, 1, 108, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 108, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 108, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 16, 3, 0, 0, 0, 16, 14, 9, 1, 108, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 108, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 166, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 166, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 10, 10, 15, 8, 1, 166, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 204, 0, 10, 10, 15, 8, 1, 166, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 221, 0, 10, 10, 15, 8, 1, 166, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 17, 0, 10, 10, 15, 8, 1, 166, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 15, 0, 1, 166, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 21, 12, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 166, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 20, 3, 0, 1, 0, 10, 15, 7, 3, 146, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 20, 3, 0, 2, 0, 10, 15, 6, 1, 146, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 146, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 21, 0, 1, 146, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 21, 12, 1, 146, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 146, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 99, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 99, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 21, 3, 0, 0, 4, 4, 27, 4, 1, 99, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 8, 4, 27, 4, 1, 99, 0 }, + { 1, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 8, 4, 27, 4, 1, 99, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 13, 3, 0, 0, 4, 4, 27, 4, 1, 99, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 10, 15, 8, 1, 99, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 18, 5, 0, 0, 0, 10, 8, 8, 1, 137, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 19, 5, 0, 0, 0, 10, 8, 8, 1, 139, 0 }, + { 25, 10, 0, 0, 0, -1, 0, 21, 5, 0, 0, 0, 0, 8, 0, 1, 37, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 21, 5, 0, 0, 0, 10, 8, 8, 1, 37, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 23, 5, 0, 0, 4, 4, 7, 4, 1, 155, 0 }, + { 1, 0, 0, 6, 0, -1, 0, 23, 5, 0, 0, 4, 4, 27, 4, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 18, 5, 0, 0, 0, 0, 17, 8, 1, 137, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 20, 5, 0, 0, 0, 0, 17, 8, 1, 137, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 5, 0, 0, 0, 0, 17, 8, 1, 137, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, 0, 0, 0, 17, 8, 1, 137, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 23, 5, 0, 0, 0, 0, 15, 8, 1, 155, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 5, 0, 0, 0, 0, 15, 8, 1, 155, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 24, 5, 0, 0, 0, 8, 15, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, 0, 0, 8, 17, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, 0, 0, 0, 17, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, 0, 0, 0, 17, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 5, 0, 0, 0, 0, 17, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 5, 0, 0, 0, 8, 17, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 5, 0, 0, 0, 0, 8, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 5, 0, 0, 0, 0, 8, 8, 1, 34, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 5, 0, 0, 0, 8, 8, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 5, 0, 0, 0, 8, 8, 8, 1, 35, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 19, 5, 0, 0, 0, 0, 17, 8, 1, 139, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 105, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 105, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 105, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 105, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 21, 12, 1, 105, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 16, 3, 0, 0, 3, 6, 27, 4, 2, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 27, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 0, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 1, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 2, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 3, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 4, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 5, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 6, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 7, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 8, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 9, 0, 27, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 5, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 5, 3, 85, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 1, 0, 0, 216, 0, -1, 0, 5, 3, 0, 0, 4, 4, 27, 4, 1, 2, 0 }, + { 0, 17, 0, 1, 5, -1, 0, 5, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 1, 0, 0, 226, 0, -1, 0, 5, 3, 0, 0, 4, 4, 27, 4, 1, 2, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 5, 3, 0, 0, 3, 6, 27, 4, 2, 2, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 5, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 5, 3, 0, 0, 4, 4, 27, 4, 1, 1, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 8, 3, 0, 0, 4, 4, 27, 4, 1, 4, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 9, 5, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 5, 0, 0, 0, 0, -1, 0, 20, 5, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 5, 3, 80, 0, 0, 10, 15, 7, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 5, 3, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 7, 3, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 5, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 14, 0, 0, 0, 0, -1, 0, 9, 3, 80, 0, 0, 10, 15, 7, 3, 2, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 9, 3, 80, 0, 0, 10, 15, 6, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 0, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 1, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 2, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 3, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 4, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 5, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 6, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 7, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 8, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 9, 0, 5, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 131, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 17, 3, 0, 0, 4, 4, 27, 4, 1, 131, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 0, 1, 131, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 21, 12, 1, 131, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 17, 3, 0, 0, 0, 0, 15, 0, 1, 131, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 3, 0 }, + { 15, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 15, 6, 1, 3, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 57, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 25, 3, 80, 0, 0, 10, 15, 6, 3, 5, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 5, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 151, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 21, 3, 0, 0, 4, 4, 27, 4, 1, 151, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 151, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 15, 0, 1, 151, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 160, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 24, 3, 0, 0, 4, 4, 27, 4, 1, 160, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 152, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 21, 3, 0, 0, 4, 4, 27, 4, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 21, 3, 0, 0, 0, 16, 14, 9, 1, 152, 0 }, + { 27, 4, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 12, 0, 1, 152, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 15, 8, 1, 163, 0 }, + { 17, 0, 0, 0, 0, -1, 0, 25, 3, 0, 0, 0, 10, 15, 8, 1, 163, 0 }, + { 0, 17, 0, 232, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 163, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 163, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 25, 3, 0, 0, 4, 4, 27, 4, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 25, 3, 0, 0, 0, 16, 14, 9, 1, 163, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 10, 15, 8, 1, 167, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 167, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 27, 3, 0, 0, 4, 4, 27, 4, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 1, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 2, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 3, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 4, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 5, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 6, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 7, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 8, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 3, 0, 0, 0, 0, 9, 0, 27, 3, 0, 0, 0, 16, 14, 9, 1, 167, 0 }, + { 25, 0, 0, 0, 0, -1, 0, 27, 3, 0, 0, 0, 0, 15, 0, 1, 167, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 24, 3, 0, 0, 0, 10, 15, 8, 1, 27, 0 }, + { 18, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 10, 15, 8, 1, 113, 0 }, + { 5, 1, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 113, 0 }, + { 0, 17, 0, 220, 5, -1, 0, 16, 3, 0, 0, 4, 4, 27, 4, 1, 113, 0 }, + { 14, 1, 0, 0, 2, -1, 0, 18, 3, 0, 446, 0, 10, 15, 7, 3, 132, 0 }, + { 15, 1, 0, 0, 2, -1, 0, 18, 3, 0, 447, 0, 10, 15, 6, 1, 132, 0 }, + { 0, 17, 0, 230, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 132, 0 }, + { 0, 17, 0, 7, 5, -1, 0, 18, 3, 0, 0, 4, 4, 27, 4, 1, 132, 0 }, + { 17, 1, 0, 0, 5, -1, 0, 21, 3, 0, 0, 0, 10, 15, 8, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 0, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 1, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 2, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 3, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 4, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 5, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 6, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 7, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 8, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 3, 1, 0, 0, 0, 9, 0, 18, 3, 0, 0, 0, 16, 14, 9, 1, 132, 0 }, + { 25, 1, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 0, 0, 1, 132, 0 }, + { 5, 13, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 13, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 27, 13, 0, 0, 0, -1, 0, 20, 3, 0, 0, 0, 0, 13, 0, 1, 2, 0 }, + { 5, 13, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 13, 0, 0, 0, -1, 0, 21, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 18, 13, 0, 0, 0, -1, 0, 13, 3, 80, 0, 0, 10, 15, 8, 3, 8, 0 }, + { 26, 10, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 15, 0, 1, 8, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 10, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 13, 0, 0, 0, 0, -1, 0, 0, 3, 0, 0, 14, 0, 17, 0, 0, 0, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 5, 2, 0, 0, 0, 0, 0, 11, 0, 80, 0, 0, 0, 15, 0, 0, 2, 0 }, + { 5, 2, 0, 0, 0, 0, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 1, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 2, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 3, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 4, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 5, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 6, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 7, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 8, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 2, 0, 0, 0, 9, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 5, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 23, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 20, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 12, 0, 80, 0, 0, 10, 15, 7, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 0, 80, 0, 0, 10, 15, 7, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 12, 0, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 12, 0, 0, 0, 0, 10, 15, 7, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 0, 0, 0, 0, 10, 15, 7, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 13, 3, 80, 0, 0, 0, 15, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 21, 3, 80, 0, 14, 0, 15, 0, 3, 2, 0 }, + { 29, 0, 1, 0, 0, -1, 0, 12, 0, 0, 0, 14, 10, 15, 7, 1, 2, 0 }, + { 29, 0, 1, 0, 0, -1, 0, 11, 0, 0, 0, 14, 10, 15, 7, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 3, 0, 0, -1, 0, 12, 5, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 12, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 18, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 0, 19, 0, 0, -1, 0, 12, 3, 0, 0, 6, 7, 34, 0, 1, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 11, 5, 80, 0, 0, 0, 17, 0, 3, 34, 0 }, + { 29, 0, 3, 0, 0, -1, 0, 12, 5, 80, 0, 14, 0, 17, 0, 3, 2, 0 }, + { 29, 0, 1, 0, 0, -1, 0, 12, 5, 80, 0, 14, 0, 17, 0, 3, 2, 0 }, + { 29, 0, 3, 0, 0, -1, 0, 11, 5, 80, 0, 14, 0, 17, 0, 3, 2, 0 }, + { 29, 0, 0, 0, 0, -1, 0, 18, 5, 80, 0, 0, 0, 17, 0, 3, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 19, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 1, 0, 0, -1, 0, 16, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 17, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 16, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 9, 0, 0, -1, 0, 16, 3, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 28, 10, 23, 0, 0, -1, 0, 17, 5, 0, 0, 4, 4, 37, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 13, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 17, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 18, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 16, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 18, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 13, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 3, 13, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 16, 3, 0, 0, 0, 0, 8, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 19, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 21, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 23, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 25, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 24, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 19, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 20, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 12, 3, 0, 0, 0, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 25, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 20, 3, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 13, 0, 0, 0, 0, -1, 0, 0, 3, 0, 0, 14, 0, 15, 0, 0, 0, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 27, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 23, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 21, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 17, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 19, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 18, 3, 0, 0, 0, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 19, 0, 0, -1, 0, 20, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 20, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 0, 0, 0, -1, 0, 21, 3, 0, 0, 14, 0, 15, 0, 1, 2, 0 }, + { 29, 10, 3, 0, 0, -1, 0, 27, 5, 0, 0, 14, 0, 17, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 24, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 29, 10, 11, 0, 0, -1, 0, 25, 5, 0, 0, 14, 0, 36, 0, 1, 2, 0 }, + { 3, 2, 0, 0, 0, 0, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 1, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 2, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 3, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 4, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 5, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 6, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 7, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 8, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 3, 2, 0, 0, 0, 9, 0, 23, 3, 80, 0, 0, 16, 14, 9, 3, 2, 0 }, + { 13, 18, 0, 0, 0, -1, 0, 2, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 5, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 25, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 12, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 26, 5, 0, 0, 0, 0, 17, 8, 1, 37, 0 }, + { 18, 0, 0, 0, 0, -1, 0, 5, 5, 85, 0, 0, 0, 17, 8, 3, 37, 0 }, + { 10, 18, 0, 0, 5, -1, 0, 5, 3, 0, 0, 3, 6, 27, 4, 0, 2, 0 }, + { 10, 18, 16, 0, 5, -1, 0, 5, 3, 0, 0, 4, 4, 27, 4, 0, 2, 0 }, + { 0, 17, 0, 0, 5, -1, 0, 7, 0, 0, 0, 4, 4, 27, 4, 2, 1, 0 }, + { 12, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0 } }; Q_DECL_CONST_FUNCTION static Q_ALWAYS_INLINE @@ -10852,7 +11303,7 @@ const Properties * QT_FASTCALL properties(char32_t ucs4) noexcept QSpan<const CaseConversion, NumCases> QT_FASTCALL caseConversion(char32_t ucs4) noexcept { - return qGetProp(ucs4)->cases; + return caseConversions[qGetProp(ucs4)->caseIndex]; } Q_CORE_EXPORT GraphemeBreakClass QT_FASTCALL graphemeBreakClass(char32_t ucs4) noexcept diff --git a/src/corelib/text/qunicodetables_p.h b/src/corelib/text/qunicodetables_p.h index ac624dba789..8ba9e41437b 100644 --- a/src/corelib/text/qunicodetables_p.h +++ b/src/corelib/text/qunicodetables_p.h @@ -57,13 +57,14 @@ struct Properties { ushort unicodeVersion : 5; /* 5 used */ ushort eastAsianWidth : 3; /* 3 used */ ushort nfQuickCheck : 8; - std::array<CaseConversion, NumCases> cases; + ushort caseIndex : 16; /* 9 used */ ushort graphemeBreakClass : 5; /* 5 used */ ushort wordBreakClass : 5; /* 5 used */ ushort lineBreakClass : 6; /* 6 used */ ushort sentenceBreakClass : 4; /* 4 used */ ushort idnaStatus : 4; /* 3 used */ ushort script : 8; + ushort reserved : 16; /* makes sizeof a nice round 16 bytes */ }; Q_DECL_CONST_FUNCTION @@ -72,7 +73,7 @@ Q_CORE_EXPORT const Properties * QT_FASTCALL properties(char32_t ucs4) noexcept; Q_DECL_CONST_FUNCTION Q_CORE_EXPORT QSpan<const CaseConversion, NumCases> QT_FASTCALL caseConversion(char32_t ucs4) noexcept; -static_assert(sizeof(Properties) == 20); +static_assert(sizeof(Properties) == 16); enum class EastAsianWidth : unsigned int { A, diff --git a/src/corelib/text/qunicodetools.cpp b/src/corelib/text/qunicodetools.cpp index 14c611bdb5b..c0cb43a0685 100644 --- a/src/corelib/text/qunicodetools.cpp +++ b/src/corelib/text/qunicodetools.cpp @@ -248,7 +248,7 @@ static void getWordBreaks(const char16_t *string, qsizetype len, QCharAttributes auto real_cls = cls; // Unaffected by WB4 for (qsizetype i = 0; i != len; ++i) { - qsizetype pos = i; + const qsizetype pos = i; char32_t ucs4 = string[i]; if (QChar::isHighSurrogate(ucs4) && i + 1 != len) { ushort low = string[i + 1]; @@ -258,7 +258,7 @@ static void getWordBreaks(const char16_t *string, qsizetype len, QCharAttributes } } - const QUnicodeTables::Properties *prop = QUnicodeTables::properties(ucs4); + const auto prop = QUnicodeTables::properties(ucs4); QUnicodeTables::WordBreakClass ncls = (QUnicodeTables::WordBreakClass) prop->wordBreakClass; if (qt_initcharattributes_default_algorithm_only) { // as of Unicode 5.1, some punctuation marks were mapped to MidLetter and MidNumLet @@ -300,7 +300,7 @@ static void getWordBreaks(const char16_t *string, qsizetype len, QCharAttributes case WB::Lookup: case WB::LookupW: for (qsizetype lookahead = i + 1; lookahead < len; ++lookahead) { - ucs4 = string[lookahead]; + char32_t ucs4 = string[lookahead]; if (QChar::isHighSurrogate(ucs4) && lookahead + 1 != len) { ushort low = string[lookahead + 1]; if (QChar::isLowSurrogate(low)) { @@ -309,7 +309,7 @@ static void getWordBreaks(const char16_t *string, qsizetype len, QCharAttributes } } - prop = QUnicodeTables::properties(ucs4); + const auto prop = QUnicodeTables::properties(ucs4); QUnicodeTables::WordBreakClass tcls = (QUnicodeTables::WordBreakClass) prop->wordBreakClass; if (Q_UNLIKELY(tcls == QUnicodeTables::WordBreak_Extend || tcls == QUnicodeTables::WordBreak_ZWJ || tcls == QUnicodeTables::WordBreak_Format)) { @@ -407,7 +407,7 @@ static void getSentenceBreaks(const char16_t *string, qsizetype len, QCharAttrib { uchar state = SB::BAfter; // to meet SB1 for (qsizetype i = 0; i != len; ++i) { - qsizetype pos = i; + const qsizetype pos = i; char32_t ucs4 = string[i]; if (QChar::isHighSurrogate(ucs4) && i + 1 != len) { ushort low = string[i + 1]; @@ -417,7 +417,7 @@ static void getSentenceBreaks(const char16_t *string, qsizetype len, QCharAttrib } } - const QUnicodeTables::Properties *prop = QUnicodeTables::properties(ucs4); + const auto prop = QUnicodeTables::properties(ucs4); QUnicodeTables::SentenceBreakClass ncls = (QUnicodeTables::SentenceBreakClass) prop->sentenceBreakClass; Q_ASSERT(state <= SB::BAfter); @@ -425,7 +425,7 @@ static void getSentenceBreaks(const char16_t *string, qsizetype len, QCharAttrib if (Q_UNLIKELY(state == SB::Lookup)) { // SB8 state = SB::Break; for (qsizetype lookahead = i + 1; lookahead < len; ++lookahead) { - ucs4 = string[lookahead]; + char32_t ucs4 = string[lookahead]; if (QChar::isHighSurrogate(ucs4) && lookahead + 1 != len) { ushort low = string[lookahead + 1]; if (QChar::isLowSurrogate(low)) { @@ -434,7 +434,7 @@ static void getSentenceBreaks(const char16_t *string, qsizetype len, QCharAttrib } } - prop = QUnicodeTables::properties(ucs4); + const auto prop = QUnicodeTables::properties(ucs4); QUnicodeTables::SentenceBreakClass tcls = (QUnicodeTables::SentenceBreakClass) prop->sentenceBreakClass; switch (tcls) { case QUnicodeTables::SentenceBreak_Any: @@ -781,8 +781,7 @@ static void getLineBreaks(const char16_t *string, qsizetype len, QCharAttributes if (QChar::isLowSurrogate(low)) c = QChar::surrogateToUcs4(c, low); } - nncls = QUnicodeTables::LineBreakClass( - QUnicodeTables::properties(c)->lineBreakClass); + nncls = QUnicodeTables::lineBreakClass(c); } constexpr QUnicodeTables::LineBreakClass lb15b[] = { @@ -879,8 +878,7 @@ static void getLineBreaks(const char16_t *string, qsizetype len, QCharAttributes if (QChar::isLowSurrogate(low)) ch = QChar::surrogateToUcs4(ch, low); } - if (QUnicodeTables::properties(ch)->lineBreakClass - == QUnicodeTables::LineBreak_NU) { + if (QUnicodeTables::lineBreakClass(ch) == QUnicodeTables::LineBreak_NU) { attributes[pos].lineBreak = true; goto next; } @@ -1124,6 +1122,7 @@ static void getLineBreaks(const char16_t *string, qsizetype len, QCharAttributes static void getWhiteSpaces(const char16_t *string, qsizetype len, QCharAttributes *attributes) { for (qsizetype i = 0; i != len; ++i) { + const auto pos = i; uint ucs4 = string[i]; if (QChar::isHighSurrogate(ucs4) && i + 1 != len) { ushort low = string[i + 1]; @@ -1134,7 +1133,7 @@ static void getWhiteSpaces(const char16_t *string, qsizetype len, QCharAttribute } if (Q_UNLIKELY(QChar::isSpace(ucs4))) - attributes[i].whiteSpace = true; + attributes[pos].whiteSpace = true; } } @@ -2820,10 +2819,10 @@ Q_CORE_EXPORT void initCharAttributes(QStringView string, Q_CORE_EXPORT void initScripts(QStringView string, ScriptItemArray *scripts) { qsizetype sor = 0; - qsizetype eor = 0; QChar::Script script = QChar::Script_Common; - for (qsizetype i = 0; i < string.size(); ++i, eor = i) { + for (qsizetype i = 0; i < string.size(); ++i) { + const auto eor = i; char32_t ucs4 = string[i].unicode(); if (QChar::isHighSurrogate(ucs4) && i + 1 < string.size()) { ushort low = string[i + 1].unicode(); @@ -2864,7 +2863,6 @@ Q_CORE_EXPORT void initScripts(QStringView string, ScriptItemArray *scripts) } Q_ASSERT(script >= QChar::Script_Common); - Q_ASSERT(eor == string.size()); scripts->append(ScriptItem{sor, script}); } diff --git a/src/corelib/thread/qatomic.cpp b/src/corelib/thread/qatomic.cpp index d0e61a1cf6c..bcb92b384ae 100644 --- a/src/corelib/thread/qatomic.cpp +++ b/src/corelib/thread/qatomic.cpp @@ -316,6 +316,19 @@ */ /*! + \fn template <typename T> void QAtomicInteger<T>::refRelaxed() + \internal + Atomically increments the value of this QAtomicInteger. + + In contrast to ref(), this uses relaxed semantics, which is + all that is needed for reference counting (together with deref's + acquire-release semantics). + It also doesn't return anything. + + \sa deref(), operator++() +*/ + +/*! \fn template <typename T> T QAtomicInteger<T>::operator++() \since 5.3 diff --git a/src/corelib/thread/qatomic.h b/src/corelib/thread/qatomic.h index 4fa4fcd2ff5..2e629735128 100644 --- a/src/corelib/thread/qatomic.h +++ b/src/corelib/thread/qatomic.h @@ -46,6 +46,7 @@ public: static constexpr bool isReferenceCountingWaitFree(); bool ref(); + void refRelaxed(); bool deref(); static constexpr bool isTestAndSetNative(); diff --git a/src/corelib/thread/qbasicatomic.h b/src/corelib/thread/qbasicatomic.h index 43337648053..49e686a9de8 100644 --- a/src/corelib/thread/qbasicatomic.h +++ b/src/corelib/thread/qbasicatomic.h @@ -46,6 +46,7 @@ public: static constexpr bool isReferenceCountingWaitFree() noexcept { return Ops::isReferenceCountingWaitFree(); } bool ref() noexcept { return Ops::ref(_q_value); } + void refRelaxed() noexcept { Ops::fetchAndAddRelaxed(_q_value, 1); } bool deref() noexcept { return Ops::deref(_q_value); } static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } diff --git a/src/corelib/thread/qsemaphore.cpp b/src/corelib/thread/qsemaphore.cpp index 0de30d3b9f9..a308c4419e2 100644 --- a/src/corelib/thread/qsemaphore.cpp +++ b/src/corelib/thread/qsemaphore.cpp @@ -12,6 +12,9 @@ #include "qwaitcondition_p.h" #include <chrono> +#if !QT_CONFIG(thread) +#include <limits> +#endif QT_BEGIN_NAMESPACE @@ -684,7 +687,7 @@ bool QSemaphore::tryAcquire(int n, QDeadlineTimer timer) // the calling thread (which is the only thread in the no-thread // configuraton) -QSemaphore::QSemaphore(int n) +QSemaphore::QSemaphore(int) { } @@ -704,6 +707,21 @@ void QSemaphore::release(int) } +int QSemaphore::available() const +{ + return std::numeric_limits<int>::max(); +} + +bool QSemaphore::tryAcquire(int) +{ + return true; +} + +bool QSemaphore::tryAcquire(int, QDeadlineTimer) +{ + return true; +} + #endif QT_END_NAMESPACE diff --git a/src/corelib/time/qtimezoneprivate.cpp b/src/corelib/time/qtimezoneprivate.cpp index 5b61940cbbe..d8434f4fe1b 100644 --- a/src/corelib/time/qtimezoneprivate.cpp +++ b/src/corelib/time/qtimezoneprivate.cpp @@ -1081,12 +1081,6 @@ QList<QByteArray> QTimeZonePrivate::windowsIdToIanaIds(const QByteArray &windows return list; } -// Define template for derived classes to reimplement so QSharedDataPointer clone() works correctly -template<> QTimeZonePrivate *QSharedDataPointer<QTimeZonePrivate>::clone() -{ - return d->clone(); -} - static bool isEntryInIanaList(QByteArrayView id, QByteArrayView ianaIds) { qsizetype cut; diff --git a/src/corelib/time/qtimezoneprivate_p.h b/src/corelib/time/qtimezoneprivate_p.h index 611c8e4b5e7..b1217402ce7 100644 --- a/src/corelib/time/qtimezoneprivate_p.h +++ b/src/corelib/time/qtimezoneprivate_p.h @@ -162,7 +162,7 @@ public: QByteArray ianaId; qsizetype nameLength = 0; QTimeZone::TimeType timeType = QTimeZone::GenericTime; - operator bool() { return nameLength > 0; } + operator bool() const { return nameLength > 0; } }; static NamePrefixMatch findLongNamePrefix(QStringView text, const QLocale &locale, std::optional<qint64> atEpochMillis = std::nullopt); @@ -209,8 +209,6 @@ protected: }; Q_DECLARE_TYPEINFO(QTimeZonePrivate::Data, Q_RELOCATABLE_TYPE); -template<> QTimeZonePrivate *QSharedDataPointer<QTimeZonePrivate>::clone(); - class Q_AUTOTEST_EXPORT QUtcTimeZonePrivate final : public QTimeZonePrivate { bool operator=(const QUtcTimeZonePrivate &) const = delete; diff --git a/src/corelib/tools/qarraydata.h b/src/corelib/tools/qarraydata.h index 5aadbeda538..aadf33ed5ae 100644 --- a/src/corelib/tools/qarraydata.h +++ b/src/corelib/tools/qarraydata.h @@ -58,7 +58,7 @@ struct QArrayData /// Returns true if sharing took place bool ref() noexcept { - ref_.ref(); + ref_.refRelaxed(); // suffices for ref-counting return true; } diff --git a/src/corelib/tools/qarraydataops.h b/src/corelib/tools/qarraydataops.h index c20abd12c23..c6259354de9 100644 --- a/src/corelib/tools/qarraydataops.h +++ b/src/corelib/tools/qarraydataops.h @@ -9,12 +9,12 @@ #include <QtCore/qcontainertools_impl.h> #include <QtCore/qnamespace.h> -#include <memory> +#include <QtCore/q20functional.h> +#include <QtCore/q20memory.h> #include <new> #include <string.h> #include <utility> #include <iterator> -#include <tuple> #include <type_traits> QT_BEGIN_NAMESPACE @@ -844,7 +844,6 @@ protected: public: // using Base::truncate; // using Base::destroyAll; - // using Base::assign; template<typename It> void appendIteratorRange(It b, It e, QtPrivate::IfIsForwardIterator<It> = true) @@ -910,6 +909,119 @@ public: std::uninitialized_default_construct(b, e); this->size = newSize; } + + using Base::assign; + + template <typename InputIterator, typename Projection = q20::identity> + void assign(InputIterator first, InputIterator last, Projection proj = {}) + { + // This function only provides the basic exception guarantee. + constexpr bool IsFwdIt = std::is_convertible_v< + typename std::iterator_traits<InputIterator>::iterator_category, + std::forward_iterator_tag>; + constexpr bool IsIdentity = std::is_same_v<Projection, q20::identity>; + + const qsizetype n = IsFwdIt ? std::distance(first, last) : 0; + bool undoPrependOptimization = true; + bool needCapacity = n > this->constAllocatedCapacity(); + if (needCapacity || this->needsDetach()) { + bool wasLastRef = !this->deref(); + qsizetype newCapacity = this->detachCapacity(n); + if (wasLastRef && needCapacity) { + // free memory we can't reuse + this->destroyAll(); + Data::deallocate(this->d); + } + if (!needCapacity && wasLastRef) { + // we were the last reference and can reuse the storage + this->d->ref_.storeRelaxed(1); + } else { + // we must allocate new memory + std::tie(this->d, this->ptr) = Data::allocate(newCapacity); + this->size = 0; + undoPrependOptimization = false; + } + } + + if constexpr (!std::is_nothrow_constructible_v<T, decltype(std::invoke(proj, *first))>) { + // If construction can throw, and we have freeSpaceAtBegin(), + // it's easiest to just clear the container and start fresh. + // The alternative would be to keep track of two active, disjoint ranges. + if (undoPrependOptimization) { + this->truncate(0); + this->setBegin(Data::dataStart(this->d, alignof(typename Data::AlignmentDummy))); + undoPrependOptimization = false; + } + } + + const auto dend = this->end(); + T *dst = this->begin(); + T *capacityBegin = dst; + qsizetype offset = 0; + if (undoPrependOptimization) { + capacityBegin = Data::dataStart(this->d, alignof(typename Data::AlignmentDummy)); + offset = dst - capacityBegin; + } + if constexpr (!QTypeInfo<T>::isComplex) { + this->setBegin(capacityBegin); // undo prepend optimization + dst = capacityBegin; + + // there's nothing to destroy or overwrite + } else if (offset) { // avoids dead stores + T *prependBufferEnd = dst; + this->setBegin(capacityBegin); // undo prepend optimization + dst = capacityBegin; + + // By construction, the following loop is nothrow! + // (otherwise, we can't reach here) + // Assumes InputIterator operations don't throw. + // (but we can't statically assert that, as these operations + // have preconditons, so typically aren't noexcept) + while (true) { + if (dst == prependBufferEnd) { // ran out of prepend buffer space + this->size += offset; + // we now have a contiguous buffer, continue with the main loop: + break; + } + if (first == last) { // ran out of elements to assign + std::destroy(prependBufferEnd, dend); + this->size = dst - this->begin(); + return; + } + // construct element in prepend buffer + q20::construct_at(dst, std::invoke(proj, *first)); + ++dst; + ++first; + } + } + + while (true) { + if (first == last) { // ran out of elements to assign + std::destroy(dst, dend); + break; + } + if (dst == dend) { // ran out of existing elements to overwrite + if constexpr (IsFwdIt && IsIdentity) { + dst = std::uninitialized_copy(first, last, dst); + break; + } else if constexpr (IsFwdIt && !IsIdentity + && std::is_nothrow_constructible_v<T, decltype(std::invoke(proj, *first))>) { + for (; first != last; ++dst, ++first) // uninitialized_copy with projection + q20::construct_at(dst, std::invoke(proj, *first)); + break; + } else { + do { + this->emplace(this->size, std::invoke(proj, *first)); + } while (++first != last); + return; // size() is already correct (and dst invalidated)! + } + } + *dst = std::invoke(proj, *first); // overwrite existing element + ++dst; + ++first; + } + this->size = dst - this->begin(); + } }; } // namespace QtPrivate diff --git a/src/corelib/tools/qarraydatapointer.h b/src/corelib/tools/qarraydatapointer.h index 7fa6f2e7dd9..52984e40f31 100644 --- a/src/corelib/tools/qarraydatapointer.h +++ b/src/corelib/tools/qarraydatapointer.h @@ -7,9 +7,6 @@ #include <QtCore/qarraydataops.h> #include <QtCore/qcontainertools_impl.h> -#include <QtCore/q20functional.h> -#include <QtCore/q20memory.h> - QT_BEGIN_NAMESPACE template <class T> @@ -320,98 +317,6 @@ public: this->ptr = res; } - template <typename InputIterator, typename Projection = q20::identity> - void assign(InputIterator first, InputIterator last, Projection proj = {}) - { - // This function only provides the basic exception guarantee. - constexpr bool IsFwdIt = std::is_convertible_v< - typename std::iterator_traits<InputIterator>::iterator_category, - std::forward_iterator_tag>; - constexpr bool IsIdentity = std::is_same_v<Projection, q20::identity>; - - if constexpr (IsFwdIt) { - const qsizetype n = std::distance(first, last); - if (needsDetach() || n > constAllocatedCapacity()) { - QArrayDataPointer allocated(detachCapacity(n)); - swap(allocated); - } - } else if (needsDetach()) { - QArrayDataPointer allocated(allocatedCapacity()); - swap(allocated); - // We don't want to copy data that we know we'll overwrite - } - - auto offset = freeSpaceAtBegin(); - const auto capacityBegin = begin() - offset; - const auto prependBufferEnd = begin(); - - if constexpr (!std::is_nothrow_constructible_v<T, decltype(std::invoke(proj, *first))>) { - // If construction can throw, and we have freeSpaceAtBegin(), - // it's easiest to just clear the container and start fresh. - // The alternative would be to keep track of two active, disjoint ranges. - if (offset) { - (*this)->truncate(0); - setBegin(capacityBegin); - offset = 0; - } - } - - auto dst = capacityBegin; - const auto dend = end(); - if (offset) { // avoids dead stores - setBegin(capacityBegin); // undo prepend optimization - - // By construction, the following loop is nothrow! - // (otherwise, we can't reach here) - // Assumes InputIterator operations don't throw. - // (but we can't statically assert that, as these operations - // have preconditons, so typically aren't noexcept) - while (true) { - if (dst == prependBufferEnd) { // ran out of prepend buffer space - size += offset; - // we now have a contiguous buffer, continue with the main loop: - break; - } - if (first == last) { // ran out of elements to assign - std::destroy(prependBufferEnd, dend); - size = dst - begin(); - return; - } - // construct element in prepend buffer - q20::construct_at(dst, std::invoke(proj, *first)); - ++dst; - ++first; - } - } - - while (true) { - if (first == last) { // ran out of elements to assign - std::destroy(dst, dend); - break; - } - if (dst == dend) { // ran out of existing elements to overwrite - if constexpr (IsFwdIt && IsIdentity) { - dst = std::uninitialized_copy(first, last, dst); - break; - } else if constexpr (IsFwdIt && !IsIdentity - && std::is_nothrow_constructible_v<T, decltype(std::invoke(proj, *first))>) { - for (; first != last; ++dst, ++first) // uninitialized_copy with projection - q20::construct_at(dst, std::invoke(proj, *first)); - break; - } else { - do { - (*this)->emplace(size, std::invoke(proj, *first)); - } while (++first != last); - return; // size() is already correct (and dst invalidated)! - } - } - *dst = std::invoke(proj, *first); // overwrite existing element - ++dst; - ++first; - } - size = dst - begin(); - } - QArrayDataPointer sliced(qsizetype pos, qsizetype n) const & { QArrayDataPointer result(n); diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp index fea5bdfa906..092ff46b084 100644 --- a/src/corelib/tools/qcryptographichash.cpp +++ b/src/corelib/tools/qcryptographichash.cpp @@ -235,6 +235,8 @@ public: // when not called from the static hash() function, this function needs to be // called with finalizeMutex held (finalize() will do that): void finalizeUnchecked() noexcept; + QSpan<uchar> finalizeUnchecked(QSpan<uchar> buffer) noexcept; + // END functions that need to be called with finalizeMutex held QByteArrayView resultView() const noexcept { return result.toByteArrayView(); } static bool supportsAlgorithm(QCryptographicHash::Algorithm method); @@ -268,7 +270,7 @@ public: explicit EVP(QCryptographicHash::Algorithm method); void reset() noexcept; - void finalizeUnchecked(HashResult &result) noexcept; + void finalizeUnchecked(QSpan<uchar> buffer) noexcept; }; #endif @@ -281,7 +283,7 @@ public: void reset(QCryptographicHash::Algorithm method) noexcept; void addData(QCryptographicHash::Algorithm method, QByteArrayView data) noexcept; - void finalizeUnchecked(QCryptographicHash::Algorithm method, HashResult &result) noexcept; + void finalizeUnchecked(QCryptographicHash::Algorithm method, QSpan<uchar> buffer) noexcept; Sha1State sha1Context; #ifdef USING_OPENSSL30 @@ -297,7 +299,7 @@ public: SHA3Context sha3Context; enum class Sha3Variant { Sha3, Keccak }; - static void sha3Finish(SHA3Context &ctx, HashResult &result, Sha3Variant sha3Variant); + static void sha3Finish(SHA3Context &ctx, QSpan<uchar> result, Sha3Variant sha3Variant); blake2b_state blake2bContext; blake2s_state blake2sContext; } state; @@ -308,7 +310,7 @@ public: const QCryptographicHash::Algorithm method; }; -void QCryptographicHashPrivate::State::sha3Finish(SHA3Context &ctx, HashResult &result, +void QCryptographicHashPrivate::State::sha3Finish(SHA3Context &ctx, QSpan<uchar> result, Sha3Variant sha3Variant) { /* @@ -981,9 +983,23 @@ void QCryptographicHashPrivate::finalizeUnchecked() noexcept state.finalizeUnchecked(method, result); } +/*! + \internal + + Must be called with finalizeMutex held, except when called from the static + hash() function, where no sharing can take place. +*/ +QSpan<uchar> QCryptographicHashPrivate::finalizeUnchecked(QSpan<uchar> buffer) noexcept +{ + buffer = buffer.first(hashLengthInternal(method)); + state.finalizeUnchecked(method, buffer); + Q_ASSERT(result.size() == 0); // internal buffer wasn't used + return buffer; +} + #ifdef USING_OPENSSL30 void QCryptographicHashPrivate::State::finalizeUnchecked(QCryptographicHash::Algorithm method, - HashResult &result) noexcept + QSpan<uchar> result) noexcept { switch (method) { case QCryptographicHash::Keccak_224: @@ -1030,7 +1046,7 @@ void QCryptographicHashPrivate::State::finalizeUnchecked(QCryptographicHash::Alg } } -void QCryptographicHashPrivate::EVP::finalizeUnchecked(HashResult &result) noexcept +void QCryptographicHashPrivate::EVP::finalizeUnchecked(QSpan<uchar> result) noexcept { if (!initializationFailed) { EVP_MD_CTX_ptr copy = EVP_MD_CTX_ptr(EVP_MD_CTX_new()); @@ -1043,7 +1059,7 @@ void QCryptographicHashPrivate::EVP::finalizeUnchecked(HashResult &result) noexc #else // USING_OPENSSL30 void QCryptographicHashPrivate::State::finalizeUnchecked(QCryptographicHash::Algorithm method, - HashResult &result) noexcept + QSpan<uchar> result) noexcept { switch (method) { case QCryptographicHash::Sha1: { @@ -1166,12 +1182,8 @@ QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QCryptographicHashPrivate hash(method); for (QByteArrayView part : data) hash.addData(part); - hash.finalizeUnchecked(); // no mutex needed: no-one but us has access to 'hash' - auto result = hash.resultView(); - Q_ASSERT(buffer.size() >= result.size()); - // ### optimize: have the method directly write into `buffer` - memcpy(buffer.data(), result.data(), result.size()); - return buffer.first(result.size()); + auto span = QSpan{reinterpret_cast<uchar *>(buffer.data()), buffer.size()}; + return hash.finalizeUnchecked(span); // no mutex needed: no-one but us has access to 'hash' } /*! diff --git a/src/corelib/tools/qhashfunctions.h b/src/corelib/tools/qhashfunctions.h index d1e76b250bb..de749ee112e 100644 --- a/src/corelib/tools/qhashfunctions.h +++ b/src/corelib/tools/qhashfunctions.h @@ -413,14 +413,14 @@ qHashMultiCommutative(size_t seed, const T &... args) template <typename InputIterator> inline size_t qHashRange(InputIterator first, InputIterator last, size_t seed = 0) - noexcept(noexcept(qHash(*first))) // assume iterator operations don't throw + noexcept(noexcept(qHash(*first, 0))) // assume iterator operations don't throw { return std::accumulate(first, last, seed, QtPrivate::QHashCombine(seed)); } template <typename InputIterator> inline size_t qHashRangeCommutative(InputIterator first, InputIterator last, size_t seed = 0) - noexcept(noexcept(qHash(*first))) // assume iterator operations don't throw + noexcept(noexcept(qHash(*first, 0))) // assume iterator operations don't throw { return std::accumulate(first, last, seed, QtPrivate::QHashCombineCommutative(seed)); } diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index 7a93ec688ef..a11f7913dc7 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -446,10 +446,8 @@ public: static constexpr qsizetype maxSize() { return Data::maxSize(); } constexpr qsizetype size() const noexcept { -#if __has_cpp_attribute(assume) constexpr size_t MaxSize = maxSize(); - [[assume(size_t(d.size) <= MaxSize)]]; -#endif + Q_PRESUME(size_t(d.size) <= MaxSize); return d.size; } constexpr qsizetype count() const noexcept { return size(); } @@ -578,10 +576,15 @@ public: template <typename InputIterator, if_input_iterator<InputIterator> = true> QList &assign(InputIterator first, InputIterator last) - { d.assign(first, last); return *this; } + { d->assign(first, last); return *this; } QList &assign(std::initializer_list<T> l) - { return assign(l.begin(), l.end()); } + { + if (l.size()) + return assign(l.begin(), l.end()); + clear(); + return *this; + } template <typename ...Args> iterator emplace(const_iterator before, Args&&... args) diff --git a/src/corelib/tools/qshareddata.h b/src/corelib/tools/qshareddata.h index 7d0cec8c899..595efd7e3bf 100644 --- a/src/corelib/tools/qshareddata.h +++ b/src/corelib/tools/qshareddata.h @@ -4,16 +4,35 @@ #ifndef QSHAREDDATA_H #define QSHAREDDATA_H -#include <QtCore/qglobal.h> #include <QtCore/qatomic.h> #include <QtCore/qcompare.h> #include <QtCore/qhashfunctions.h> - QT_BEGIN_NAMESPACE - template <class T> class QSharedDataPointer; +template <class T> class QExplicitlySharedDataPointer; + +namespace QtPrivate { +template <template <typename> class P, typename T> struct QSharedDataPointerTraits; +template <typename T> struct QSharedDataPointerTraits<QSharedDataPointer, T> +{ + static constexpr bool ImplicitlyDetaches = true; + using Type = T; + using pointer = T *; + // for const-qualified functions: + using constT = const T; +}; + +template <typename T> struct QSharedDataPointerTraits<QExplicitlySharedDataPointer, T> +{ + static constexpr bool ImplicitlyDetaches = false; + using Type = T; + using pointer = T *; + // for const-qualified functions: + using constT = T; +}; +} class QSharedData { @@ -30,41 +49,38 @@ public: struct QAdoptSharedDataTag { explicit constexpr QAdoptSharedDataTag() = default; }; -template <typename T> -class QSharedDataPointer +// CRTP common base class for both QSharedDataPointer and QExplicitlySharedDataPointer +template <template <typename> class P, typename T> class QSharedDataPointerBase { +#ifndef Q_QDOC + using Self = P<T>; + using Traits = QtPrivate::QSharedDataPointerTraits<P, T>; + using constT = typename Traits::constT; + +protected: + constexpr QSharedDataPointerBase(T *ptr = nullptr) noexcept : d(ptr) {} + public: - typedef T Type; - typedef T *pointer; + // When adding anything public to this class, make sure to add the doc version to + // both QSharedDataPointer and QExplicitlySharedDataPointer. + + using Type = T; + using pointer = T *; void detach() { if (d && d->ref.loadRelaxed() != 1) detach_helper(); } - T &operator*() { detach(); return *(d.get()); } - const T &operator*() const { return *(d.get()); } - T *operator->() { detach(); return d.get(); } - const T *operator->() const noexcept { return d.get(); } - operator T *() { detach(); return d.get(); } + T &operator*() { implicitlyDetach(); return *(d.get()); } + constT &operator*() const { return *(d.get()); } + T *operator->() { implicitlyDetach(); return d.get(); } + constT *operator->() const noexcept { return d.get(); } + operator T *() { implicitlyDetach(); return d.get(); } operator const T *() const noexcept { return d.get(); } - T *data() { detach(); return d.get(); } - T *get() { detach(); return d.get(); } + T *data() { implicitlyDetach(); return d.get(); } + T *get() { implicitlyDetach(); return d.get(); } const T *data() const noexcept { return d.get(); } const T *get() const noexcept { return d.get(); } const T *constData() const noexcept { return d.get(); } T *take() noexcept { return std::exchange(d, nullptr).get(); } - Q_NODISCARD_CTOR - QSharedDataPointer() noexcept : d(nullptr) { } - ~QSharedDataPointer() { if (d && !d->ref.deref()) delete d.get(); } - - Q_NODISCARD_CTOR - explicit QSharedDataPointer(T *data) noexcept : d(data) - { if (d) d->ref.ref(); } - Q_NODISCARD_CTOR - QSharedDataPointer(T *data, QAdoptSharedDataTag) noexcept : d(data) - {} - Q_NODISCARD_CTOR - QSharedDataPointer(const QSharedDataPointer &o) noexcept : d(o.d) - { if (d) d->ref.ref(); } - void reset(T *ptr = nullptr) noexcept { if (ptr != d.get()) { @@ -72,10 +88,97 @@ public: ptr->ref.ref(); T *old = std::exchange(d, Qt::totally_ordered_wrapper(ptr)).get(); if (old && !old->ref.deref()) - delete old; + destroy(old); } } + operator bool () const noexcept { return d != nullptr; } + bool operator!() const noexcept { return d == nullptr; } + + void swap(Self &other) noexcept + { qt_ptr_swap(d, other.d); } + +private: + // The concrete class MUST override these, otherwise we will be calling + // ourselves. + T *clone() { return static_cast<Self *>(this)->clone(); } + template <typename... Args> static T *create(Args &&... args) + { return Self::create(std::forward(args)...); } + static void destroy(T *ptr) { Self::destroy(ptr); } + + void implicitlyDetach() + { + if constexpr (Traits::ImplicitlyDetaches) + static_cast<Self *>(this)->detach(); + } + + friend bool comparesEqual(const QSharedDataPointerBase &lhs, const QSharedDataPointerBase &rhs) noexcept + { return lhs.d == rhs.d; } + friend Qt::strong_ordering + compareThreeWay(const QSharedDataPointerBase &lhs, const QSharedDataPointerBase &rhs) noexcept + { return Qt::compareThreeWay(lhs.d, rhs.d); } + + friend bool comparesEqual(const QSharedDataPointerBase &lhs, const T *rhs) noexcept + { return lhs.d == rhs; } + friend Qt::strong_ordering + compareThreeWay(const QSharedDataPointerBase &lhs, const T *rhs) noexcept + { return Qt::compareThreeWay(lhs.d, rhs); } + + friend bool comparesEqual(const QSharedDataPointerBase &lhs, std::nullptr_t) noexcept + { return lhs.d == nullptr; } + friend Qt::strong_ordering + compareThreeWay(const QSharedDataPointerBase &lhs, std::nullptr_t) noexcept + { return Qt::compareThreeWay(lhs.d, nullptr); } + + friend size_t qHash(const QSharedDataPointerBase &ptr, size_t seed = 0) noexcept + { return qHash(ptr.data(), seed); } + +protected: + void detach_helper(); + + Qt::totally_ordered_wrapper<T *> d; +#endif // !Q_QDOC +}; + +template <typename T> +class QSharedDataPointer : public QSharedDataPointerBase<QSharedDataPointer, T> +{ + using Base = QSharedDataPointerBase<QSharedDataPointer, T>; + friend Base; +public: + typedef T Type; + typedef T *pointer; + + void detach() { Base::detach(); } +#ifdef Q_QDOC + T &operator*(); + const T &operator*() const; + T *operator->(); + const T *operator->() const noexcept; + operator T *(); + operator const T *() const noexcept; + T *data(); + T *get(); + const T *data() const noexcept; + const T *get() const noexcept; + const T *constData() const noexcept; + T *take() noexcept; +#endif + + Q_NODISCARD_CTOR + QSharedDataPointer() noexcept : Base(nullptr) { } + ~QSharedDataPointer() { if (d && !d->ref.deref()) destroy(d.get()); } + + Q_NODISCARD_CTOR + explicit QSharedDataPointer(T *data) noexcept : Base(data) + { if (d) d->ref.ref(); } + Q_NODISCARD_CTOR + QSharedDataPointer(T *data, QAdoptSharedDataTag) noexcept : Base(data) + {} + Q_NODISCARD_CTOR + QSharedDataPointer(const QSharedDataPointer &o) noexcept : Base(o.d.get()) + { if (d) d->ref.ref(); } + QSharedDataPointer &operator=(const QSharedDataPointer &o) noexcept { reset(o.d.get()); @@ -87,76 +190,80 @@ public: return *this; } Q_NODISCARD_CTOR - QSharedDataPointer(QSharedDataPointer &&o) noexcept : d(std::exchange(o.d, nullptr)) {} + QSharedDataPointer(QSharedDataPointer &&o) noexcept + : Base(std::exchange(o.d, nullptr).get()) + {} QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QSharedDataPointer) - operator bool () const noexcept { return d != nullptr; } - bool operator!() const noexcept { return d == nullptr; } +#ifdef Q_QDOC + void reset(T *ptr = nullptr) noexcept; - void swap(QSharedDataPointer &other) noexcept - { qt_ptr_swap(d, other.d); } + operator bool () const noexcept; + bool operator!() const noexcept; + + void swap(QSharedDataPointer &other) noexcept; +#else + using Base::reset; + using Base::swap; +#endif protected: T *clone(); + template <typename... Args> static T *create(Args &&... args) + { return new T(std::forward(args)...); } + static void destroy(T *ptr) { delete ptr; } private: - friend bool comparesEqual(const QSharedDataPointer &lhs, const QSharedDataPointer &rhs) noexcept - { return lhs.d == rhs.d; } - friend Qt::strong_ordering - compareThreeWay(const QSharedDataPointer &lhs, const QSharedDataPointer &rhs) noexcept - { return Qt::compareThreeWay(lhs.d, rhs.d); } Q_DECLARE_STRONGLY_ORDERED(QSharedDataPointer) - - friend bool comparesEqual(const QSharedDataPointer &lhs, const T *rhs) noexcept - { return lhs.d == rhs; } - friend Qt::strong_ordering - compareThreeWay(const QSharedDataPointer &lhs, const T *rhs) noexcept - { return Qt::compareThreeWay(lhs.d, rhs); } Q_DECLARE_STRONGLY_ORDERED(QSharedDataPointer, T*) - - friend bool comparesEqual(const QSharedDataPointer &lhs, std::nullptr_t) noexcept - { return lhs.d == nullptr; } - friend Qt::strong_ordering - compareThreeWay(const QSharedDataPointer &lhs, std::nullptr_t) noexcept - { return Qt::compareThreeWay(lhs.d, nullptr); } Q_DECLARE_STRONGLY_ORDERED(QSharedDataPointer, std::nullptr_t) - void detach_helper(); - - Qt::totally_ordered_wrapper<T *> d; + using Base::d; }; template <typename T> -class QExplicitlySharedDataPointer +class QExplicitlySharedDataPointer : public QSharedDataPointerBase<QExplicitlySharedDataPointer, T> { + using Base = QSharedDataPointerBase<QExplicitlySharedDataPointer, T>; + friend Base; public: typedef T Type; typedef T *pointer; - T &operator*() const { return *(d.get()); } - T *operator->() noexcept { return d.get(); } - T *operator->() const noexcept { return d.get(); } + // override to make explicit. Can use explicit(!ImplicitlyShared) once we + // can depend on C++20. explicit operator T *() { return d.get(); } explicit operator const T *() const noexcept { return d.get(); } + + // override to make const. There is no const(cond), but we could use + // requires(!ImplicitlyShared) T *data() const noexcept { return d.get(); } T *get() const noexcept { return d.get(); } - const T *constData() const noexcept { return d.get(); } - T *take() noexcept { return std::exchange(d, nullptr).get(); } - void detach() { if (d && d->ref.loadRelaxed() != 1) detach_helper(); } +#ifdef Q_QDOC + T &operator*() const; + T *operator->() noexcept; + T *operator->() const noexcept; + T *data() const noexcept; + T *get() const noexcept; + const T *constData() const noexcept; + T *take() noexcept; +#endif + + void detach() { Base::detach(); } Q_NODISCARD_CTOR - QExplicitlySharedDataPointer() noexcept : d(nullptr) { } + QExplicitlySharedDataPointer() noexcept : Base(nullptr) { } ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref()) delete d.get(); } Q_NODISCARD_CTOR - explicit QExplicitlySharedDataPointer(T *data) noexcept : d(data) + explicit QExplicitlySharedDataPointer(T *data) noexcept : Base(data) { if (d) d->ref.ref(); } Q_NODISCARD_CTOR - QExplicitlySharedDataPointer(T *data, QAdoptSharedDataTag) noexcept : d(data) + QExplicitlySharedDataPointer(T *data, QAdoptSharedDataTag) noexcept : Base(data) {} Q_NODISCARD_CTOR - QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) noexcept : d(o.d) + QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) noexcept : Base(o.d.get()) { if (d) d->ref.ref(); } template<typename X> @@ -165,20 +272,9 @@ public: #ifdef QT_ENABLE_QEXPLICITLYSHAREDDATAPOINTER_STATICCAST #error This macro has been removed in Qt 6.9. #endif - : d(o.data()) + : Base(o.data()) { if (d) d->ref.ref(); } - void reset(T *ptr = nullptr) noexcept - { - if (ptr != d) { - if (ptr) - ptr->ref.ref(); - T *old = std::exchange(d, Qt::totally_ordered_wrapper(ptr)).get(); - if (old && !old->ref.deref()) - delete old; - } - } - QExplicitlySharedDataPointer &operator=(const QExplicitlySharedDataPointer &o) noexcept { reset(o.d.get()); @@ -190,72 +286,52 @@ public: return *this; } Q_NODISCARD_CTOR - QExplicitlySharedDataPointer(QExplicitlySharedDataPointer &&o) noexcept : d(std::exchange(o.d, nullptr)) {} + QExplicitlySharedDataPointer(QExplicitlySharedDataPointer &&o) noexcept + : Base(std::exchange(o.d, nullptr).get()) + {} QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QExplicitlySharedDataPointer) - operator bool () const noexcept { return d != nullptr; } - bool operator!() const noexcept { return d == nullptr; } +#ifdef Q_QDOC + void reset(T *ptr = nullptr) noexcept; - void swap(QExplicitlySharedDataPointer &other) noexcept - { qt_ptr_swap(d, other.d); } + operator bool () const noexcept; + bool operator!() const noexcept; + + void swap(QExplicitlySharedDataPointer &other) noexcept; +#else + using Base::swap; + using Base::reset; +#endif protected: T *clone(); + template <typename... Args> static T *create(Args &&... args) + { return new T(std::forward(args)...); } + static void destroy(T *ptr) { delete ptr; } private: - friend bool comparesEqual(const QExplicitlySharedDataPointer &lhs, - const QExplicitlySharedDataPointer &rhs) noexcept - { return lhs.d == rhs.d; } - friend Qt::strong_ordering - compareThreeWay(const QExplicitlySharedDataPointer &lhs, - const QExplicitlySharedDataPointer &rhs) noexcept - { return Qt::compareThreeWay(lhs.d, rhs.d); } Q_DECLARE_STRONGLY_ORDERED(QExplicitlySharedDataPointer) - - friend bool comparesEqual(const QExplicitlySharedDataPointer &lhs, const T *rhs) noexcept - { return lhs.d == rhs; } - friend Qt::strong_ordering - compareThreeWay(const QExplicitlySharedDataPointer &lhs, const T *rhs) noexcept - { return Qt::compareThreeWay(lhs.d, rhs); } Q_DECLARE_STRONGLY_ORDERED(QExplicitlySharedDataPointer, const T*) - - friend bool comparesEqual(const QExplicitlySharedDataPointer &lhs, std::nullptr_t) noexcept - { return lhs.d == nullptr; } - friend Qt::strong_ordering - compareThreeWay(const QExplicitlySharedDataPointer &lhs, std::nullptr_t) noexcept - { return Qt::compareThreeWay(lhs.d, nullptr); } Q_DECLARE_STRONGLY_ORDERED(QExplicitlySharedDataPointer, std::nullptr_t) - void detach_helper(); - - Qt::totally_ordered_wrapper<T *> d; + using Base::d; }; // Declared here and as Q_OUTOFLINE_TEMPLATE to work-around MSVC bug causing missing symbols at link time. template <typename T> Q_INLINE_TEMPLATE T *QSharedDataPointer<T>::clone() { - return new T(*d); -} - -template <typename T> -Q_OUTOFLINE_TEMPLATE void QSharedDataPointer<T>::detach_helper() -{ - T *x = clone(); - x->ref.ref(); - if (!d.get()->ref.deref()) - delete d.get(); - d.reset(x); + return new T(*this->d); } template <typename T> Q_INLINE_TEMPLATE T *QExplicitlySharedDataPointer<T>::clone() { - return new T(*d.get()); + return new T(*this->d.get()); } -template <typename T> -Q_OUTOFLINE_TEMPLATE void QExplicitlySharedDataPointer<T>::detach_helper() +template <template <typename> class P, typename T> Q_OUTOFLINE_TEMPLATE void +QSharedDataPointerBase<P, T>::detach_helper() { T *x = clone(); x->ref.ref(); @@ -272,17 +348,6 @@ template <typename T> void swap(QExplicitlySharedDataPointer<T> &p1, QExplicitlySharedDataPointer<T> &p2) noexcept { p1.swap(p2); } -template <typename T> -size_t qHash(const QSharedDataPointer<T> &ptr, size_t seed = 0) noexcept -{ - return qHash(ptr.data(), seed); -} -template <typename T> -size_t qHash(const QExplicitlySharedDataPointer<T> &ptr, size_t seed = 0) noexcept -{ - return qHash(ptr.data(), seed); -} - template<typename T> Q_DECLARE_TYPEINFO_BODY(QSharedDataPointer<T>, Q_RELOCATABLE_TYPE); template<typename T> Q_DECLARE_TYPEINFO_BODY(QExplicitlySharedDataPointer<T>, Q_RELOCATABLE_TYPE); diff --git a/src/gui/accessible/linux/atspiadaptor.cpp b/src/gui/accessible/linux/atspiadaptor.cpp index e91539d6ee3..c2c1fc6596c 100644 --- a/src/gui/accessible/linux/atspiadaptor.cpp +++ b/src/gui/accessible/linux/atspiadaptor.cpp @@ -1688,6 +1688,17 @@ bool AtSpiAdaptor::accessibleInterface(QAccessibleInterface *interface, const QS sendReply(connection, message, QVariant::fromValue(QDBusVariant(interface->text(QAccessible::Help)))); } else if (function == "GetState"_L1) { quint64 spiState = spiStatesFromQState(interface->state()); + if (QAccessibleAttributesInterface *attributesIface = interface->attributesInterface()) { + const QVariant orientationVariant = + attributesIface->attributeValue(QAccessible::Attribute::Orientation); + if (orientationVariant.isValid()) { + Q_ASSERT(orientationVariant.canConvert<Qt::Orientation>()); + const Qt::Orientation orientation = orientationVariant.value<Qt::Orientation>(); + setSpiStateBit(&spiState, + orientation == Qt::Horizontal ? ATSPI_STATE_HORIZONTAL + : ATSPI_STATE_VERTICAL); + } + } if (interface->tableInterface()) { // For tables, setting manages_descendants should // indicate to the client that it cannot cache these diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index eeb06c535b8..43540d4e64d 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -458,6 +458,9 @@ Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core"); differs from the application's default locale, e.g. for documents or paragraphs within a document that use a language that differs from the application's user interface language. + \value [since 6.11] Orientation value type: \a Qt::Orientation + Orientation of the element. This attribute conceptually matches + the "aria-orientation" property in ARIA. \sa QAccessibleAttributesInterface */ diff --git a/src/gui/accessible/qaccessible_base.h b/src/gui/accessible/qaccessible_base.h index 31b97880ffc..3881c6346a0 100644 --- a/src/gui/accessible/qaccessible_base.h +++ b/src/gui/accessible/qaccessible_base.h @@ -156,8 +156,6 @@ public: quint64 searchEdit : 1; - // quint64 horizontal : 1; - // quint64 vertical : 1; // quint64 invalidEntry : 1; // quint64 managesDescendants : 1; // quint64 singleLine : 1; // we have multi line, this is redundant. @@ -380,6 +378,7 @@ public: Custom, Level, Locale, + Orientation, }; Q_ENUM(Attribute) diff --git a/src/gui/doc/src/qtgui.qdoc b/src/gui/doc/src/qtgui.qdoc index dca2f10bf26..f5d60699deb 100644 --- a/src/gui/doc/src/qtgui.qdoc +++ b/src/gui/doc/src/qtgui.qdoc @@ -17,8 +17,7 @@ /*! \module QtGuiPrivate \title Qt GUI Private C++ Classes - \qtcmakepackage Gui - \qtcmaketargetitem GuiPrivate + \qtcmakepackage GuiPrivate \qtvariable gui-private \brief Provides access to private GUI functionality. @@ -27,7 +26,7 @@ private Qt GUI APIs: \badcode - find_package(Qt6 REQUIRED COMPONENTS Gui) + find_package(Qt6 REQUIRED COMPONENTS GuiPrivate) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) \endcode */ diff --git a/src/gui/image/qplatformpixmap.cpp b/src/gui/image/qplatformpixmap.cpp index a2977360951..d1eab7f6ed3 100644 --- a/src/gui/image/qplatformpixmap.cpp +++ b/src/gui/image/qplatformpixmap.cpp @@ -36,7 +36,6 @@ QPlatformPixmap::QPlatformPixmap(PixelType pixelType, int objectId) h(0), d(0), is_null(true), - ref(0), detach_no(0), type(pixelType), id(objectId), diff --git a/src/gui/image/qplatformpixmap.h b/src/gui/image/qplatformpixmap.h index be86bf8850f..5621afa4da5 100644 --- a/src/gui/image/qplatformpixmap.h +++ b/src/gui/image/qplatformpixmap.h @@ -22,7 +22,7 @@ QT_BEGIN_NAMESPACE class QImageReader; -class Q_GUI_EXPORT QPlatformPixmap +class Q_GUI_EXPORT QPlatformPixmap : public QSharedData { public: enum PixelType { @@ -113,10 +113,7 @@ private: friend class QPixmap; friend class QX11PlatformPixmap; friend class QImagePixmapCleanupHooks; // Needs to set is_cached - friend class QOpenGLTextureCache; //Needs to check the reference count - friend class QExplicitlySharedDataPointer<QPlatformPixmap>; - QAtomicInt ref; int detach_no; PixelType type; diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 098d0331327..518843ffcbd 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -3407,6 +3407,15 @@ void QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::E return; QWindowPrivate *p = qt_window_private(window); + if (e->isExposed) { + // If the window has been automatically positioned or resized by the + // window manager, we now assume those have taken effect, even for + // asynchronous window managers. From this point on we want the window + // to keep its geometry, even when recreated. + p->positionAutomatic = false; + p->resizeAutomatic = false; + } + if (!p->receivedExpose) { if (p->resizeEventPending) { // as a convenience for plugins, send a resize event before the first expose event if they haven't done so diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index c7b6e4ebff3..bb71f8fb6fc 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -1298,7 +1298,10 @@ QString QKeySequencePrivate::keyName(Qt::Key key, QKeySequence::SequenceFormat f bool nativeText = (format == QKeySequence::NativeText); QString p; - if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { + if (nativeText && (key > 0x00 && key <= 0x1f)) { + // Map C0 control codes to the corresponding Control Pictures + p = QChar::fromUcs2(0x2400 + key); + } else if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { if (!QChar::requiresSurrogates(key)) { p = QChar::fromUcs2(key).toUpper(); } else { diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index c23be8eb3ad..bad5932c457 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -582,12 +582,6 @@ void QWindowPrivate::create(bool recursive) platformWindow->initialize(); - // Now that the window is created and initialized the platform has had - // a chance to position and size it automatically. From this point on - // we want the window to keep its geometry, even when recreated. - positionAutomatic = false; - resizeAutomatic = false; - QObjectList childObjects = q->children(); for (int i = 0; i < childObjects.size(); i ++) { QObject *object = childObjects.at(i); diff --git a/src/gui/painting/qdrawhelper_avx2.cpp b/src/gui/painting/qdrawhelper_avx2.cpp index 72853be6e97..d7496845197 100644 --- a/src/gui/painting/qdrawhelper_avx2.cpp +++ b/src/gui/painting/qdrawhelper_avx2.cpp @@ -1525,7 +1525,7 @@ void QT_FASTCALL storeRGBA16FFromARGB32PM_avx2(uchar *dest, const uint *src, int const __m128 vsa = _mm_permute_ps(vsf, _MM_SHUFFLE(3, 3, 3, 3)); __m128 vsr = _mm_rcp_ps(vsa); vsr = _mm_sub_ps(_mm_add_ps(vsr, vsr), _mm_mul_ps(vsr, _mm_mul_ps(vsr, vsa))); - vsr = _mm_insert_ps(vsr, _mm_set_ss(1.0f), 0x30); + vsr = _mm_insert_ps(vsr, vf, 0x30); vsf = _mm_mul_ps(vsf, vsr); } _mm_storel_epi64((__m128i *)(d + i), _mm_cvtps_ph(vsf, 0)); diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp index 5763696266a..38c4a9ea87f 100644 --- a/src/gui/painting/qpainterpath.cpp +++ b/src/gui/painting/qpainterpath.cpp @@ -2937,6 +2937,8 @@ qreal QPainterPath::percentAtLength(qreal len) const if (len > totalLength) return 1; + Q_ASSERT(totalLength != 0); + if (d->cacheEnabled) { const int ei = qMax(d->elementAtT(len / totalLength), 1); // Skip initial MoveTo qreal res = 0; @@ -3117,6 +3119,7 @@ QPointF QPainterPath::pointAtPercent(qreal t) const qreal curLen = 0; qreal bezierLen = 0; QBezier b = d_ptr->bezierAtT(*this, t, &curLen, &bezierLen); + Q_ASSERT(bezierLen != 0); qreal realT = (totalLength * t - curLen) / bezierLen; return b.pointAt(qBound(qreal(0), realT, qreal(1))); @@ -3141,10 +3144,14 @@ qreal QPainterPath::angleAtPercent(qreal t) const return 0; } + if (isEmpty()) + return 0; + qreal totalLength = length(); qreal curLen = 0; qreal bezierLen = 0; QBezier bez = d_ptr->bezierAtT(*this, t, &curLen, &bezierLen); + Q_ASSERT(bezierLen != 0); qreal realT = (totalLength * t - curLen) / bezierLen; qreal m1 = slopeAt(realT, bez.x1, bez.x2, bez.x3, bez.x4); @@ -3170,10 +3177,14 @@ qreal QPainterPath::slopeAtPercent(qreal t) const return 0; } + if (isEmpty()) + return 0; + qreal totalLength = length(); qreal curLen = 0; qreal bezierLen = 0; QBezier bez = d_ptr->bezierAtT(*this, t, &curLen, &bezierLen); + Q_ASSERT(bezierLen != 0); qreal realT = (totalLength * t - curLen) / bezierLen; qreal m1 = slopeAt(realT, bez.x1, bez.x2, bez.x3, bez.x4); diff --git a/src/gui/painting/qstroker.cpp b/src/gui/painting/qstroker.cpp index 79799ca2ece..0d435c95048 100644 --- a/src/gui/painting/qstroker.cpp +++ b/src/gui/painting/qstroker.cpp @@ -1154,7 +1154,8 @@ void QDashStroker::processCurrentSubpath() elen -= std::floor(elen * invSumLength) * sumLength; // Update dash offset. while (!done) { - qreal dpos = pos + dashes[idash] - doffset - estart; + // parentheses to avoid float rounding issues: qreal(4) + 0.1 - 0.1 - 4 < 0 + qreal dpos = (pos + dashes[idash]) - (doffset + estart); Q_ASSERT(dpos >= 0); @@ -1189,7 +1190,8 @@ void QDashStroker::processCurrentSubpath() bool has_offset = doffset > 0; bool evenDash = (idash & 1) == 0; - qreal dpos = pos + dashes[idash] - doffset - estart; + // parentheses to avoid float rounding issues: qreal(4) + 0.1 - 0.1 - 4 < 0 + qreal dpos = (pos + dashes[idash]) - (doffset + estart); Q_ASSERT(dpos >= 0); diff --git a/src/gui/platform/darwin/qappleiconengine.mm b/src/gui/platform/darwin/qappleiconengine.mm index 20d50b0d8a8..3228b97fdb0 100644 --- a/src/gui/platform/darwin/qappleiconengine.mm +++ b/src/gui/platform/darwin/qappleiconengine.mm @@ -30,27 +30,28 @@ auto *loadImage(const QString &iconName) {"call-start"_L1, @"phone.arrow.up.right"}, {"call-stop"_L1, @"phone.down"}, {"contact-new"_L1, @"person.crop.circle.badge.plus"}, - {"document-new"_L1, @"doc.badge.plus"}, - {"document-open"_L1, @"folder"}, - {"document-open-recent"_L1, @"doc.badge.clock"}, - {"document-page-setup"_L1, @"doc.badge.gearshape"}, + {"document-new"_L1, @"plus"}, + {"document-open"_L1, @"arrow.up.forward"}, + {"document-open-recent"_L1, @"clock"}, + {"document-page-setup"_L1, @"text.page"}, {"document-print"_L1, @"printer"}, - //{"document-print-preview"_L1, @""}, - {"document-properties"_L1, @"doc.badge.ellipsis"}, - //{"document-revert"_L1, @""}, + {"document-print-preview"_L1, @"richtext.page"}, + {"document-properties"_L1, @"info.circle.text.page"}, + {"document-revert"_L1, @"arrow.counterclockwise"}, {"document-save"_L1, @"square.and.arrow.down"}, - //{"document-save-as"_L1, @""}, + {"document-save-as"_L1, @"square.and.arrow.down.on.square"}, {"document-send"_L1, @"paperplane"}, + {"document-export"_L1, @"square.and.arrow.up"}, {"edit-clear"_L1, @"xmark.circle"}, {"edit-copy"_L1, @"doc.on.doc"}, {"edit-cut"_L1, @"scissors"}, - {"edit-delete"_L1, @"delete.left"}, - {"edit-find"_L1, @"magnifyingglass"}, + {"edit-delete"_L1, @"trash"}, + {"edit-find"_L1, @"text.page.badge.magnifyingglass"}, //{"edit-find-replace"_L1, @"arrow.up.left.and.down.right.magnifyingglass"}, - {"edit-paste"_L1, @"clipboard"}, - {"edit-redo"_L1, @"arrowshape.turn.up.right"}, - //{"edit-select-all"_L1, @""}, - {"edit-undo"_L1, @"arrowshape.turn.up.left"}, + {"edit-paste"_L1, @"document.on.clipboard"}, + {"edit-redo"_L1, @"arrow.uturn.forward"}, + {"edit-select-all"_L1, @"character.textbox"}, + {"edit-undo"_L1, @"arrow.uturn.backward"}, {"folder-new"_L1, @"folder.badge.plus"}, {"format-indent-less"_L1, @"decrease.indent"}, {"format-indent-more"_L1, @"increase.indent"}, @@ -65,35 +66,36 @@ auto *loadImage(const QString &iconName) {"format-text-underline"_L1, @"underline"}, {"format-text-strikethrough"_L1, @"strikethrough"}, //{"go-bottom"_L1, @""}, - {"go-down"_L1, @"arrowshape.down"}, - {"go-first"_L1, @"increase.indent"}, + {"go-down"_L1, @"chevron.down"}, + //{"go-first"_L1, @""}, {"go-home"_L1, @"house"}, //{"go-jump"_L1, @""}, //{"go-last"_L1, @""}, - {"go-next"_L1, @"arrowshape.right"}, - {"go-previous"_L1, @"arrowshape.left"}, + {"go-next"_L1, @"chevron.right"}, + {"go-previous"_L1, @"chevron.left"}, //{"go-top"_L1, @""}, - {"go-up"_L1, @"arrowshape.up"}, + {"go-up"_L1, @"chevron.up"}, {"help-about"_L1, @"info.circle"}, //{"help-contents"_L1, @""}, {"help-faq"_L1, @"questionmark.app"}, {"insert-image"_L1, @"photo.badge.plus"}, {"insert-link"_L1, @"link.badge.plus"}, - //{"insert-object"_L1, @""}, - {"insert-text"_L1, @"textformat"}, + {"insert-object"_L1, @"widget.small.badge.plus"}, + {"insert-text"_L1, @"text.badge.plus"}, {"list-add"_L1, @"plus.circle"}, {"list-remove"_L1, @"minus.circle"}, {"mail-forward"_L1, @"arrowshape.turn.up.right"}, {"mail-mark-important"_L1, @"star"}, {"mail-mark-junk"_L1, @"xmark.bin"}, - {"mail-mark-notjunk"_L1, @"trash.slash"}, + {"mail-mark-notjunk"_L1, @"arrow.up.bin"}, {"mail-mark-read"_L1, @"envelope.open"}, - {"mail-mark-unread"_L1, @"envelope.fill"}, + {"mail-mark-unread"_L1, @"envelope.badge"}, {"mail-message-new"_L1, @"square.and.pencil"}, {"mail-reply-all"_L1, @"arrowshape.turn.up.left.2"}, {"mail-reply-sender"_L1, @"arrowshape.turn.up.left"}, - {"mail-send"_L1, @"paperplane"}, - {"mail-send-receive"_L1, @"envelope.arrow.triangle.branch"}, + {"mail-send"_L1, @"arrow.up.circle.fill"}, + {"mail-send-receive"_L1, @"arrow.trianglehead.2.clockwise.rotate.90"}, + {"mail-replied"_L1, @"envelope.and.arrow.trianglehead.branch"}, {"media-eject"_L1, @"eject"}, {"media-playback-pause"_L1, @"pause"}, {"media-playback-start"_L1, @"play"}, @@ -108,61 +110,61 @@ auto *loadImage(const QString &iconName) {"object-rotate-left"_L1, @"rotate.left"}, {"object-rotate-right"_L1, @"rotate.right"}, {"process-stop"_L1, @"stop.circle"}, - {"system-lock-screen"_L1, @"lock.display"}, - {"system-log-out"_L1, @"door.left.hand.open"}, + {"system-lock-screen"_L1, @"lock"}, + {"system-log-out"_L1, @"person.crop.circle"}, //{"system-run"_L1, @""}, {"system-search"_L1, @"magnifyingglass"}, - //{"system-reboot"_L1, @""}, + {"system-reboot"_L1, @"restart"}, {"system-shutdown"_L1, @"power"}, - //{"tools-check-spelling"_L1, @""}, + {"tools-check-spelling"_L1, @"textformat.characters.dottedunderline"}, {"view-fullscreen"_L1, @"arrow.up.left.and.arrow.down.right"}, {"view-refresh"_L1, @"arrow.clockwise"}, {"view-restore"_L1, @"arrow.down.right.and.arrow.up.left"}, - //{"view-sort-ascending"_L1, @""}, - //{"view-sort-descending"_L1, @""}, + {"view-sort-ascending"_L1, @"arrow.up"}, + {"view-sort-descending"_L1, @"arrow.down"}, {"window-close"_L1, @"xmark.circle"}, {"window-new"_L1, @"macwindow.badge.plus"}, {"zoom-fit-best"_L1, @"square.arrowtriangle.4.outward"}, {"zoom-in"_L1, @"plus.magnifyingglass"}, - //{"zoom-original"_L1, @""}, + {"zoom-original"_L1, @"1.magnifyingglass"}, {"zoom-out"_L1, @"minus.magnifyingglass"}, {"process-working"_L1, @"circle.dotted"}, - //{"accessories-calculator"_L1, @""}, - //{"accessories-character-map"_L1, @""}, + {"accessories-calculator"_L1, @"plus.forwardslash.minus"}, + {"accessories-character-map"_L1, @"keyboard.macwindow"}, {"accessories-dictionary"_L1, @"character.book.closed"}, {"accessories-text-editor"_L1, @"textformat"}, {"help-browser"_L1, @"folder.badge.questionmark"}, {"multimedia-volume-control"_L1, @"speaker.wave.3"}, {"preferences-desktop-accessibility"_L1, @"accessibility"}, - //{"preferences-desktop-font"_L1, @""}, - {"preferences-desktop-keyboard"_L1, @"keyboard.badge.ellipsis"}, - //{"preferences-desktop-locale"_L1, @""}, - //{"preferences-desktop-multimedia"_L1, @""}, - //{"preferences-desktop-screensaver"_L1, @""}, - //{"preferences-desktop-theme"_L1, @""}, - //{"preferences-desktop-wallpaper"_L1, @""}, + {"preferences-desktop-font"_L1, @"textformat.characters"}, + {"preferences-desktop-keyboard"_L1, @"keyboard"}, + {"preferences-desktop-locale"_L1, @"mappin.and.ellipse"}, + {"preferences-desktop-multimedia"_L1, @"music.note.tv"}, + {"preferences-desktop-screensaver"_L1, @"display"}, + {"preferences-desktop-theme"_L1, @"paintpalette"}, + {"preferences-desktop-wallpaper"_L1, @"photo.tv"}, {"system-file-manager"_L1, @"folder.badge.gearshape"}, - //{"system-software-install"_L1, @""}, - //{"system-software-update"_L1, @""}, d - //{"utilities-system-monitor"_L1, @""}, + {"system-software-install"_L1, @"laptopcomputer.and.arrow.down"}, + {"system-software-update"_L1, @"laptopcomputer.badge.checkmark"}, + {"utilities-system-monitor"_L1, @"chart.bar.xaxis"}, {"utilities-terminal"_L1, @"apple.terminal"}, - //{"applications-accessories"_L1, @""}, - //{"applications-development"_L1, @""}, - //{"applications-engineering"_L1, @""}, - {"applications-games"_L1, @"gamecontroller"}, - //{"applications-graphics"_L1, @""}, + {"applications-accessories"_L1, @"scanner"}, + {"applications-development"_L1, @"hammer"}, + {"applications-engineering"_L1, @"wrench.and.screwdriver"}, + {"applications-games"_L1, @"gamecontroller.circle"}, + {"applications-graphics"_L1, @"theatermask.and.paintbrush"}, {"applications-internet"_L1, @"network"}, {"applications-multimedia"_L1, @"tv.and.mediabox"}, - //{"applications-office"_L1, @""}, - //{"applications-other"_L1, @""}, + {"applications-office"_L1, @"square.and.pencil.circle"}, + {"applications-other"_L1, @"app.grid"}, {"applications-science"_L1, @"atom"}, - //{"applications-system"_L1, @""}, - //{"applications-utilities"_L1, @""}, + {"applications-system"_L1, @"gear"}, + {"applications-utilities"_L1, @"wrench.and.screwdriver"}, {"preferences-desktop"_L1, @"menubar.dock.rectangle"}, - //{"preferences-desktop-peripherals"_L1, @""}, - //{"preferences-desktop-personal"_L1, @""}, - //{"preferences-other"_L1, @""}, - //{"preferences-system"_L1, @""}, + {"preferences-desktop-peripherals"_L1, @"iphone.and.ipod"}, + {"preferences-desktop-personal"_L1, @"person.badge.key"}, + {"preferences-other"_L1, @"gear"}, + {"preferences-system"_L1, @"gear"}, {"preferences-system-network"_L1, @"network"}, {"system-help"_L1, @"questionmark.diamond"}, {"audio-card"_L1, @"waveform.circle"}, @@ -175,40 +177,40 @@ auto *loadImage(const QString &iconName) {"drive-harddisk"_L1, @"internaldrive"}, {"drive-optical"_L1, @"opticaldiscdrive"}, {"drive-removable-media"_L1, @"externaldrive"}, - {"input-gaming"_L1, @"gamecontroller"}, // "games" also using this one + {"input-gaming"_L1, @"gamecontroller"}, {"input-keyboard"_L1, @"keyboard"}, {"input-mouse"_L1, @"computermouse"}, {"input-tablet"_L1, @"ipad"}, {"media-flash"_L1, @"mediastick"}, //{"media-floppy"_L1, @""}, - //{"media-optical"_L1, @""}, + {"media-optical"_L1, @"opticaldisc"}, {"media-tape"_L1, @"recordingtape"}, - //{"modem"_L1, @""}, - {"multimedia-player"_L1, @"play.rectangle"}, + {"modem"_L1, @"phone.connection"}, + {"multimedia-player"_L1, @"ipod"}, {"network-wired"_L1, @"app.connected.to.app.below.fill"}, {"network-wireless"_L1, @"wifi"}, {"network-workgroup"_L1, @"network"}, - //{"pda"_L1, @""}, + {"pda"_L1, @"flipphone"}, {"phone"_L1, @"iphone"}, {"printer"_L1, @"printer"}, {"scanner"_L1, @"scanner"}, {"video-display"_L1, @"play.display"}, - //{"emblem-default"_L1, @""}, + {"emblem-default"_L1, @"circle"}, {"emblem-documents"_L1, @"doc.circle"}, {"emblem-downloads"_L1, @"arrow.down.circle"}, - {"emblem-favorite"_L1, @"star"}, - {"emblem-important"_L1, @"exclamationmark.bubble.circle"}, - {"emblem-mail"_L1, @"envelope"}, - {"emblem-photos"_L1, @"photo.stack"}, - //{"emblem-readonly"_L1, @""}, - {"emblem-shared"_L1, @"folder.badge.person.crop"}, + {"emblem-favorite"_L1, @"star.circle"}, + {"emblem-important"_L1, @"exclamationmark.circle"}, + {"emblem-mail"_L1, @"envelope.circle"}, + {"emblem-photos"_L1, @"photo.circle"}, + {"emblem-readonly"_L1, @"eye.circle"}, + {"emblem-shared"_L1, @"person.2.circle"}, {"emblem-symbolic-link"_L1, @"link.circle"}, {"emblem-synchronized"_L1, @"arrow.triangle.2.circlepath.circle"}, - {"emblem-system"_L1, @"gear"}, - //{"emblem-unreadable"_L1, @""}, + {"emblem-system"_L1, @"gear.circle"}, + {"emblem-unreadable"_L1, @"eye.slash.circle"}, {"text-x-generic"_L1, @"doc"}, // until iOS 18/macOS 15; @"document" after that {"folder"_L1, @"folder"}, - //{"folder-remote"_L1, @""}, + {"folder-remote"_L1, @"icloud"}, {"network-server"_L1, @"server.rack"}, //{"start-here"_L1, @""}, {"user-bookmarks"_L1, @"bookmark.circle"}, @@ -229,28 +231,28 @@ auto *loadImage(const QString &iconName) {"dialog-question"_L1, @"questionmark.circle"}, {"dialog-warning"_L1, @"exclamationmark.octagon"}, {"folder-drag-accept"_L1, @"plus.rectangle.on.folder"}, - //{"folder-open"_L1, @""}, + {"folder-open"_L1, @"arrow.forward.folder"}, {"folder-visiting"_L1, @"folder.circle"}, - {"image-loading"_L1, @"photo.circle"}, - {"image-missing"_L1, @"photo"}, + {"image-loading"_L1, @"photo.badge.arrow.down"}, + {"image-missing"_L1, @"photo.badge.exclamationmark"}, {"mail-attachment"_L1, @"paperclip"}, {"mail-unread"_L1, @"envelope.badge"}, {"mail-read"_L1, @"envelope.open"}, - {"mail-replied"_L1, @"arrowshape.turn.up.left"}, + //{"mail-replied"_L1, @""}, //{"mail-signed"_L1, @""}, - //{"mail-signed-verified"_L1, @""}, - {"media-playlist-repeat"_L1, @"repet"}, + {"mail-signed-verified"_L1, @"envelope.badge.shield.half.filled"}, + {"media-playlist-repeat"_L1, @"repeat"}, {"media-playlist-shuffle"_L1, @"shuffle"}, - //{"network-error"_L1, @""}, - //{"network-idle"_L1, @""}, - {"network-offline"_L1, @"network.slash"}, - //{"network-receive"_L1, @""}, - //{"network-transmit"_L1, @""}, - //{"network-transmit-receive"_L1, @""}, + {"network-error"_L1, @"xmark.icloud"}, + {"network-idle"_L1, @"icloud"}, + {"network-offline"_L1, @"icloud.slash"}, + {"network-receive"_L1, @"icloud.and.arrow.down"}, + {"network-transmit"_L1, @"icloud.and.arrow.up"}, + {"network-transmit-receive"_L1, @"arrow.trianglehead.2.clockwise.rotate.90.icloud"}, //{"printer-error"_L1, @""}, - {"printer-printing"_L1, @"printer.dotmatrix.filled.and.paper"}, // not sure - {"security-high"_L1, @"lock.shield"}, - //{"security-medium"_L1, @""}, + {"printer-printing"_L1, @"printer.dotmatrix"}, + {"security-high"_L1, @"lock.badge.checkmark"}, + {"security-medium"_L1, @"lock"}, {"security-low"_L1, @"lock.trianglebadge.exclamationmark"}, {"software-update-available"_L1, @"arrowshape.up.circle"}, {"software-update-urgent"_L1, @"exclamationmark.transmission"}, @@ -258,9 +260,9 @@ auto *loadImage(const QString &iconName) {"sync-synchronizing"_L1, @"arrow.triangle.2.circlepath"}, {"task-due"_L1, @"clock.badge.exclamationmark"}, {"task-past-due"_L1, @"clock.badge.xmark"}, - {"user-available"_L1, @"person.crop.circle.badge.checkmark"}, - {"user-away"_L1, @"person.crop.circle.badge.clock"}, - //{"user-idle"_L1, @""}, + {"user-available"_L1, @"person.crop.circle.badge"}, + {"user-away"_L1, @"person.crop.circle.badge.moon"}, + {"user-idle"_L1, @"person.crop.circle.badge.clock"}, {"user-offline"_L1, @"person.crop.circle.badge.xmark"}, //{"user-trash-full"_L1, @""}, {"weather-clear"_L1, @"sun.max"}, @@ -269,9 +271,9 @@ auto *loadImage(const QString &iconName) {"weather-few-clouds-night"_L1, @"cloud.moon"}, {"weather-fog"_L1, @"cloud.fog"}, {"weather-overcast"_L1, @"cloud"}, - //{"weather-severe-alert"_L1, @""}, - {"weather-showers"_L1, @"cloud.rain"}, - //{"weather-showers-scattered"_L1, @""}, + {"weather-severe-alert"_L1, @"cloud.bolt.rain"}, + {"weather-showers"_L1, @"cloud.heavyrain"}, + {"weather-showers-scattered"_L1, @"cloud.drizzle"}, {"weather-snow"_L1, @"cloud.snow"}, {"weather-storm"_L1, @"tropicalstorm"}, }; diff --git a/src/gui/platform/darwin/qapplekeymapper.mm b/src/gui/platform/darwin/qapplekeymapper.mm index 214865864ff..49f7a8ff0cb 100644 --- a/src/gui/platform/darwin/qapplekeymapper.mm +++ b/src/gui/platform/darwin/qapplekeymapper.mm @@ -94,60 +94,10 @@ static CarbonModifiers toCarbonModifiers(Qt::KeyboardModifiers qtModifiers) return carbonModifiers; } -// Keyboard keys (non-modifiers) -static QHash<char16_t, Qt::Key> standardKeys = { - { kHomeCharCode, Qt::Key_Home }, - { kEnterCharCode, Qt::Key_Enter }, - { kEndCharCode, Qt::Key_End }, - { kBackspaceCharCode, Qt::Key_Backspace }, - { kTabCharCode, Qt::Key_Tab }, - { kPageUpCharCode, Qt::Key_PageUp }, - { kPageDownCharCode, Qt::Key_PageDown }, - { kReturnCharCode, Qt::Key_Return }, - { kEscapeCharCode, Qt::Key_Escape }, - { kLeftArrowCharCode, Qt::Key_Left }, - { kRightArrowCharCode, Qt::Key_Right }, - { kUpArrowCharCode, Qt::Key_Up }, - { kDownArrowCharCode, Qt::Key_Down }, - { kHelpCharCode, Qt::Key_Help }, - { kDeleteCharCode, Qt::Key_Delete }, - // ASCII maps, for debugging - { ':', Qt::Key_Colon }, - { ';', Qt::Key_Semicolon }, - { '<', Qt::Key_Less }, - { '=', Qt::Key_Equal }, - { '>', Qt::Key_Greater }, - { '?', Qt::Key_Question }, - { '@', Qt::Key_At }, - { ' ', Qt::Key_Space }, - { '!', Qt::Key_Exclam }, - { '"', Qt::Key_QuoteDbl }, - { '#', Qt::Key_NumberSign }, - { '$', Qt::Key_Dollar }, - { '%', Qt::Key_Percent }, - { '&', Qt::Key_Ampersand }, - { '\'', Qt::Key_Apostrophe }, - { '(', Qt::Key_ParenLeft }, - { ')', Qt::Key_ParenRight }, - { '*', Qt::Key_Asterisk }, - { '+', Qt::Key_Plus }, - { ',', Qt::Key_Comma }, - { '-', Qt::Key_Minus }, - { '.', Qt::Key_Period }, - { '/', Qt::Key_Slash }, - { '[', Qt::Key_BracketLeft }, - { ']', Qt::Key_BracketRight }, - { '\\', Qt::Key_Backslash }, - { '_', Qt::Key_Underscore }, - { '`', Qt::Key_QuoteLeft }, - { '{', Qt::Key_BraceLeft }, - { '}', Qt::Key_BraceRight }, - { '|', Qt::Key_Bar }, - { '~', Qt::Key_AsciiTilde }, - { '^', Qt::Key_AsciiCircum } -}; - -static QHash<char16_t, Qt::Key> virtualKeys = { +// NSEvent.keyCode codes for keys that are independent of keyboard layout. +// Some of these are technically possible to add custom key maps for, but +// doing so would be unexpected. +static QHash<char16_t, Qt::Key> layoutIndependentKeyCodes = { { kVK_F1, Qt::Key_F1 }, { kVK_F2, Qt::Key_F2 }, { kVK_F3, Qt::Key_F3 }, @@ -164,16 +114,57 @@ static QHash<char16_t, Qt::Key> virtualKeys = { { kVK_F14, Qt::Key_F14 }, { kVK_F15, Qt::Key_F15 }, { kVK_F16, Qt::Key_F16 }, + { kVK_F17, Qt::Key_F17 }, + { kVK_F18, Qt::Key_F18 }, + { kVK_F19, Qt::Key_F19 }, + { kVK_F20, Qt::Key_F20 }, + { kVK_Return, Qt::Key_Return }, { kVK_Tab, Qt::Key_Tab }, + { kVK_Space, Qt::Key_Space }, { kVK_Escape, Qt::Key_Escape }, - { kVK_Help, Qt::Key_Help }, + { kVK_Delete, Qt::Key_Backspace }, + { kVK_ForwardDelete, Qt::Key_Delete }, + + { kVK_Home, Qt::Key_Home }, + { kVK_End, Qt::Key_End }, + { kVK_PageUp, Qt::Key_PageUp }, + { kVK_PageDown, Qt::Key_PageDown }, + { kVK_UpArrow, Qt::Key_Up }, { kVK_DownArrow, Qt::Key_Down }, { kVK_LeftArrow, Qt::Key_Left }, { kVK_RightArrow, Qt::Key_Right }, - { kVK_PageUp, Qt::Key_PageUp }, - { kVK_PageDown, Qt::Key_PageDown } + + { kVK_CapsLock, Qt::Key_CapsLock }, + { kVK_Shift, Qt::Key_Shift }, + { kVK_RightShift, Qt::Key_Shift }, + +#if 0 + // FIXME: Map these here instead of relying on + // custom logic in [QNSView flagsChanged:] + + { kVK_Command, Qt::Key_unknown }, + { kVK_RightCommand, Qt::Key_unknown }, + { kVK_Option, Qt::Key_unknown }, + { kVK_RightOption, Qt::Key_unknown }, + { kVK_Control, Qt::Key_unknown }, + { kVK_RightControl, Qt::Key_unknown }, + { kVK_Function, Qt::Key_unknown }, +#endif + + { kVK_VolumeUp, Qt::Key_VolumeUp }, + { kVK_VolumeDown, Qt::Key_VolumeDown }, + { kVK_Mute, Qt::Key_VolumeMute }, + +#if 0 + // FIXME: Figure out which Qt::Key this maps to + { kVK_ContextualMenu, Qt::Key_unknown }, +#endif + { kVK_Help, Qt::Key_Help }, + + { kVK_ANSI_KeypadClear, Qt::Key_Clear }, + { kVK_ANSI_KeypadEnter, Qt::Key_Enter }, }; static QHash<char16_t, Qt::Key> functionKeys = { @@ -211,41 +202,19 @@ static int toKeyCode(const QChar &key, int virtualKey, int modifiers) qCDebug(lcQpaKeyMapperKeys, "Mapping key: %d (0x%04x) / vk %d (0x%04x)", key.unicode(), key.unicode(), virtualKey, virtualKey); - if (key == char16_t(kClearCharCode) && virtualKey == 0x47) - return Qt::Key_Clear; - - if (key.isDigit()) { - qCDebug(lcQpaKeyMapperKeys, "Got digit key: %d", key.digitValue()); - return key.digitValue() + Qt::Key_0; - } - - if (key.isLetter()) { - qCDebug(lcQpaKeyMapperKeys, "Got letter key: %d", (key.toUpper().unicode() - 'A')); - return (key.toUpper().unicode() - 'A') + Qt::Key_A; - } - if (key.isSymbol()) { - qCDebug(lcQpaKeyMapperKeys, "Got symbol key: %d", (key.unicode())); - return key.unicode(); - } - - if (auto qtKey = standardKeys.value(key.unicode())) { + // Check first if we have a virtual key that should be treated as layout + // independent. If so, we want to return early without inspecting the key. + if (auto qtKey = layoutIndependentKeyCodes.value(virtualKey)) { + qCDebug(lcQpaKeyMapperKeys) << "Got" << qtKey << "based on layout independent virtual key"; // To work like Qt for X11 we issue Backtab when Shift + Tab are pressed if (qtKey == Qt::Key_Tab && (modifiers & Qt::ShiftModifier)) { - qCDebug(lcQpaKeyMapperKeys, "Got key: Qt::Key_Backtab"); + qCDebug(lcQpaKeyMapperKeys, "Transformed into Qt::Key_Backtab"); return Qt::Key_Backtab; } - - qCDebug(lcQpaKeyMapperKeys) << "Got" << qtKey; - return qtKey; - } - - // Last ditch try to match the scan code - if (auto qtKey = virtualKeys.value(virtualKey)) { - qCDebug(lcQpaKeyMapperKeys) << "Got scancode" << qtKey; return qtKey; } - // Check if they belong to key codes in private unicode range + // Then check if the key is one of the functions keys in the private Unicode range if (key >= char16_t(NSUpArrowFunctionKey) && key <= char16_t(NSModeSwitchFunctionKey)) { if (auto qtKey = functionKeys.value(key.unicode())) { qCDebug(lcQpaKeyMapperKeys) << "Got" << qtKey; @@ -257,6 +226,20 @@ static int toKeyCode(const QChar &key, int virtualKey, int modifiers) } } + if (key.isDigit()) { + qCDebug(lcQpaKeyMapperKeys, "Got digit key: %d", key.digitValue()); + return key.digitValue() + Qt::Key_0; + } + + if (key.isLetter()) { + qCDebug(lcQpaKeyMapperKeys, "Got letter key: %d", (key.toUpper().unicode() - 'A')); + return (key.toUpper().unicode() - 'A') + Qt::Key_A; + } + if (key.isSymbol()) { + qCDebug(lcQpaKeyMapperKeys, "Got symbol key: %d", (key.unicode())); + return key.unicode(); + } + qCDebug(lcQpaKeyMapperKeys, "Unknown case.. %d[%d] %d", key.unicode(), key.toLatin1(), virtualKey); return Qt::Key_unknown; } diff --git a/src/gui/rhi/qrhivulkan.cpp b/src/gui/rhi/qrhivulkan.cpp index b946f8777b6..c5167a6e7de 100644 --- a/src/gui/rhi/qrhivulkan.cpp +++ b/src/gui/rhi/qrhivulkan.cpp @@ -8824,6 +8824,18 @@ bool QVkSwapChain::ensureSurface() if (ok) { colorFormat = formats[i].format; colorSpace = formats[i].colorSpace; +#if QT_CONFIG(wayland) + // On Wayland, only one color management surface can be created at a time without + // triggering a protocol error, and we create one ourselves in some situations. + // To avoid this problem, use VK_COLOR_SPACE_PASS_THROUGH_EXT when supported, + // so that the driver doesn't create a color management surface as well. + const bool hasPassThrough = std::any_of(formats.begin(), formats.end(), [this](const VkSurfaceFormatKHR &fmt) { + return fmt.format == colorFormat && fmt.colorSpace == VK_COLOR_SPACE_PASS_THROUGH_EXT; + }); + if (hasPassThrough) { + colorSpace = VK_COLOR_SPACE_PASS_THROUGH_EXT; + } +#endif break; } } diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp index 53a984306c6..d722bceb289 100644 --- a/src/gui/text/qtextformat.cpp +++ b/src/gui/text/qtextformat.cpp @@ -657,8 +657,8 @@ Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextTableCellFormat & \value FontStyleName \value FontPointSize \value FontPixelSize - \value FontSizeAdjustment Specifies the change in size given to the fontsize already set using - FontPointSize or FontPixelSize. + \value FontSizeAdjustment Specifies an integer adjustment added to the base font size set using + \c FontPointSize or \c FontPixelSize. \value FontFixedPitch \omitvalue FontSizeIncrement \value FontWeight diff --git a/src/gui/util/qundostack.cpp b/src/gui/util/qundostack.cpp index 3d1d8a2b788..27b131cd733 100644 --- a/src/gui/util/qundostack.cpp +++ b/src/gui/util/qundostack.cpp @@ -425,16 +425,16 @@ void QUndoStackPrivate::setIndex(int idx, bool clean) emit q->indexChanged(index); } - const ActionState newUndoState{q->canUndo(), q->undoText()}; - if (indexChanged || newUndoState != undoActionState) { - undoActionState = newUndoState; + if (ActionState newUndoState{q->canUndo(), q->undoText()}; + indexChanged || newUndoState != undoActionState) { + undoActionState = std::move(newUndoState); emit q->canUndoChanged(undoActionState.enabled); emit q->undoTextChanged(undoActionState.text); } - const ActionState newRedoState{q->canRedo(), q->redoText()}; - if (indexChanged || newRedoState != redoActionState) { - redoActionState = newRedoState; + if (ActionState newRedoState{q->canRedo(), q->redoText()}; + indexChanged || newRedoState != redoActionState) { + redoActionState = std::move(newRedoState); emit q->canRedoChanged(redoActionState.enabled); emit q->redoTextChanged(redoActionState.text); } diff --git a/src/gui/util/qundostack_p.h b/src/gui/util/qundostack_p.h index fea201ce62d..6bdcf5fb20b 100644 --- a/src/gui/util/qundostack_p.h +++ b/src/gui/util/qundostack_p.h @@ -59,10 +59,17 @@ public: bool enabled = false; QString text; - bool operator!=(const ActionState &other) const noexcept - { - return enabled != other.enabled || text != other.text; - } + friend bool operator==(const ActionState &lhs, const ActionState &rhs) noexcept +#ifdef __cpp_impl_three_way_comparison + = default; +#else + { return lhs.enabled == rhs.enabled && lhs.text == rhs.text; } + friend bool operator!=(const ActionState &lhs, const ActionState &rhs) noexcept + { return !(lhs == rhs); } +#endif + // some compiler's reject seed = 0) = delete, overload instead: + friend void qHash(const ActionState &key, size_t seed) = delete; + friend void qHash(const ActionState &key) = delete; }; QList<QUndoCommand*> command_list; diff --git a/src/gui/vulkan/qvulkanwindow.cpp b/src/gui/vulkan/qvulkanwindow.cpp index a1457006888..1e52e460d38 100644 --- a/src/gui/vulkan/qvulkanwindow.cpp +++ b/src/gui/vulkan/qvulkanwindow.cpp @@ -871,6 +871,19 @@ void QVulkanWindowPrivate::init() } } +#if QT_CONFIG(wayland) + // On Wayland, only one color management surface can be created at a time without + // triggering a protocol error, and we create one ourselves in some situations. + // To avoid this problem, use VK_COLOR_SPACE_PASS_THROUGH_EXT when supported, + // so that the driver doesn't create a color management surface as well. + const bool hasPassthrough = std::any_of(formats.cbegin(), formats.cend(), [this](const VkSurfaceFormatKHR &format) { + return format.format == colorFormat && format.colorSpace == VK_COLOR_SPACE_PASS_THROUGH_EXT; + }); + if (hasPassthrough) { + colorSpace = VK_COLOR_SPACE_PASS_THROUGH_EXT; + } +#endif + const VkFormat dsFormatCandidates[] = { VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT, diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp index 07f36df851c..c9d2b6f7b88 100644 --- a/src/network/access/qhttpnetworkrequest.cpp +++ b/src/network/access/qhttpnetworkrequest.cpp @@ -5,6 +5,8 @@ #include "qhttpnetworkrequest_p.h" #include "private/qnoncontiguousbytedevice_p.h" +#include <QtCore/private/qtools_p.h> + QT_BEGIN_NAMESPACE QT_IMPL_METATYPE_EXTERN(QHttpNetworkRequest) @@ -129,8 +131,19 @@ QByteArray QHttpNetworkRequestPrivate::header(const QHttpNetworkRequest &request ba += QByteArray::number(request.minorVersion()); ba += "\r\n"; + constexpr auto titlecase = [](QByteArrayView name) { + std::string n; + n.reserve(size_t(name.size())); + bool toUpperNext = true; + for (char c : name) { + n += toUpperNext ? QtMiscUtils::toAsciiUpper(c) : c; + toUpperNext = c == '-'; + } + return n; + }; + for (qsizetype i = 0; i < headers.size(); ++i) { - ba += headers.nameAt(i); + ba += titlecase(headers.nameAt(i)); ba += ": "; ba += headers.valueAt(i); ba += "\r\n"; diff --git a/src/network/kernel/qhostaddress.cpp b/src/network/kernel/qhostaddress.cpp index ec67ee80a1e..82632110d32 100644 --- a/src/network/kernel/qhostaddress.cpp +++ b/src/network/kernel/qhostaddress.cpp @@ -140,13 +140,6 @@ bool QHostAddressPrivate::parse(const QString &ipString) return false; } -void QHostAddressPrivate::clear() -{ - a = 0; - protocol = QHostAddress::UnknownNetworkLayerProtocol; - memset(&a6, 0, sizeof(a6)); -} - AddressClassification QHostAddressPrivate::classify() const { if (a) { diff --git a/src/network/kernel/qhostaddress_p.h b/src/network/kernel/qhostaddress_p.h index 6cc28cd5a9b..608080e9ede 100644 --- a/src/network/kernel/qhostaddress_p.h +++ b/src/network/kernel/qhostaddress_p.h @@ -74,7 +74,13 @@ public: void setAddress(const Q_IPV6ADDR &a_); bool parse(const QString &ipString); - void clear(); + void clear() + { + a6 = {}; + a = 0; + protocol = QHostAddress::UnknownNetworkLayerProtocol; + scopeId.clear(); + } QString scopeId; diff --git a/src/network/kernel/qnetworkinformation.cpp b/src/network/kernel/qnetworkinformation.cpp index 80551b64633..5c4e65839c5 100644 --- a/src/network/kernel/qnetworkinformation.cpp +++ b/src/network/kernel/qnetworkinformation.cpp @@ -16,7 +16,6 @@ #include <algorithm> #include <memory> -#include <mutex> QT_BEGIN_NAMESPACE diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp index bcd9aecdea9..430197ccc6e 100644 --- a/src/network/socket/qnativesocketengine_unix.cpp +++ b/src/network/socket/qnativesocketengine_unix.cpp @@ -33,7 +33,7 @@ #include <sys/socket.h> #include <netinet/sctp.h> #endif -#ifdef Q_OS_BSD4 +#ifdef AF_LINK # include <net/if_dl.h> #endif @@ -142,10 +142,6 @@ static void convertToLevelAndOption(QNativeSocketEngine::SocketOption opt, level = IPPROTO_IP; #ifdef IP_PKTINFO n = IP_PKTINFO; -#elif defined(IP_RECVDSTADDR) - // variant found in QNX and FreeBSD; it will get us only the - // destination address, not the interface; we need IP_RECVIF for that. - n = IP_RECVDSTADDR; #endif } break; @@ -326,6 +322,11 @@ int QNativeSocketEnginePrivate::option(QNativeSocketEngine::SocketOption opt) co */ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt, int v) { +#ifdef QNATIVESOCKETENGINE_DEBUG +# define perrorDebug(msg) perror("QNativeSocketEnginePrivate::setOption(): " msg) +#else +# define perrorDebug(msg) (void)0 +#endif Q_Q(QNativeSocketEngine); if (!q->isValid()) return false; @@ -337,25 +338,16 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt #if !defined(Q_OS_VXWORKS) int flags = ::fcntl(socketDescriptor, F_GETFL, 0); if (flags == -1) { -#ifdef QNATIVESOCKETENGINE_DEBUG - perror("QNativeSocketEnginePrivate::setOption(): fcntl(F_GETFL) failed"); -#endif + perrorDebug("fcntl(F_GETFL) failed"); return false; } if (::fcntl(socketDescriptor, F_SETFL, flags | O_NONBLOCK) == -1) { -#ifdef QNATIVESOCKETENGINE_DEBUG - perror("QNativeSocketEnginePrivate::setOption(): fcntl(F_SETFL) failed"); -#endif + perrorDebug("fcntl(F_SETFL) failed"); return false; } #else // Q_OS_VXWORKS - int onoff = 1; - - if (qt_safe_ioctl(socketDescriptor, FIONBIO, &onoff) < 0) { - -#ifdef QNATIVESOCKETENGINE_DEBUG - perror("QNativeSocketEnginePrivate::setOption(): ioctl(FIONBIO, 1) failed"); -#endif + if (qt_safe_ioctl(socketDescriptor, FIONBIO, &v) < 0) { + perrorDebug("ioctl(FIONBIO, 1) failed"); return false; } #endif // Q_OS_VXWORKS @@ -364,6 +356,18 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt case QNativeSocketEngine::BindExclusively: return true; + case QNativeSocketEngine::ReceivePacketInformation: + if (socketProtocol == QAbstractSocket::IPv4Protocol) { +#if !defined(IP_PKTINFO) && defined(IP_RECVDSTADDR) && defined(IP_RECVIF) + // Seen on FreeBSD and QNX. We need both to get the information we want. + int r = 0; + r += ::setsockopt(socketDescriptor, IPPROTO_IP, IP_RECVDSTADDR, &v, sizeof(v)); + r += ::setsockopt(socketDescriptor, IPPROTO_IP, IP_RECVIF, &v, sizeof(v)); + return r == 0; +#endif + } + break; + case QNativeSocketEngine::MaxStreamsSocketOption: { #ifndef QT_NO_SCTP sctp_initmsg sctpInitMsg; @@ -417,6 +421,7 @@ bool QNativeSocketEnginePrivate::setOption(QNativeSocketEngine::SocketOption opt if (n == -1) return false; return ::setsockopt(socketDescriptor, level, n, (char *) &v, sizeof(v)) == 0; +#undef perrorDebug } bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &addr, quint16 port) @@ -918,7 +923,7 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxS { // we use quintptr to force the alignment quintptr cbuf[(CMSG_SPACE(sizeof(struct in6_pktinfo)) + CMSG_SPACE(sizeof(int)) -#if !defined(IP_PKTINFO) && defined(IP_RECVIF) && defined(Q_OS_BSD4) +#if !defined(IP_PKTINFO) && defined(IP_RECVIF) && defined(AF_LINK) + CMSG_SPACE(sizeof(sockaddr_dl)) #endif #ifndef QT_NO_SCTP @@ -1010,7 +1015,7 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxS header->destinationAddress.setAddress(ntohl(addr->s_addr)); } # endif -# if defined(IP_RECVIF) && defined(Q_OS_BSD4) +# if defined(IP_RECVIF) && defined(AF_LINK) if (cmsgptr->cmsg_level == IPPROTO_IP && cmsgptr->cmsg_type == IP_RECVIF && cmsgptr->cmsg_len >= CMSG_LEN(sizeof(sockaddr_dl))) { sockaddr_dl *sdl = reinterpret_cast<sockaddr_dl *>(CMSG_DATA(cmsgptr)); diff --git a/src/plugins/platforms/android/androidjniaccessibility.cpp b/src/plugins/platforms/android/androidjniaccessibility.cpp index 028ae6d682a..6154f4121d2 100644 --- a/src/plugins/platforms/android/androidjniaccessibility.cpp +++ b/src/plugins/platforms/android/androidjniaccessibility.cpp @@ -726,9 +726,18 @@ namespace QtAndroidAccessibility break; } + float min = info.minValue.toFloat(); + float max = info.maxValue.toFloat(); + float current = info.currentValue.toFloat(); + if (info.role == QAccessible::ProgressBar) { + rangeType = 2; // RANGE_TYPE_PERCENT + current = 100 * (current - min) / (max - min); + min = 0.0f; + max = 100.0f; + } + QJniObject rangeInfo("android/view/accessibility/AccessibilityNodeInfo$RangeInfo", - "(IFFF)V", rangeType, info.minValue.toFloat(), - info.maxValue.toFloat(), info.currentValue.toFloat()); + "(IFFF)V", rangeType, min, max, current); if (rangeInfo.isValid()) { env->CallVoidMethod(node, m_setRangeInfoMethodID, rangeInfo.object()); diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp index c8555cdc659..f64742ff133 100644 --- a/src/plugins/platforms/android/qandroidplatformscreen.cpp +++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp @@ -291,7 +291,7 @@ void QAndroidPlatformScreen::topVisibleWindowChanged() if (w && w->handle()) { QAndroidPlatformWindow *platformWindow = static_cast<QAndroidPlatformWindow *>(w->handle()); if (platformWindow) { - platformWindow->updateSystemUiVisibility(); + platformWindow->updateSystemUiVisibility(w->windowStates(), w->flags()); platformWindow->updateFocusedEditText(); } } diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index 96c4bfa06f1..c4245998772 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -56,15 +56,12 @@ void QAndroidPlatformWindow::initialize() isForeignWindow(), m_nativeParentQtWindow, listener); m_nativeViewId = m_nativeQtWindow.callMethod<jint>("getId"); - m_windowFlags = Qt::Widget; - m_windowState = Qt::WindowNoState; // the surfaceType is overwritten in QAndroidPlatformOpenGLWindow ctor so let's save // the fact that it's a raster window for now m_isRaster = window->surfaceType() == QSurface::RasterSurface; - setWindowState(window->windowStates()); // the following is in relation to the virtual geometry - const bool forceMaximize = m_windowState & (Qt::WindowMaximized | Qt::WindowFullScreen); + const bool forceMaximize = window->windowStates() & (Qt::WindowMaximized | Qt::WindowFullScreen); const QRect nativeScreenGeometry = platformScreen()->availableGeometry(); if (forceMaximize) { setGeometry(nativeScreenGeometry); @@ -123,7 +120,7 @@ void QAndroidPlatformWindow::raise() QWindowSystemInterface::handleFocusWindowChanged(window(), Qt::ActiveWindowFocusReason); return; } - updateSystemUiVisibility(); + updateSystemUiVisibility(window()->windowStates(), window()->flags()); platformScreen()->raise(this); } @@ -167,13 +164,13 @@ void QAndroidPlatformWindow::setVisible(bool visible) if (!visible && window() == qGuiApp->focusWindow()) { platformScreen()->topVisibleWindowChanged(); } else { - updateSystemUiVisibility(); - if ((m_windowState & Qt::WindowFullScreen) - || (window()->flags() & Qt::ExpandedClientAreaHint)) { + const Qt::WindowStates states = window()->windowStates(); + const Qt::WindowFlags flags = window()->flags(); + updateSystemUiVisibility(states, flags); + if (states & Qt::WindowFullScreen || flags & Qt::ExpandedClientAreaHint) setGeometry(platformScreen()->geometry()); - } else if (m_windowState & Qt::WindowMaximized) { + else if (states & Qt::WindowMaximized) setGeometry(platformScreen()->availableGeometry()); - } requestActivateWindow(); } } @@ -188,27 +185,18 @@ void QAndroidPlatformWindow::setVisible(bool visible) void QAndroidPlatformWindow::setWindowState(Qt::WindowStates state) { - if (m_windowState == state) - return; - QPlatformWindow::setWindowState(state); - m_windowState = state; if (window()->isVisible()) - updateSystemUiVisibility(); + updateSystemUiVisibility(state, window()->flags()); } void QAndroidPlatformWindow::setWindowFlags(Qt::WindowFlags flags) { - if (m_windowFlags == flags) - return; + QPlatformWindow::setWindowFlags(flags); - m_windowFlags = flags; -} - -Qt::WindowFlags QAndroidPlatformWindow::windowFlags() const -{ - return m_windowFlags; + if (window()->isVisible()) + updateSystemUiVisibility(window()->windowStates(), flags); } void QAndroidPlatformWindow::setParent(const QPlatformWindow *window) @@ -256,16 +244,15 @@ void QAndroidPlatformWindow::requestActivateWindow() raise(); } -void QAndroidPlatformWindow::updateSystemUiVisibility() +void QAndroidPlatformWindow::updateSystemUiVisibility(Qt::WindowStates states, Qt::WindowFlags flags) { - const int flags = window()->flags(); const bool isNonRegularWindow = flags & (Qt::Popup | Qt::Dialog | Qt::Sheet) & ~Qt::Window; if (!isNonRegularWindow) { auto iface = qGuiApp->nativeInterface<QNativeInterface::QAndroidApplication>(); iface->runOnAndroidMainThread([=]() { using namespace QtJniTypes; auto activity = iface->context().object<Activity>(); - if (m_windowState & Qt::WindowFullScreen) + if (states & Qt::WindowFullScreen) QtWindowInsetsController::callStaticMethod("showFullScreen", activity); else if (flags & Qt::ExpandedClientAreaHint) QtWindowInsetsController::callStaticMethod("showExpanded", activity); diff --git a/src/plugins/platforms/android/qandroidplatformwindow.h b/src/plugins/platforms/android/qandroidplatformwindow.h index 07f4e12b35c..826a8d30ade 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.h +++ b/src/plugins/platforms/android/qandroidplatformwindow.h @@ -43,7 +43,6 @@ public: void setWindowState(Qt::WindowStates state) override; void setWindowFlags(Qt::WindowFlags flags) override; - Qt::WindowFlags windowFlags() const; void setParent(const QPlatformWindow *window) override; WId winId() const override; @@ -58,7 +57,7 @@ public: void propagateSizeHints() override; void requestActivateWindow() override; - void updateSystemUiVisibility(); + void updateSystemUiVisibility(Qt::WindowStates states, Qt::WindowFlags flags); void updateFocusedEditText(); inline bool isRaster() const { return m_isRaster; } bool isExposed() const override; @@ -82,8 +81,6 @@ protected: bool isEmbeddingContainer() const; virtual void clearSurface() {} - Qt::WindowFlags m_windowFlags; - Qt::WindowStates m_windowState; bool m_isRaster; int m_nativeViewId = -1; diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm index d4c5d0f0425..e0ef6cec794 100644 --- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm @@ -161,7 +161,8 @@ typedef QSharedPointer<QFileDialogOptions> SharedPointerFileDialogOptions; bool selectable = (m_options->acceptMode() == QFileDialogOptions::AcceptSave) || [self panel:m_panel shouldEnableURL:url]; - m_panel.nameFieldStringValue = selectable ? info.fileName().toNSString() : @""; + if (!openpanel_cast(m_panel)) + m_panel.nameFieldStringValue = selectable ? info.fileName().toNSString() : @""; [self updateProperties]; diff --git a/src/plugins/platforms/cocoa/qnsview_keys.mm b/src/plugins/platforms/cocoa/qnsview_keys.mm index aab01a7b439..e9ef769ec4b 100644 --- a/src/plugins/platforms/cocoa/qnsview_keys.mm +++ b/src/plugins/platforms/cocoa/qnsview_keys.mm @@ -114,6 +114,9 @@ static bool sendAsShortcut(const KeyEvent &keyEvent, QWindow *window) qCDebug(lcQpaKeys) << "Interpreting key event for focus object" << focusObject; m_currentlyInterpretedKeyEvent = nsevent; + // Asking the input context to handle the event will involve both + // the current input method, as well as NSKeyBindingManager, which + // may result in action callbacks to doCommandBySelector. if (![self.inputContext handleEvent:nsevent]) { qCDebug(lcQpaKeys) << "Input context did not consume event"; m_sendKeyEvent = true; diff --git a/src/plugins/platforms/ios/qiosdocumentpickercontroller.mm b/src/plugins/platforms/ios/qiosdocumentpickercontroller.mm index 4e019b69cc4..6ca6554f673 100644 --- a/src/plugins/platforms/ios/qiosdocumentpickercontroller.mm +++ b/src/plugins/platforms/ios/qiosdocumentpickercontroller.mm @@ -7,8 +7,10 @@ #include "qiosdocumentpickercontroller.h" +#include <QtCore/qpointer.h> + @implementation QIOSDocumentPickerController { - QIOSFileDialog *m_fileDialog; + QPointer<QIOSFileDialog> m_fileDialog; } - (instancetype)initWithQIOSFileDialog:(QIOSFileDialog *)fileDialog @@ -61,6 +63,9 @@ { Q_UNUSED(controller); + if (!m_fileDialog) + return; + QList<QUrl> files; for (NSURL* url in urls) files.append(QUrl::fromNSURL(url)); @@ -71,12 +76,18 @@ - (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller { + if (!m_fileDialog) + return; + Q_UNUSED(controller); emit m_fileDialog->reject(); } - (void)presentationControllerDidDismiss:(UIPresentationController *)presentationController { + if (!m_fileDialog) + return; + Q_UNUSED(presentationController); // "Called on the delegate when the user has taken action to dismiss the diff --git a/src/plugins/platforms/wasm/qwasmaccessibility.cpp b/src/plugins/platforms/wasm/qwasmaccessibility.cpp index 35e804531bc..5fa79482217 100644 --- a/src/plugins/platforms/wasm/qwasmaccessibility.cpp +++ b/src/plugins/platforms/wasm/qwasmaccessibility.cpp @@ -323,8 +323,9 @@ void QWasmAccessibility::setProperty(emscripten::val element, const std::string } -void QWasmAccessibility::addEventListener(emscripten::val element, const char *eventType) +void QWasmAccessibility::addEventListener(QAccessibleInterface *iface, emscripten::val element, const char *eventType) { + element.set("data-qta11yinterface", reinterpret_cast<size_t>(iface)); element.call<void>("addEventListener", emscripten::val(eventType), QWasmSuspendResumeControl::get()->jsEventHandlerAt(m_eventHandlerIndex), true); @@ -352,7 +353,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac case QAccessible::Button: { element = document.call<emscripten::val>("createElement", std::string("button")); - addEventListener(element, "click"); + addEventListener(iface, element, "click"); } break; case QAccessible::CheckBox: { @@ -360,7 +361,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac setAttribute(element, "type", "checkbox"); setAttribute(element, "checked", iface->state().checked); setProperty(element, "indeterminate", iface->state().checkStateMixed); - addEventListener(element, "change"); + addEventListener(iface, element, "change"); } break; case QAccessible::Switch: { @@ -371,7 +372,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac setAttribute(element, "aria-checked", "true"); else setAttribute(element, "aria-checked", "false"); - addEventListener(element, "change"); + addEventListener(iface, element, "change"); } break; case QAccessible::RadioButton: { @@ -379,7 +380,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac setAttribute(element, "type", "radio"); setAttribute(element, "checked", iface->state().checked); setProperty(element, "name", "buttonGroup"); - addEventListener(element, "change"); + addEventListener(iface, element, "change"); } break; case QAccessible::SpinBox: @@ -413,7 +414,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac element = document.call<emscripten::val>("createElement", std::string("button")); setAttribute(element, "role", "tab"); setAttribute(element, "title", text.toStdString()); - addEventListener(element, "click"); + addEventListener(iface, element, "click"); } break; case QAccessible::ScrollBar: { @@ -422,7 +423,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac element = document.call<emscripten::val>("createElement", std::string("div")); setAttribute(element, "role", "scrollbar"); setAttribute(element, "aria-valuenow", valueString); - addEventListener(element, "change"); + addEventListener(iface, element, "change"); } break; case QAccessible::StaticText: { @@ -436,7 +437,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac element = document.call<emscripten::val>("createElement", std::string("div")); setAttribute(element, "role", "toolbar"); setAttribute(element, "title", text.toStdString()); - addEventListener(element, "click"); + addEventListener(iface, element, "click"); }break; case QAccessible::MenuItem: case QAccessible::ButtonMenu: { @@ -444,7 +445,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac element = document.call<emscripten::val>("createElement", std::string("button")); setAttribute(element, "role", "menuitem"); setAttribute(element, "title", text.toStdString()); - addEventListener(element, "click"); + addEventListener(iface, element, "click"); }break; case QAccessible::MenuBar: case QAccessible::PopupMenu: { @@ -471,7 +472,7 @@ emscripten::val QWasmAccessibility::createHtmlElement(QAccessibleInterface *ifac element = document.call<emscripten::val>("createElement", std::string("div")); } - addEventListener(element, "focus"); + addEventListener(iface, element, "focus"); return element; }(); @@ -542,6 +543,7 @@ void QWasmAccessibility::linkToParent(QAccessibleInterface *iface) { emscripten::val element = getHtmlElement(iface); emscripten::val container = getElementContainer(iface); + if (container.isUndefined() || element.isUndefined()) return; @@ -554,21 +556,21 @@ void QWasmAccessibility::linkToParent(QAccessibleInterface *iface) emscripten::val next = emscripten::val::undefined(); const int thisIndex = iface->parent()->indexOfChild(iface); - Q_ASSERT(thisIndex >= 0 && thisIndex < iface->parent()->childCount()); - for (int i = thisIndex + 1; i < iface->parent()->childCount(); ++i) { - const auto elementI = getHtmlElement(iface->parent()->child(i)); - if (!elementI.isUndefined() && - elementI["parentElement"] == container) { - next = elementI; - break; + if (thisIndex >= 0) { + Q_ASSERT(thisIndex < iface->parent()->childCount()); + for (int i = thisIndex + 1; i < iface->parent()->childCount(); ++i) { + const auto elementI = getHtmlElement(iface->parent()->child(i)); + if (!elementI.isUndefined() && + elementI["parentElement"] == container) { + next = elementI; + break; + } } + if (next.isUndefined()) + container.call<void>("appendChild", element); + else + container.call<void>("insertBefore", element, next); } - if (next.isUndefined()) { - container.call<void>("appendChild", element); - } else { - container.call<void>("insertBefore", element, next); - } - const auto activeElementAfter = emscripten::val::take_ownership( getActiveElement_js(emscripten::val::undefined().as_handle())); if (activeElementBefore != activeElementAfter) { @@ -712,22 +714,26 @@ void QWasmAccessibility::handleLineEditUpdate(QAccessibleEvent *event) void QWasmAccessibility::handleEventFromHtmlElement(const emscripten::val event) { - QAccessibleInterface *iface = m_elements.key(event["target"]); + if (event["target"].isNull() || event["target"].isUndefined()) + return; - if (iface == nullptr) { + if (event["target"]["data-qta11yinterface"].isNull() || event["target"]["data-qta11yinterface"].isUndefined()) return; - } else { - QString eventType = QString::fromStdString(event["type"].as<std::string>()); - const auto& actionNames = QAccessibleBridgeUtils::effectiveActionNames(iface); - - if (eventType == "focus") { - if (actionNames.contains(QAccessibleActionInterface::setFocusAction())) - iface->actionInterface()->doAction(QAccessibleActionInterface::setFocusAction()); - } else if (actionNames.contains(QAccessibleActionInterface::pressAction())) { - iface->actionInterface()->doAction(QAccessibleActionInterface::pressAction()); - } else if (actionNames.contains(QAccessibleActionInterface::toggleAction())) { - iface->actionInterface()->doAction(QAccessibleActionInterface::toggleAction()); - } + + auto iface = reinterpret_cast<QAccessibleInterface *>(event["target"]["data-qta11yinterface"].as<size_t>()); + if (m_elements.find(iface) == m_elements.end()) + return; + + const QString eventType = QString::fromStdString(event["type"].as<std::string>()); + const auto& actionNames = QAccessibleBridgeUtils::effectiveActionNames(iface); + + if (eventType == "focus") { + if (actionNames.contains(QAccessibleActionInterface::setFocusAction())) + iface->actionInterface()->doAction(QAccessibleActionInterface::setFocusAction()); + } else if (actionNames.contains(QAccessibleActionInterface::pressAction())) { + iface->actionInterface()->doAction(QAccessibleActionInterface::pressAction()); + } else if (actionNames.contains(QAccessibleActionInterface::toggleAction())) { + iface->actionInterface()->doAction(QAccessibleActionInterface::toggleAction()); } } diff --git a/src/plugins/platforms/wasm/qwasmaccessibility.h b/src/plugins/platforms/wasm/qwasmaccessibility.h index 2b4716d64e7..26f3e0e9afe 100644 --- a/src/plugins/platforms/wasm/qwasmaccessibility.h +++ b/src/plugins/platforms/wasm/qwasmaccessibility.h @@ -116,7 +116,7 @@ private: void setProperty(emscripten::val element, const std::string &attr, const char *val); void setProperty(emscripten::val element, const std::string &attr, bool val); - void addEventListener(emscripten::val element, const char *eventType); + void addEventListener(QAccessibleInterface *, emscripten::val element, const char *eventType); private: static QWasmAccessibility *s_instance; diff --git a/src/plugins/platforms/wasm/qwasminputcontext.cpp b/src/plugins/platforms/wasm/qwasminputcontext.cpp index 614d5bd25a3..18a457198f1 100644 --- a/src/plugins/platforms/wasm/qwasminputcontext.cpp +++ b/src/plugins/platforms/wasm/qwasminputcontext.cpp @@ -225,8 +225,8 @@ void QWasmInputContext::updateGeometry() qCDebug(qLcQpaWasmInputContext) << Q_FUNC_INFO << "propagating inputItemRectangle:" << inputItemRectangle; m_inputElement["style"].set("left", std::to_string(inputItemRectangle.x()) + "px"); m_inputElement["style"].set("top", std::to_string(inputItemRectangle.y()) + "px"); - m_inputElement["style"].set("width", std::to_string(inputItemRectangle.width()) + "px"); - m_inputElement["style"].set("height", std::to_string(inputItemRectangle.height()) + "px"); + m_inputElement["style"].set("width", "1px"); + m_inputElement["style"].set("height", "1px"); } } diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index 82a86d6ff3a..01716fba60c 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -4019,9 +4019,11 @@ void QWindowsWindow::requestUpdate() // request or we are waiting for the event loop to process // the Posted event on the GUI thread. if (m_vsyncUpdatePending.testAndSetAcquire(UpdateState::Requested, UpdateState::Posted)) { - QMetaObject::invokeMethod(w, [w] { + QWindowsWindow *oldSelf = this; + QMetaObject::invokeMethod(w, [w, oldSelf] { + // 'oldSelf' is only used for comparison, don't access it directly! auto *self = static_cast<QWindowsWindow *>(w->handle()); - if (self) { + if (self && self == oldSelf) { // The platform window is still alive self->m_vsyncUpdatePending.storeRelease(UpdateState::Ready); self->deliverUpdateRequest(); diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm index 5ba6f3e1649..0b05a31ca5c 100644 --- a/src/plugins/styles/mac/qmacstyle_mac.mm +++ b/src/plugins/styles/mac/qmacstyle_mac.mm @@ -5849,6 +5849,9 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex const auto aquaSize = d->effectiveAquaSizeConstrain(opt, widget); const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::Stepper, aquaSize); NSStepperCell *cell = static_cast<NSStepperCell *>(d->cocoaCell(cw)); + const auto controlSize = cell.controlSize; + if (qt_apple_runningWithLiquidGlass()) + cell.controlSize = NSControlSizeMini; cell.enabled = (sb->state & State_Enabled); const CGRect newRect = [cell drawingRectForBounds:updown.toCGRect()]; @@ -5869,6 +5872,8 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex [cell stopTracking:pressPoint at:pressPoint inView:d->backingStoreNSView mouseIsUp:NO]; d->restoreNSGraphicsContext(cg); + if (qt_apple_runningWithLiquidGlass()) + cell.controlSize = controlSize; } } break; diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index 25142612c4f..c4a35115639 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -44,7 +44,8 @@ using namespace Qt::StringLiterals; static constexpr int topLevelRoundingRadius = 8; //Radius for toplevel items like popups for round corners static constexpr int secondLevelRoundingRadius = 4; //Radius for second level items like hovered menu item round corners - +static constexpr int contentItemHMargin = 4; // margin between content items (e.g. text and icon) +static constexpr int contentHMargin = 2 * 3; // margin between rounded border and content (= rounded border margin * 3) namespace StyleOptionHelper { inline bool isChecked(const QStyleOption *option) @@ -106,6 +107,7 @@ inline ControlState calcControlState(const QStyleOption *option) #define ChromeRestore u"\uE923"_s #define ChromeClose u"\uE8BB"_s +#define More u"\uE712"_s #define Help u"\uE897"_s template <typename R, typename P, typename B> @@ -121,9 +123,9 @@ static constexpr int percentToAlpha(double percent) return qRound(percent * 255. / 100.); } -static constexpr std::array<QColor, 32> WINUI3ColorsLight { - QColor(0x00,0x00,0x00,0x09), //subtleHighlightColor - QColor(0x00,0x00,0x00,0x06), //subtlePressedColor +static constexpr std::array<QColor, 33> WINUI3ColorsLight { + QColor(0x00,0x00,0x00,percentToAlpha(3.73)), // subtleHighlightColor (fillSubtleSecondary) + QColor(0x00,0x00,0x00,percentToAlpha(2.41)), // subtlePressedColor (fillSubtleTertiary) QColor(0x00,0x00,0x00,0x0F), //frameColorLight QColor(0x00,0x00,0x00,percentToAlpha(60.63)), //frameColorStrong QColor(0x00,0x00,0x00,percentToAlpha(21.69)), //frameColorStrongDisabled @@ -154,11 +156,12 @@ static constexpr std::array<QColor, 32> WINUI3ColorsLight { QColor(0xFF,0xFF,0xFF,percentToAlpha(100)), // textOnAccentPrimary QColor(0xFF,0xFF,0xFF,percentToAlpha(70)), // textOnAccentSecondary QColor(0xFF,0xFF,0xFF,percentToAlpha(100)), // textOnAccentDisabled + QColor(0x00,0x00,0x00,percentToAlpha(8.03)), // dividerStrokeDefault }; -static constexpr std::array<QColor, 32> WINUI3ColorsDark { - QColor(0xFF,0xFF,0xFF,0x0F), //subtleHighlightColor - QColor(0xFF,0xFF,0xFF,0x0A), //subtlePressedColor +static constexpr std::array<QColor, 33> WINUI3ColorsDark { + QColor(0xFF,0xFF,0xFF,percentToAlpha(6.05)), // subtleHighlightColor (fillSubtleSecondary) + QColor(0xFF,0xFF,0xFF,percentToAlpha(4.19)), // subtlePressedColor (fillSubtleTertiary) QColor(0xFF,0xFF,0xFF,0x12), //frameColorLight QColor(0xFF,0xFF,0xFF,percentToAlpha(60.47)), //frameColorStrong QColor(0xFF,0xFF,0xFF,percentToAlpha(15.81)), //frameColorStrongDisabled @@ -189,9 +192,10 @@ static constexpr std::array<QColor, 32> WINUI3ColorsDark { QColor(0x00,0x00,0x00,percentToAlpha(100)), // textOnAccentPrimary QColor(0x00,0x00,0x00,percentToAlpha(70)), // textOnAccentSecondary QColor(0xFF,0xFF,0xFF,percentToAlpha(53.02)), // textOnAccentDisabled + QColor(0xFF,0xFF,0xFF,percentToAlpha(8.37)), // dividerStrokeDefault }; -static constexpr std::array<std::array<QColor,32>, 2> WINUI3Colors { +static constexpr std::array<std::array<QColor,33>, 2> WINUI3Colors { WINUI3ColorsLight, WINUI3ColorsDark }; @@ -867,17 +871,13 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption } break; case PE_IndicatorCheckBox: { - const bool isRtl = option->direction == Qt::RightToLeft; const bool isOn = option->state & State_On; const bool isPartial = option->state & State_NoChange; - QRectF rect = isRtl ? option->rect.adjusted(0, 0, -2, 0) : option->rect.adjusted(2, 0, 0, 0); + const QRectF rect = option->rect; const QPointF center = rect.center(); - rect.setWidth(15); - rect.setHeight(15); - rect.moveCenter(center); - drawRoundedRect(painter, rect, borderPenControlAlt(option), + drawRoundedRect(painter, option->rect, borderPenControlAlt(option), controlFillBrush(option, ControlType::ControlAlt)); if (isOn) { @@ -921,20 +921,17 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption } break; case PE_IndicatorRadioButton: { - const bool isRtl = option->direction == Qt::RightToLeft; const bool isOn = option->state & State_On; - qreal innerRadius = 7.0f; + qreal innerRadius = radioButtonInnerRadius(state); if (d->transitionsEnabled() && option->styleObject) { if (option->styleObject->property("_q_end_radius").isNull()) option->styleObject->setProperty("_q_end_radius", innerRadius); QNumberStyleAnimation *animation = qobject_cast<QNumberStyleAnimation *>(d->animation(option->styleObject)); innerRadius = animation ? animation->currentValue() : option->styleObject->property("_q_end_radius").toFloat(); option->styleObject->setProperty("_q_inner_radius", innerRadius); - } else { - innerRadius = radioButtonInnerRadius(state); } - QRectF rect = isRtl ? option->rect.adjusted(0, 0, -2, 0) : option->rect.adjusted(2, 0, 0, 0); + const QRectF rect = option->rect; const QPointF center = rect.center(); painter->setPen(borderPenControlAlt(option)); @@ -1423,80 +1420,57 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op break; #endif // QT_CONFIG(progressbar) case CE_PushButtonLabel: - if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) { - QRect textRect = btn->rect; + if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) { + using namespace StyleOptionHelper; + const bool isEnabled = !isDisabled(option); - int tf = Qt::AlignVCenter|Qt::TextShowMnemonic; + QRect textRect = btn->rect.marginsRemoved(QMargins(contentHMargin, 0, contentHMargin, 0)); + int tf = Qt::AlignCenter | Qt::TextShowMnemonic; if (!proxy()->styleHint(SH_UnderlineShortcut, btn, widget)) tf |= Qt::TextHideMnemonic; if (btn->features & QStyleOptionButton::HasMenu) { - int indicatorSize = proxy()->pixelMetric(PM_MenuButtonIndicator, btn, widget); - QLineF menuSplitter; - QRectF indicatorRect; - painter->save(); - painter->setFont(d->assetFont); + QPainterStateGuard psg(painter); - if (btn->direction == Qt::LeftToRight) { - indicatorRect = QRect(textRect.x() + textRect.width() - indicatorSize - 4, textRect.y(),2 * 4 + indicatorSize, textRect.height()); - indicatorRect.adjust(0.5,-0.5,0.5,0.5); - menuSplitter = QLineF(indicatorRect.topLeft(),indicatorRect.bottomLeft()); - textRect = textRect.adjusted(0, 0, -indicatorSize, 0); - } else { - indicatorRect = QRect(textRect.x(), textRect.y(), textRect.x() + indicatorSize + 4, textRect.height()); - indicatorRect.adjust(-0.5,-0.5,-0.5,0.5); - menuSplitter = QLineF(indicatorRect.topRight(),indicatorRect.bottomRight()); - textRect = textRect.adjusted(indicatorSize, 0, 0, 0); - } - painter->drawText(indicatorRect, Qt::AlignCenter, ChevronDownMed); - painter->setPen(WINUI3Colors[colorSchemeIndex][controlStrokePrimary]); - painter->drawLine(menuSplitter); - painter->restore(); + const auto indSize = proxy()->pixelMetric(PM_MenuButtonIndicator, btn, widget); + const auto indRect = QRect(btn->rect.right() - indSize - contentItemHMargin, textRect.top(), + indSize + contentItemHMargin, btn->rect.height()); + const auto vindRect = visualRect(btn->direction, btn->rect, indRect); + textRect.setWidth(textRect.width() - indSize); + + int fontSize = painter->font().pointSize(); + QFont f(d->assetFont); + f.setPointSize(qRound(fontSize * 0.9f)); // a little bit smaller + painter->setFont(f); + QColor penColor = option->palette.color(isEnabled ? QPalette::Active : QPalette::Disabled, + QPalette::Text); + if (isEnabled) + penColor.setAlpha(percentToAlpha(60.63)); // fillColorTextSecondary + painter->setPen(penColor); + painter->drawText(vindRect, Qt::AlignCenter, ChevronDownMed); } if (!btn->icon.isNull()) { //Center both icon and text - QIcon::Mode mode = btn->state & State_Enabled ? QIcon::Normal : QIcon::Disabled; + QIcon::Mode mode = isEnabled ? QIcon::Normal : QIcon::Disabled; if (mode == QIcon::Normal && btn->state & State_HasFocus) mode = QIcon::Active; - QIcon::State state = QIcon::Off; - if (btn->state & State_On) - state = QIcon::On; - - QPixmap pixmap = btn->icon.pixmap(btn->iconSize, painter->device()->devicePixelRatio(), mode, state); - int pixmapWidth = pixmap.width() / pixmap.devicePixelRatio(); - int pixmapHeight = pixmap.height() / pixmap.devicePixelRatio(); - int labelWidth = pixmapWidth; - int labelHeight = pixmapHeight; - int iconSpacing = 4;//### 4 is currently hardcoded in QPushButton::sizeHint() - if (!btn->text.isEmpty()) { - int textWidth = btn->fontMetrics.boundingRect(option->rect, tf, btn->text).width(); - labelWidth += (textWidth + iconSpacing); - } - - QRect iconRect = QRect(textRect.x() + (textRect.width() - labelWidth) / 2, - textRect.y() + (textRect.height() - labelHeight) / 2, - pixmapWidth, pixmapHeight); + QIcon::State state = isChecked(btn) ? QIcon::On : QIcon::Off; - iconRect = visualRect(btn->direction, textRect, iconRect); + int iconSpacing = 4;//### 4 is currently hardcoded in QPushButton::sizeHint() - if (btn->direction == Qt::RightToLeft) { - tf |= Qt::AlignRight; - textRect.setRight(iconRect.left() - iconSpacing / 2); - } else { - tf |= Qt::AlignLeft; //left align, we adjust the text-rect instead - textRect.setLeft(iconRect.left() + iconRect.width() + iconSpacing / 2); - } + QRect iconRect = QRect(textRect.x(), textRect.y(), btn->iconSize.width(), textRect.height()); + QRect vIconRect = visualRect(btn->direction, btn->rect, iconRect); + textRect.setLeft(textRect.left() + iconRect.width() + iconSpacing); - if (btn->state & (State_On | State_Sunken)) - iconRect.translate(proxy()->pixelMetric(PM_ButtonShiftHorizontal, option, widget), - proxy()->pixelMetric(PM_ButtonShiftVertical, option, widget)); - painter->drawPixmap(iconRect, pixmap); - } else { - tf |= Qt::AlignHCenter; + if (isChecked(btn) || isPressed(btn)) + vIconRect.translate(proxy()->pixelMetric(PM_ButtonShiftHorizontal, option, widget), + proxy()->pixelMetric(PM_ButtonShiftVertical, option, widget)); + btn->icon.paint(painter, vIconRect, Qt::AlignCenter, mode, state); } + auto vTextRect = visualRect(btn->direction, btn->rect, textRect); painter->setPen(controlTextColor(option)); - proxy()->drawItemText(painter, textRect, tf, option->palette,btn->state & State_Enabled, btn->text); + proxy()->drawItemText(painter, vTextRect, tf, option->palette, isEnabled, btn->text); } break; case CE_PushButtonBevel: @@ -1526,39 +1500,38 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op painter->setPen(defaultButton ? WINUI3Colors[colorSchemeIndex][controlStrokeOnAccentSecondary] : WINUI3Colors[colorSchemeIndex][controlStrokeSecondary]); - if (flags & State_Raised) - painter->drawLine(rect.bottomLeft() + QPointF(4.0,0.0), rect.bottomRight() + QPointF(-4,0.0)); } } break; case CE_MenuBarItem: if (const auto *mbi = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) { + using namespace StyleOptionHelper; + constexpr int hPadding = 11; constexpr int topPadding = 4; constexpr int bottomPadding = 6; - bool active = mbi->state & State_Selected; - bool hasFocus = mbi->state & State_HasFocus; - bool down = mbi->state & State_Sunken; - bool enabled = mbi->state & State_Enabled; QStyleOptionMenuItem newMbi = *mbi; + + if (auto mbiV2 = qstyleoption_cast<const QStyleOptionMenuItemV2 *>(option)) + newMbi.state.setFlag(State_Sunken, mbiV2->mouseDown); + newMbi.font.setPointSize(10); - if (enabled && active) { - if (down) - painter->setBrushOrigin(painter->brushOriginF() + QPoint(1, 1)); - if (hasFocus) { - if (highContrastTheme) - painter->setPen(QPen(newMbi.palette.highlight().color(), 2)); - else - painter->setPen(Qt::NoPen); - painter->setBrush(highContrastTheme ? newMbi.palette.window().color() : WINUI3Colors[colorSchemeIndex][subtleHighlightColor]); - QRect rect = mbi->rect.marginsRemoved(QMargins(5,0,5,0)); - painter->drawRoundedRect(rect,secondLevelRoundingRadius,secondLevelRoundingRadius, Qt::AbsoluteSize); + newMbi.palette.setColor(QPalette::ButtonText, controlTextColor(&newMbi)); + if (!isDisabled(&newMbi)) { + QPen pen(Qt::NoPen); + QBrush brush(Qt::NoBrush); + if (highContrastTheme) { + pen = QPen(newMbi.palette.highlight().color(), 2); + brush = newMbi.palette.window(); + } else if (isPressed(&newMbi)) { + brush = winUI3Color(subtlePressedColor); + } else if (isHover(&newMbi)) { + brush = winUI3Color(subtleHighlightColor); + } + if (pen != Qt::NoPen || brush != Qt::NoBrush) { + const QRect rect = mbi->rect.marginsRemoved(QMargins(5, 0, 5, 0)); + drawRoundedRect(painter, rect, pen, brush); } - } else if (enabled && highContrastTheme) { - painter->setPen(QPen(newMbi.palette.windowText().color(), 2)); - painter->setBrush(newMbi.palette.window().color()); - QRect rect = mbi->rect.marginsRemoved(QMargins(5,0,5,0)); - painter->drawRoundedRect(rect,secondLevelRoundingRadius,secondLevelRoundingRadius, Qt::AbsoluteSize); } newMbi.rect.adjust(hPadding,topPadding,-hPadding,-bottomPadding); painter->setFont(newMbi.font); @@ -1572,96 +1545,89 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op case CE_MenuItem: if (const auto *menuitem = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) { - int x, y, w, h; - menuitem->rect.getRect(&x, &y, &w, &h); - int tab = menuitem->reservedShortcutWidth; + const auto visualMenuRect = [&](const QRect &rect) { + return visualRect(option->direction, menuitem->rect, rect); + }; bool dis = !(menuitem->state & State_Enabled); bool checked = menuitem->checkType != QStyleOptionMenuItem::NotCheckable ? menuitem->checked : false; bool act = menuitem->state & State_Selected; - // windows always has a check column, regardless whether we have an icon or not - int checkcol = qMax<int>(menuitem->maxIconWidth, 32); - - QBrush fill = (act == true && dis == false) ? (highContrastTheme ? menuitem->palette.brush(QPalette::Highlight) : QBrush(WINUI3Colors[colorSchemeIndex][subtleHighlightColor])) : menuitem->palette.brush(QPalette::Button); - painter->setBrush(fill); - painter->setPen(Qt::NoPen); const QRect rect = menuitem->rect.marginsRemoved(QMargins(2,2,2,2)); - if (act && dis == false) - painter->drawRoundedRect(rect, secondLevelRoundingRadius, secondLevelRoundingRadius, Qt::AbsoluteSize); - - if (menuitem->menuItemType == QStyleOptionMenuItem::Separator){ - int yoff = 4; - painter->setPen(highContrastTheme == true ? menuitem->palette.buttonText().color() : WINUI3Colors[colorSchemeIndex][frameColorLight]); - painter->drawLine(x, y + yoff, x + w, y + yoff ); + if (act && dis == false) { + drawRoundedRect(painter, rect, Qt::NoPen, highContrastTheme ? menuitem->palette.brush(QPalette::Highlight) + : QBrush(winUI3Color(subtleHighlightColor))); + } + if (menuitem->menuItemType == QStyleOptionMenuItem::Separator) { + constexpr int yoff = 1; + painter->setPen(highContrastTheme ? menuitem->palette.buttonText().color() : winUI3Color(dividerStrokeDefault)); + painter->drawLine(menuitem->rect.topLeft() + QPoint(0, yoff), + menuitem->rect.topRight() + QPoint(0, yoff)); break; } - QRect vCheckRect = visualRect(option->direction, menuitem->rect, QRect(menuitem->rect.x(), menuitem->rect.y(), checkcol, menuitem->rect.height())); - if (!menuitem->icon.isNull() && checked) { - if (act) { - qDrawShadePanel(painter, vCheckRect, - menuitem->palette, true, 1, - &menuitem->palette.brush(QPalette::Button)); - } else { - QBrush fill(menuitem->palette.light().color(), Qt::Dense4Pattern); - qDrawShadePanel(painter, vCheckRect, menuitem->palette, true, 1, &fill); - } + int xOffset = contentHMargin; + // WinUI3 draws, in contrast to former windows styles, the checkmark and icon separately + const auto checkMarkWidth = proxy()->pixelMetric(PM_IndicatorWidth, option, widget); + if (checked) { + QRect vRect(visualMenuRect(QRect(rect.x() + xOffset, rect.y(), + checkMarkWidth, rect.height()))); + QPainterStateGuard psg(painter); + painter->setFont(d->assetFont); + painter->setPen(option->palette.text().color()); + const auto textToDraw = QStringLiteral(u"\uE73E"); + painter->drawText(vRect, Qt::AlignCenter, textToDraw); } - // On Windows Style, if we have a checkable item and an icon we - // draw the icon recessed to indicate an item is checked. If we - // have no icon, we draw a checkmark instead. + if (menuitem->menuHasCheckableItems) + xOffset += checkMarkWidth + contentItemHMargin; if (!menuitem->icon.isNull()) { + // 4 is added to maxIconWidth in qmenu.cpp to PM_SmallIconSize + QRect vRect(visualMenuRect(QRect(rect.x() + xOffset, + rect.y(), + menuitem->maxIconWidth - 4, + rect.height()))); QIcon::Mode mode = dis ? QIcon::Disabled : QIcon::Normal; if (act && !dis) mode = QIcon::Active; const auto size = proxy()->pixelMetric(PM_SmallIconSize, option, widget); QRect pmr(QPoint(0, 0), QSize(size, size)); - pmr.moveCenter(vCheckRect.center()); + pmr.moveCenter(vRect.center()); menuitem->icon.paint(painter, pmr, Qt::AlignCenter, mode, checked ? QIcon::On : QIcon::Off); - } else if (checked) { - painter->save(); - if (dis) - painter->setPen(menuitem->palette.text().color()); - painter->setFont(d->assetFont); - const int text_flags = Qt::AlignVCenter | Qt::AlignHCenter | Qt::TextDontClip | Qt::TextSingleLine; - painter->setPen(option->palette.text().color()); - painter->drawText(vCheckRect, text_flags, CheckMark); - painter->restore(); } - painter->setPen(act ? menuitem->palette.highlightedText().color() : menuitem->palette.buttonText().color()); - - QColor discol = menuitem->palette.text().color(); - if (dis) - discol = menuitem->palette.color(QPalette::Disabled, QPalette::WindowText); + if (menuitem->maxIconWidth > 0) + xOffset += menuitem->maxIconWidth - 4 + contentItemHMargin; QStringView s(menuitem->text); if (!s.isEmpty()) { // draw text - int xm = QWindowsStylePrivate::windowsItemFrame + checkcol + QWindowsStylePrivate::windowsItemHMargin; - int xpos = menuitem->rect.x() + xm; - QRect textRect(xpos, y + QWindowsStylePrivate::windowsItemVMargin, - w - xm - QWindowsStylePrivate::windowsRightBorder - tab + 1, h - 2 * QWindowsStylePrivate::windowsItemVMargin); - QRect vTextRect = visualRect(option->direction, menuitem->rect, textRect); + QPoint tl(rect.left() + xOffset, rect.top()); + QPoint br(rect.right() - menuitem->reservedShortcutWidth - contentHMargin, + rect.bottom()); + QRect textRect(tl, br); + QRect vRect(visualMenuRect(textRect)); - painter->save(); qsizetype t = s.indexOf(u'\t'); int text_flags = Qt::AlignVCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine; if (!proxy()->styleHint(SH_UnderlineShortcut, menuitem, widget)) text_flags |= Qt::TextHideMnemonic; text_flags |= Qt::AlignLeft; - if (t >= 0) { - QRect vShortcutRect = visualRect(option->direction, menuitem->rect, - QRect(textRect.topRight(), QPoint(menuitem->rect.right(), textRect.bottom()))); - const QString textToDraw = s.mid(t + 1).toString(); - if (dis && !act && proxy()->styleHint(SH_EtchDisabledText, option, widget)) { - painter->setPen(menuitem->palette.light().color()); - painter->drawText(vShortcutRect.adjusted(1, 1, 1, 1), text_flags, textToDraw); + // a submenu doesn't paint a possible shortcut in WinUI3 + if (t >= 0 && menuitem->menuItemType != QStyleOptionMenuItem::SubMenu) { + QRect shortcutRect(QPoint(textRect.right(), textRect.top()), + QPoint(rect.right(), textRect.bottom())); + QRect vShortcutRect(visualMenuRect(shortcutRect)); + QColor penColor; + if (highContrastTheme) { + penColor = menuitem->palette.color(act ? QPalette::HighlightedText + : QPalette::Text); + } else { + penColor = menuitem->palette.color(dis ? QPalette::Disabled + : QPalette::Active, QPalette::Text); + if (!dis) + penColor.setAlpha(percentToAlpha(60.63)); // fillColorTextSecondary } - if (highContrastTheme) - painter->setPen(act ? menuitem->palette.highlightedText().color() : menuitem->palette.buttonText().color()); - else - painter->setPen(menuitem->palette.color(QPalette::Disabled, QPalette::Text)); + painter->setPen(penColor); + const QString textToDraw = s.mid(t + 1).toString(); painter->drawText(vShortcutRect, text_flags, textToDraw); s = s.left(t); } @@ -1669,32 +1635,30 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op if (menuitem->menuItemType == QStyleOptionMenuItem::DefaultItem) font.setBold(true); painter->setFont(font); + QColor penColor; + if (highContrastTheme && act) + penColor = menuitem->palette.color(QPalette::HighlightedText); + else + penColor = menuitem->palette.color(dis ? QPalette::Disabled + : QPalette::Current, QPalette::Text); + painter->setPen(penColor); const QString textToDraw = s.left(t).toString(); - painter->setPen(highContrastTheme && act ? menuitem->palette.highlightedText().color() : discol); - painter->drawText(vTextRect, text_flags, textToDraw); - painter->restore(); + painter->drawText(vRect, text_flags, textToDraw); } if (menuitem->menuItemType == QStyleOptionMenuItem::SubMenu) {// draw sub menu arrow - int dim = (h - 2 * QWindowsStylePrivate::windowsItemFrame) / 2; - int xpos = x + w - QWindowsStylePrivate::windowsArrowHMargin - QWindowsStylePrivate::windowsItemFrame - dim; - QRect vSubMenuRect = visualRect(option->direction, menuitem->rect, QRect(xpos, y + h / 2 - dim / 2, dim, dim)); - QStyleOptionMenuItem newMI = *menuitem; - newMI.rect = vSubMenuRect; - newMI.state = dis ? State_None : State_Enabled; - if (act) - newMI.palette.setColor(QPalette::ButtonText, - newMI.palette.highlightedText().color()); - painter->save(); - painter->setFont(d->assetFont); - int text_flags = Qt::AlignVCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine; - if (!proxy()->styleHint(SH_UnderlineShortcut, menuitem, widget)) - text_flags |= Qt::TextHideMnemonic; - text_flags |= Qt::AlignLeft; + int fontSize = menuitem->font.pointSize(); + QFont f(d->assetFont); + f.setPointSize(qRound(fontSize * 0.9f)); // a little bit smaller + painter->setFont(f); + int yOfs = qRound(fontSize / 3.0f); // an offset to align the '>' with the baseline of the text + QPoint tl(rect.right() - 2 * QWindowsStylePrivate::windowsArrowHMargin - contentItemHMargin, + rect.top() + yOfs); + QRect submenuRect(tl, rect.bottomRight()); + QRect vSubMenuRect = visualMenuRect(submenuRect); painter->setPen(option->palette.text().color()); const bool isReverse = option->direction == Qt::RightToLeft; const auto str = isReverse ? ChevronLeftMed : ChevronRightMed; painter->drawText(vSubMenuRect, Qt::AlignCenter, str); - painter->restore(); } } break; @@ -1888,7 +1852,7 @@ QRect QWindows11Style::subElementRect(QStyle::SubElement element, const QStyleOp case QStyle::SE_RadioButtonIndicator: case QStyle::SE_CheckBoxIndicator: ret = QWindowsVistaStyle::subElementRect(element, option, widget); - ret = ret.marginsRemoved(QMargins(4,0,0,0)); + ret.moveLeft(contentItemHMargin); break; case QStyle::SE_ComboBoxFocusRect: case QStyle::SE_CheckBoxFocusRect: @@ -1931,6 +1895,11 @@ QRect QWindows11Style::subElementRect(QStyle::SubElement element, const QStyleOp case QStyle::SE_HeaderArrow: ret = QCommonStyle::subElementRect(element, option, widget); break; + case SE_PushButtonContents: { + int border = proxy()->pixelMetric(PM_DefaultFrameWidth, option, widget); + ret = option->rect.marginsRemoved(QMargins(border, border, border, border)); + break; + } default: ret = QWindowsVistaStyle::subElementRect(element, option, widget); } @@ -2121,12 +2090,11 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o #if QT_CONFIG(menu) case CT_MenuItem: if (const auto *menuItem = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) { - const int checkcol = qMax<int>(menuItem->maxIconWidth, 32); int width = size.width(); int height; if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) { width = 10; - height = 6; + height = 3; } else { height = menuItem->fontMetrics.height() + 8; if (!menuItem->icon.isNull()) { @@ -2136,22 +2104,29 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o } } if (menuItem->text.contains(u'\t')) - width += menuItem->reservedShortcutWidth; - else if (menuItem->menuItemType == QStyleOptionMenuItem::SubMenu) - width += 2 * QWindowsStylePrivate::windowsArrowHMargin; - else if (menuItem->menuItemType == QStyleOptionMenuItem::DefaultItem) { + width += contentItemHMargin; // the text width is already in + if (menuItem->menuItemType == QStyleOptionMenuItem::SubMenu) + width += 2 * QWindowsStylePrivate::windowsArrowHMargin + contentItemHMargin; + if (menuItem->menuItemType == QStyleOptionMenuItem::DefaultItem) { const QFontMetrics fm(menuItem->font); QFont fontBold = menuItem->font; fontBold.setBold(true); const QFontMetrics fmBold(fontBold); width += fmBold.horizontalAdvance(menuItem->text) - fm.horizontalAdvance(menuItem->text); } - width += checkcol; - width += 2 * QWindowsStylePrivate::windowsItemFrame; - if (!menuItem->text.isEmpty()) { - width += QWindowsStylePrivate::windowsItemHMargin; - width += QWindowsStylePrivate::windowsRightBorder; + // in contrast to windowsvista, the checkmark and icon are drawn separately + if (menuItem->menuHasCheckableItems) { + const auto checkMarkWidth = proxy()->pixelMetric(PM_IndicatorWidth, option, widget); + width += checkMarkWidth + contentItemHMargin * 2; } + // we have an icon and it's already in the given size, only add margins + // 4 is added in qmenu.cpp to PM_SmallIconSize + if (menuItem->maxIconWidth > 0) + width += contentItemHMargin * 2 + menuItem->maxIconWidth - 4; + width += 2 * 2; // margins for rounded border + width += 2 * contentHMargin; + if (width < 100) // minimum size + width = 100; contentSize = QSize(width, height); } break; @@ -2187,17 +2162,40 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o break; case CT_RadioButton: case CT_CheckBox: + if (const auto *buttonOpt = qstyleoption_cast<const QStyleOptionButton *>(option)) { + const auto p = proxy(); + const bool isRadio = (type == CT_RadioButton); + + const int width = p->pixelMetric( + isRadio ? PM_ExclusiveIndicatorWidth : PM_IndicatorWidth, option, widget); + const int height = p->pixelMetric( + isRadio ? PM_ExclusiveIndicatorHeight : PM_IndicatorHeight, option, widget); + + int margins = 2 * contentItemHMargin; + if (!buttonOpt->icon.isNull() || !buttonOpt->text.isEmpty()) { + margins += p->pixelMetric(isRadio ? PM_RadioButtonLabelSpacing + : PM_CheckBoxLabelSpacing, + option, widget); + } + + contentSize += QSize(width + margins, 4); + contentSize.setHeight(qMax(size.height(), height + 2 * contentItemHMargin)); + } + break; + // the indicator needs 2px more in width when there is no text, not needed when // the style draws the text contentSize = QWindowsVistaStyle::sizeFromContents(type, option, size, widget); if (size.width() == 0) contentSize.rwidth() += 2; break; - case CT_PushButton: + case CT_PushButton: { contentSize = QWindowsVistaStyle::sizeFromContents(type, option, size, widget); - contentSize.rwidth() += 2 * 2; // the CE_PushButtonBevel draws a rounded rect with - // QMargins(2, 2, 2, 2) removed + // we want our own horizontal spacing + const int oldMargin = proxy()->pixelMetric(PM_ButtonMargin, option, widget); + contentSize.rwidth() += 2 * contentHMargin - oldMargin; break; + } default: contentSize = QWindowsVistaStyle::sizeFromContents(type, option, size, widget); break; @@ -2212,6 +2210,7 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o */ int QWindows11Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const { + Q_D(const QWindows11Style); int res = 0; switch (metric) { @@ -2235,18 +2234,50 @@ int QWindows11Style::pixelMetric(PixelMetric metric, const QStyleOption *option, case PM_SliderLength: // same because handle is a circle with r=8 res += 2 * 8; break; + case PM_RadioButtonLabelSpacing: + case PM_CheckBoxLabelSpacing: + res = 2 * contentItemHMargin; + break; case QStyle::PM_TitleBarButtonIconSize: res = 16; break; case QStyle::PM_TitleBarButtonSize: res = 32; break; +#if QT_CONFIG(toolbar) + case PM_ToolBarExtensionExtent: + res = int(QStyleHelper::dpiScaled(32., option)); + break; + case PM_ToolBarHandleExtent: + res = int(QStyleHelper::dpiScaled(8., option)); + break; +#endif // QT_CONFIG(toolbar) case QStyle::PM_ScrollBarExtent: res = 12; break; case QStyle::PM_SubMenuOverlap: res = -1; break; + case PM_MenuButtonIndicator: { + res = contentItemHMargin; + if (widget) { + const int fontSize = widget->font().pointSize(); + QFont f(d->assetFont); + f.setPointSize(qRound(fontSize * 0.9f)); // a little bit smaller + QFontMetrics fm(f); + res += fm.horizontalAdvance(ChevronDownMed); + } else { + res += 12; + } + break; + } + case PM_DefaultFrameWidth: + res = 2; + break; + case PM_ButtonShiftHorizontal: + case PM_ButtonShiftVertical: + res = 0; + break; default: res = QWindowsVistaStyle::pixelMetric(metric, option, widget); } @@ -2452,14 +2483,49 @@ void QWindows11Style::polish(QPalette& result) SET_IF_UNRESOLVED(QPalette::Inactive, QPalette::Text, result.text().color()); SET_IF_UNRESOLVED(QPalette::Inactive, QPalette::WindowText, result.windowText().color()); - if (highContrastTheme) - result.setColor(QPalette::Active, QPalette::HighlightedText, result.windowText().color()); - auto *d = const_cast<QWindows11StylePrivate *>(d_func()); d->m_titleBarMinIcon = QIcon(); d->m_titleBarMaxIcon = QIcon(); d->m_titleBarCloseIcon = QIcon(); d->m_titleBarNormalIcon = QIcon(); + d->m_toolbarExtensionButton = QIcon(); +} + +QPixmap QWindows11Style::standardPixmap(StandardPixmap standardPixmap, + const QStyleOption *option, + const QWidget *widget) const +{ + switch (standardPixmap) { + case SP_ToolBarHorizontalExtensionButton: + case SP_ToolBarVerticalExtensionButton: { + const int size = proxy()->pixelMetric(PM_ToolBarExtensionExtent, option, widget); + return standardIcon(standardPixmap, option, widget).pixmap(size); + } + default: + break; + } + return QWindowsVistaStyle::standardPixmap(standardPixmap, option, widget); +} + +QIcon QWindows11Style::standardIcon(StandardPixmap standardIcon, + const QStyleOption *option, + const QWidget *widget) const +{ + auto *d = const_cast<QWindows11StylePrivate*>(d_func()); + switch (standardIcon) { + case SP_ToolBarHorizontalExtensionButton: + case SP_ToolBarVerticalExtensionButton: { + if (d->m_toolbarExtensionButton.isNull()) { + auto e = new WinFontIconEngine(More.at(0), d->assetFont); + e->setScale(1.0); + d->m_toolbarExtensionButton = QIcon(e); + } + return d->m_toolbarExtensionButton; + } + default: + break; + } + return QWindowsVistaStyle::standardIcon(standardIcon, option, widget); } QColor QWindows11Style::calculateAccentColor(const QStyleOption *option) const diff --git a/src/plugins/styles/modernwindows/qwindows11style_p.h b/src/plugins/styles/modernwindows/qwindows11style_p.h index ae185370a53..de1aee4fce9 100644 --- a/src/plugins/styles/modernwindows/qwindows11style_p.h +++ b/src/plugins/styles/modernwindows/qwindows11style_p.h @@ -56,6 +56,7 @@ enum WINUI3Color { textOnAccentPrimary, // text of default/hovered control on accent color textOnAccentSecondary, // text of pressed control on accent color textOnAccentDisabled, // text of disabled control on accent color + dividerStrokeDefault, // divider color (alpha) }; class QWindows11Style : public QWindowsVistaStyle @@ -84,6 +85,10 @@ public: const QWidget *widget = nullptr) const override; void polish(QPalette &pal) override; void unpolish(QWidget *widget) override; + QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *option = nullptr, + const QWidget *widget = nullptr) const override; + QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option = nullptr, + const QWidget *widget = nullptr) const override; protected: QWindows11Style(QWindows11StylePrivate &dd); @@ -113,6 +118,9 @@ private: class QWindows11StylePrivate : public QWindowsVistaStylePrivate { Q_DECLARE_PUBLIC(QWindows11Style) + +protected: + QIcon m_toolbarExtensionButton; }; QT_END_NAMESPACE diff --git a/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp b/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp index 85d55f27bb7..abe0bde540f 100644 --- a/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp +++ b/src/plugins/styles/modernwindows/qwindowsvistastyle.cpp @@ -4968,6 +4968,11 @@ QString WinFontIconEngine::string() const return m_glyph; } +void WinFontIconEngine::setScale(double scale) +{ + m_scale = scale; +} + void WinFontIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State) { @@ -4994,7 +4999,7 @@ void WinFontIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode break; } QFont renderFont(m_font); - renderFont.setPixelSize(rect.height() * 0.7f); + renderFont.setPixelSize(rect.height() * m_scale); painter->save(); painter->setFont(renderFont); painter->setPen(color); diff --git a/src/plugins/styles/modernwindows/qwindowsvistastyle_p_p.h b/src/plugins/styles/modernwindows/qwindowsvistastyle_p_p.h index e8aad528f90..cf982ceb133 100644 --- a/src/plugins/styles/modernwindows/qwindowsvistastyle_p_p.h +++ b/src/plugins/styles/modernwindows/qwindowsvistastyle_p_p.h @@ -189,11 +189,13 @@ public: QString key() const override; QIconEngine *clone() const override; QString string() const override; + void setScale(double scale); void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override; protected: QFont m_font; QChar m_glyph; + double m_scale = 0.7; }; QT_END_NAMESPACE diff --git a/src/plugins/tls/schannel/qtls_schannel.cpp b/src/plugins/tls/schannel/qtls_schannel.cpp index 12c2625f39d..667f2d8a6c3 100644 --- a/src/plugins/tls/schannel/qtls_schannel.cpp +++ b/src/plugins/tls/schannel/qtls_schannel.cpp @@ -1238,9 +1238,10 @@ bool TlsCryptographSchannel::createContext() }; #endif + const QString encodedTargetName = QUrl::fromUserInput(targetName()).host(QUrl::EncodeUnicode); auto status = InitializeSecurityContext(&credentialHandle, // phCredential nullptr, // phContext - const_reinterpret_cast<SEC_WCHAR *>(targetName().utf16()), // pszTargetName + const_reinterpret_cast<SEC_WCHAR *>(encodedTargetName.utf16()), // pszTargetName contextReq, // fContextReq 0, // Reserved1 0, // TargetDataRep (unused) diff --git a/src/testinternal/QtRunCMakeTestWrappers.cmake b/src/testinternal/QtRunCMakeTestWrappers.cmake index fdf93692e1f..cead9e52c82 100644 --- a/src/testinternal/QtRunCMakeTestWrappers.cmake +++ b/src/testinternal/QtRunCMakeTestWrappers.cmake @@ -30,10 +30,24 @@ function(qt_internal_add_RunCMake_test test) string(JOIN "\n" pre_run_code ${_qt_internal_skip_build_test_pre_run}) + set(android_code "") + if(ANDROID) + qt_internal_get_android_cmake_policy_version_minimum_value(version) + string(APPEND android_code " +# Avoid cmake policy deprecation warnings with older android NDKs appearing in stderr, which +# causes test failures if the test doesn't set +# set(RunCMake_TEST_OUTPUT_MERGE 1) +# to avoid stderr being polluted. +if(NOT QT_NO_SET_RUN_CMAKE_TESTS_CMAKE_POLICY_VERSION_MINIMUM) + set(ENV{CMAKE_POLICY_VERSION_MINIMUM} ${version}) +endif()") + endif() + _qt_internal_configure_file(CONFIGURE OUTPUT "${wrapper_file}" CONTENT " ${pre_run_code} +${android_code} include(\"${script_path_to_include}\") ") diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index c749cbd492f..431f91d5474 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -181,29 +181,17 @@ inline bool qCompare(quint32 const &t1, quint64 const &t2, const char *actual, } namespace Internal { -template <typename T> -class HasInitMain // SFINAE test for the presence of initMain() -{ -private: - using YesType = char[1]; - using NoType = char[2]; - - template <typename C> static YesType& test( decltype(&C::initMain) ) ; - template <typename C> static NoType& test(...); - -public: - enum { value = sizeof(test<T>(nullptr)) == sizeof(YesType) }; -}; +template <typename T, typename = void> +struct HasInitMain : std::false_type{}; -template<typename T> -typename std::enable_if<HasInitMain<T>::value, void>::type callInitMain() -{ - T::initMain(); -} +template <typename T> +struct HasInitMain<T, std::void_t<decltype(&T::initMain)>> : std::true_type {}; template<typename T> -typename std::enable_if<!HasInitMain<T>::value, void>::type callInitMain() +void callInitMain() { + if constexpr (HasInitMain<T>::value) + T::initMain(); } } // namespace Internal diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 6c7e71294ed..784e69d2486 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -393,6 +393,7 @@ static QString mainSourcePath; static bool inTestFunction = false; #if defined(Q_OS_MACOS) +static std::optional<QTestPrivate::AppNapDisabler> appNapDisabler; static IOPMAssertionID macPowerSavingDisabled = 0; #endif @@ -1881,13 +1882,12 @@ void QTest::qInit(QObject *testObject, int argc, char **argv) QTestPrivate::disableWindowRestore(); // Disable App Nap which may cause tests to stall - QTestPrivate::AppNapDisabler appNapDisabler; + if (!appNapDisabler) + appNapDisabler.emplace(); - if (qApp && (qstrcmp(qApp->metaObject()->className(), "QApplication") == 0)) { - IOPMAssertionCreateWithName(kIOPMAssertionTypeNoDisplaySleep, - kIOPMAssertionLevelOn, CFSTR("QtTest running tests"), - &macPowerSavingDisabled); - } + IOPMAssertionCreateWithName(kIOPMAssertionTypeNoDisplaySleep, + kIOPMAssertionLevelOn, CFSTR("QtTest running tests"), + &macPowerSavingDisabled); #endif QTestPrivate::parseBlackList(); @@ -2041,6 +2041,7 @@ void QTest::qCleanup() #if defined(Q_OS_MACOS) IOPMAssertionRelease(macPowerSavingDisabled); + appNapDisabler = std::nullopt; #endif } diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index ebb32238d67..02ccb9709dc 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -15,6 +15,7 @@ #include <QtCore/qtemporarydir.h> #include <QtCore/qthread.h> +#include <chrono> #ifdef __cpp_concepts #include <concepts> #endif @@ -430,7 +431,7 @@ namespace QTest Q_TESTLIB_EXPORT int qExec(QObject *testObject, const QStringList &arguments); #if QT_CONFIG(batch_test_support) || defined(Q_QDOC) - using TestEntryFunction = int (*)(int, char **); + using TestEntryFunction = std::function<int(int, char **)>; Q_TESTLIB_EXPORT void qRegisterTestCase(const QString &name, TestEntryFunction entryFunction); #endif // QT_CONFIG(batch_test_support) diff --git a/src/testlib/qtestregistry_p.h b/src/testlib/qtestregistry_p.h index 85e236cd046..fcfa6c60701 100644 --- a/src/testlib/qtestregistry_p.h +++ b/src/testlib/qtestregistry_p.h @@ -26,7 +26,7 @@ QT_BEGIN_NAMESPACE namespace QTest { class TestRegistry { public: - using TestEntryFunction = int(*)(int argv, char** argc); + using TestEntryFunction = std::function<int(int, char **)>; static TestRegistry* instance(); diff --git a/src/tools/androidtestrunner/main.cpp b/src/tools/androidtestrunner/main.cpp index 0e04d10e692..b517d85c5fb 100644 --- a/src/tools/androidtestrunner/main.cpp +++ b/src/tools/androidtestrunner/main.cpp @@ -328,6 +328,53 @@ static bool processAndroidManifest() return true; } +static QStringList queryDangerousPermissions() +{ + QByteArray output; + const QStringList args({ "shell"_L1, "dumpsys"_L1, "package"_L1, "permissions"_L1 }); + if (!execAdbCommand(args, &output, false)) { + qWarning("Failed to query permissions via dumpsys"); + return {}; + } + + /* + * Permissions section from this command look like: + * + * Permission [android.permission.INTERNET] (c8cafdc): + * sourcePackage=android + * uid=1000 gids=[3003] type=0 prot=normal|instant + * perm=PermissionInfo{5f5bfbb android.permission.INTERNET} + * flags=0x0 + */ + const static QRegularExpression regex("^\\s*Permission\\s+\\[([^\\]]+)\\]\\s+\\(([^)]+)\\):"_L1); + QStringList dangerousPermissions; + QString currentPerm; + + const QStringList lines = QString::fromUtf8(output).split(u'\n'); + for (const QString &line : lines) { + QRegularExpressionMatch match = regex.match(line); + if (match.hasMatch()) { + currentPerm = match.captured(1); + continue; + } + + if (currentPerm.isEmpty()) + continue; + + int protIndex = line.indexOf("prot="_L1); + if (protIndex == -1) + continue; + + QString protectionTypes = line.mid(protIndex + 5).trimmed(); + if (protectionTypes.contains("dangerous"_L1, Qt::CaseInsensitive)) { + dangerousPermissions.append(currentPerm); + currentPerm.clear(); + } + } + + return dangerousPermissions; +} + static void setOutputFile(QString file, QString format) { if (format.isEmpty()) @@ -938,7 +985,11 @@ int main(int argc, char *argv[]) return EXIT_ERROR; } + const QStringList dangerousPermisisons = queryDangerousPermissions(); for (const auto &permission : g_options.permissions) { + if (!dangerousPermisisons.contains(permission)) + continue; + if (!execAdbCommand({ "shell"_L1, "pm"_L1, "grant"_L1, g_options.package, permission }, nullptr)) { qWarning("Unable to grant '%s' to '%s'. Probably the Android version mismatch.", diff --git a/src/tools/macdeployqt/macdeployqt/main.cpp b/src/tools/macdeployqt/macdeployqt/main.cpp index f5e6ab8f31a..ecbccdef2b3 100644 --- a/src/tools/macdeployqt/macdeployqt/main.cpp +++ b/src/tools/macdeployqt/macdeployqt/main.cpp @@ -77,7 +77,7 @@ int main(int argc, char **argv) QStringList qmlDirs; QStringList qmlImportPaths; extern bool runCodesign; - extern QString codesignIdentiy; + QString codesignIdentity = QStringLiteral("-"); extern bool hardenedRuntime; bool noCodesignExplicit = false; extern bool appstoreCompliant; @@ -166,7 +166,7 @@ int main(int argc, char **argv) return 1; } else { runCodesign = true; - codesignIdentiy = argument.mid(index+1); + codesignIdentity = argument.mid(index + 1); } } else if (argument.startsWith(QByteArray("-sign-for-notarization"))) { LogDebug() << "Argument found:" << argument; @@ -182,7 +182,7 @@ int main(int argc, char **argv) runCodesign = true; hardenedRuntime = true; secureTimestamp = true; - codesignIdentiy = argument.mid(index+1); + codesignIdentity = argument.mid(index + 1); } } else if (argument.startsWith(QByteArray("-hardened-runtime"))) { LogDebug() << "Argument found:" << argument; @@ -273,7 +273,7 @@ int main(int argc, char **argv) stripAppBinary(appBundlePath); if (runCodesign) - codesign(codesignIdentiy, appBundlePath); + codesign(codesignIdentity, appBundlePath); if (dmg) { LogNormal(); diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp index 4e81229ebf5..bd7f4fba854 100644 --- a/src/tools/macdeployqt/shared/shared.cpp +++ b/src/tools/macdeployqt/shared/shared.cpp @@ -30,7 +30,6 @@ bool runStripEnabled = true; bool alwaysOwerwriteEnabled = false; bool runCodesign = true; QStringList librarySearchPath; -QString codesignIdentiy = "-"; QString extraEntitlements; bool hardenedRuntime = false; bool secureTimestamp = false; diff --git a/src/widgets/accessible/rangecontrols.cpp b/src/widgets/accessible/rangecontrols.cpp index 741a1589851..c0de5357c9a 100644 --- a/src/widgets/accessible/rangecontrols.cpp +++ b/src/widgets/accessible/rangecontrols.cpp @@ -338,6 +338,22 @@ void *QAccessibleAbstractSlider::interface_cast(QAccessible::InterfaceType t) return QAccessibleWidgetV2::interface_cast(t); } +QList<QAccessible::Attribute> QAccessibleAbstractSlider::attributeKeys() const +{ + QList<QAccessible::Attribute> keys = QAccessibleWidgetV2::attributeKeys(); + keys.append(QAccessible::Attribute::Orientation); + + return keys; +} + +QVariant QAccessibleAbstractSlider::attributeValue(QAccessible::Attribute key) const +{ + if (key == QAccessible::Attribute::Orientation) + return QVariant::fromValue(abstractSlider()->orientation()); + + return QAccessibleWidgetV2::attributeValue(key); +} + QVariant QAccessibleAbstractSlider::currentValue() const { return abstractSlider()->value(); diff --git a/src/widgets/accessible/rangecontrols_p.h b/src/widgets/accessible/rangecontrols_p.h index 23482556f42..dd5a6a4531c 100644 --- a/src/widgets/accessible/rangecontrols_p.h +++ b/src/widgets/accessible/rangecontrols_p.h @@ -114,6 +114,10 @@ public: explicit QAccessibleAbstractSlider(QWidget *w, QAccessible::Role r = QAccessible::Slider); void *interface_cast(QAccessible::InterfaceType t) override; + // QAccessibleAttributesInterface + QList<QAccessible::Attribute> attributeKeys() const override; + QVariant attributeValue(QAccessible::Attribute key) const override; + // QAccessibleValueInterface QVariant currentValue() const override; void setCurrentValue(const QVariant &value) override; diff --git a/src/widgets/doc/images/designer-stylesheet-options.png b/src/widgets/doc/images/designer-stylesheet-options.png Binary files differdeleted file mode 100644 index a6893e770bc..00000000000 --- a/src/widgets/doc/images/designer-stylesheet-options.png +++ /dev/null diff --git a/src/widgets/doc/images/designer-stylesheet-options.webp b/src/widgets/doc/images/designer-stylesheet-options.webp Binary files differnew file mode 100644 index 00000000000..14d1ad368fc --- /dev/null +++ b/src/widgets/doc/images/designer-stylesheet-options.webp diff --git a/src/widgets/doc/images/designer-stylesheet-usage.png b/src/widgets/doc/images/designer-stylesheet-usage.png Binary files differdeleted file mode 100644 index f6875900def..00000000000 --- a/src/widgets/doc/images/designer-stylesheet-usage.png +++ /dev/null diff --git a/src/widgets/doc/images/designer-stylesheet-usage.webp b/src/widgets/doc/images/designer-stylesheet-usage.webp Binary files differnew file mode 100644 index 00000000000..79dd6803853 --- /dev/null +++ b/src/widgets/doc/images/designer-stylesheet-usage.webp diff --git a/src/widgets/doc/images/designer-validator-highlighter.png b/src/widgets/doc/images/designer-validator-highlighter.png Binary files differdeleted file mode 100644 index a6661d5c955..00000000000 --- a/src/widgets/doc/images/designer-validator-highlighter.png +++ /dev/null diff --git a/src/widgets/doc/images/designer-validator-highlighter.webp b/src/widgets/doc/images/designer-validator-highlighter.webp Binary files differnew file mode 100644 index 00000000000..7ca6cdf6eb3 --- /dev/null +++ b/src/widgets/doc/images/designer-validator-highlighter.webp diff --git a/src/widgets/doc/src/external-resources.qdoc b/src/widgets/doc/src/external-resources.qdoc index 17459b6a5bc..96117546a29 100644 --- a/src/widgets/doc/src/external-resources.qdoc +++ b/src/widgets/doc/src/external-resources.qdoc @@ -8,7 +8,7 @@ */ /*! - \externalpage http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/zxspectrum.htm + \externalpage https://rk.nvg.ntnu.no/sinclair/computers/zxspectrum/zxspectrum.htm \title Sinclair Spectrum */ /*! diff --git a/src/widgets/doc/src/modelview.qdoc b/src/widgets/doc/src/modelview.qdoc index b2448a2c705..121cc30ed09 100644 --- a/src/widgets/doc/src/modelview.qdoc +++ b/src/widgets/doc/src/modelview.qdoc @@ -573,281 +573,10 @@ out of range when using ModelTest. - \section1 4. Good Sources of Additional Information - - \section2 4.1 Books - - Model/View programming is covered quite extensively in the documentation of - Qt but also in several good books. - - \list 1 - \li \b{C++ GUI Programming with Qt 4} / Jasmin Blanchette, Mark Summerfield, - \e{Prentice Hall, 2nd edition}, ISBN 0-13-235416-0. Also available in - German: \b{C++ GUI Programmierung mit Qt 4: Die offizielle Einführung}, - \e{Addison-Wesley}, ISBN 3-827327-29-6 - \li \b{The Book of Qt4, The Art of Building Qt Applications} / Daniel Molkentin, - \e{Open Source Press}, ISBN 1-59327-147-6. - Translated from \b{Qt 4, Einführung in die Applikationsentwicklung}, - \e{Open Source Press}, ISBN 3-937514-12-0. - \li \b{Foundations of Qt Development} / Johan Thelin, \e{Apress}, ISBN 1-59059-831-8. - \li \b{Advanced Qt Programming} / Mark Summerfield, \e{Prentice Hall}, ISBN 0-321-63590-6. - This book covers Model/View programming on more than 150 pages. - \endlist - - The following list provides an overview of example programs contained in the first three - books listed above. Some of them make very good templates for developing similar - applications. - - \table - \header - \li Example name - \li View class used - \li Model used - \li Aspects covered - \li - \row - \li Team Leaders - \li QListview - \li QStringListModel - \li - \li Book 1, Chapter 10, Figure 10.6 - \row - \li Color Names - \li QListView - \li QSortFilterProxyModel - applied to QStringListModel - \li - \li Book 1, Chapter 10, Figure 10.8 - \row - \li Currencies - \li QTableView - \li custom model based on - QAbstractTableModel - \li Read only - \li Book 1, Chapter 10, Figure 10.10 - \row - \li Cities - \li QTableView - \li Custom model based on - QAbstractTableModel - \li Read / write - \li Book 1, Chapter 10, Figure 10.12 - \row - \li Boolean Parser - \li QTreeView - \li Custom model based on - QAbstractItemModel - \li Read only - \li Book 1, Chapter 10, Figure 10.14 - \row - \li Track Editor - \li {2, 1} QTableWidget - \li Custom delegate providing a custom editor - \li Book 1, Chapter 10, Figure 10.15 - - \row - \li Address Book - \li QListView - QTableView - QTreeView - \li Custom model based on - QAbstractTableModel - \li Read / write - \li Book2, Chapter 8.4 - \row - \li Address Book with sorting - \li - \li QSortfilterProxyModel - \li Introducing sort and filter capabilities - \li Book2, Chapter 8.5 - \row - \li Address Book - with checkboxes - \li - \li - \li Introducing checkboxes in model/view - \li Book2, Chapter 8.6 - \row - \li Address Book with transposed grid - \li - \li Custom proxy Model based on QAbstractProxyModel - \li Introducing a custom model - \li Book2, Chapter 8.7 - \row - \li Address Book with drag and drop - \li - \li - \li Introducing drag and drop support - \li Book2, Chapter 8.8 - \row - \li Address Book with custom editor - \li - \li - \li Introducing custom delegates - \li Book2, Chapter 8.9 - \row - \li Views - \li QListView - QTableView - QTreeView - \li QStandardItemModel - \li Read only - \li Book 3, Chapter 5, figure 5-3 - \row - \li Bardelegate - \li QTableView - \li - \li Custom delegate for presentation based on QAbstractItemDelegate - \li Book 3, Chapter 5, figure 5-5 - \row - \li Editdelegate - \li QTableView - \li - \li Custom delegate for editing based on QAbstractItemDelegate - \li Book 3, Chapter 5, figure 5-6 - \row - \li Singleitemview - \li Custom view based on QAbstractItemView - \li - \li Custom view - \li Book 3, - Chapter 5, - figure 5-7 - \row - \li listmodel - \li QTableView - \li Custom Model based on QAbstractTableModel - \li Read only - \li Book 3, Chapter 5, Figure 5-8 - \row - \li treemodel - \li QTreeView - \li Custom Model based on QAbstractItemModel - \li Read only - \li Book 3, Chapter 5, Figure 5-10 - \row - \li edit integers - \li QListView - \li Custom Model based on QAbstractListModel - \li Read / write - \li Book 3, Chapter 5, Listing 5-37, Figure 5-11 - \row - \li sorting - \li QTableView - \li QSortFilterProxyModel applied to QStringListModel - \li Demonstrates sorting - \li Book 3, Chapter 5, Figure 5-12 - \endtable - - - \section2 4.2 Qt Documentation - - Qt 5.0 comes with 19 examples for model/view. - The examples can be found on the \l{Item Views Examples} page. - - \table - \header - \li Example name - \li View class used - \li Model used - \li Aspects covered - \row - \li Address Book - \li QTableView - \li QAbstractTableModel - QSortFilterProxyModel - \li Usage of QSortFilterProxyModel to generate different - subsets from one data pool - \row - \li Basic Sort/Filter Model - \li QTreeView - \li QStandardItemModel - QSortFilterProxyModel - \li - \row - \li Chart - \li Custom view - \li QStandardItemModel - \li Designing custom views that cooperate with selection models - \row - \li Color Editor Factory - \li {2, 1} QTableWidget - \li Enhancing the standard delegate with a new custom editor to choose colours - \row - \li Combo Widget Mapper - \li QDataWidgetMapper to map QLineEdit, QTextEdit and QComboBox - \li QStandardItemModel - \li Shows how a QComboBox can serve as a view class - \row - \li Custom Sort/Filter Model - \li QTreeView - \li QStandardItemModel - QSortFilterProxyModel - \li Subclass QSortFilterProxyModel for advanced sorting and filtering - \row - \li Dir View - \li QTreeView - \li QFileSystemModel - \li Very small example to demonstrate how to assign a model to a view - \row - \li Editable Tree Model - \li QTreeView - \li Custom tree model - \li Comprehensive example for working with trees, demonstrates - editing cells and tree structure with an underlying custom - model - \row - \li Fetch More - \li QListView - \li Custom list model - \li Dynamically changing model - \row - \li Frozen Column - \li QTableView - \li QStandardItemModel - \li - \row - \li Interview - \li Multiple - \li Custom item model - \li Multiple views - \row - \li Pixelator - \li QTableView - \li Custom table model - \li Implementation of a custom delegate - \row - \li Puzzle - \li QListView - \li Custom list model - \li Model/view with drag and drop - \row - \li Simple DOM Model - \li QTreeView - \li Custom tree model - \li Read only example for a custom tree model - \row - \li Simple Tree Model - \li QTreeView - \li Custom tree model - \li Read only example for a custom tree model - \row - \li Simple Widget Mapper - \li QDataWidgetMapper to map QLineEdit, QTextEdit and QSpinBox - \li QStandardItemModel - \li Basic QDataWidgetMapper usage - \row - \li Spreadsheet - \li {2, 1} QTableView - \li Custom delegates - \row - \li Star Delegate - \li {2, 1} QTableWidget - \li Comprehensive custom delegate example. - \endtable + \section1 Examples - A \l{Model/View Programming}{reference document} for model/view technology - is also available. + Qt comes with multiple examples for model/view. You can find them on the + \l{Item Views Examples} page. */ /*! diff --git a/src/widgets/doc/src/qtwidgets-examples.qdoc b/src/widgets/doc/src/qtwidgets-examples.qdoc index 45677c471ba..364c985b310 100644 --- a/src/widgets/doc/src/qtwidgets-examples.qdoc +++ b/src/widgets/doc/src/qtwidgets-examples.qdoc @@ -164,3 +164,15 @@ regular expressions for the Widget-based applications. */ +/*! + \group examples-user-input + \ingroup all-examples + \title User Input Examples + \brief Using user input in Qt Widgets applications. + + \image imagegestures-example.png {Application handling touch gestures} + + Qt provides the functionality for handling user input and drag-and-drop in + widget-based applications. + +*/ diff --git a/src/widgets/doc/src/qtwidgets-toc.qdoc b/src/widgets/doc/src/qtwidgets-toc.qdoc index bc447b8bd58..beddf853a22 100644 --- a/src/widgets/doc/src/qtwidgets-toc.qdoc +++ b/src/widgets/doc/src/qtwidgets-toc.qdoc @@ -53,6 +53,7 @@ \li \l{Rich Text Examples} \li \l{Graphics View Examples} \li \l{Widget Tools Examples} + \li \l{User Input Examples} \endlist \endlist diff --git a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc index 841948b671f..84226fdb5b5 100644 --- a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc +++ b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc @@ -536,21 +536,20 @@ to preview style sheets. You can right-click on any widget in Designer and select \uicontrol{Change styleSheet...} to set the style sheet. - \image designer-stylesheet-options.png + \image designer-stylesheet-options.webp {Editing a form in Qt Widgets Designer} - In Qt 4.2 and later, \QD also includes a - style sheet syntax highlighter and validator. The validator indicates - if the syntax is valid or invalid, at the bottom left of the \uicontrol{Edit - Style Sheet} dialog. + \QD also includes a style sheet syntax highlighter and validator. The + validator indicates if the syntax is valid or invalid, at the bottom left + of the \uicontrol{Edit Style Sheet} dialog. - \image designer-validator-highlighter.png + \image designer-validator-highlighter.webp {Editing and validating a stylesheet} When you click \uicontrol{OK} or \uicontrol{Apply}, \QD will automatically display the widget with its new stylesheet. - \image designer-stylesheet-usage.png + \image designer-stylesheet-usage.webp {Preview of a form with the new stylesheet} */ diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 51aea4079a1..6288aae096a 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -3108,7 +3108,8 @@ void QAbstractItemView::keyboardSearch(const QString &search) QModelIndex startMatch; QModelIndexList previous; do { - match = d->model->match(current, Qt::DisplayRole, d->keyboardInput); + match = d->model->match(current, Qt::DisplayRole, d->keyboardInput, 1, + d->keyboardSearchFlags); if (match == previous) break; firstMatch = match.value(0); @@ -3251,6 +3252,30 @@ void QAbstractItemView::setUpdateThreshold(int threshold) } /*! + \property QAbstractItemView::keyboardSearchFlags + \since 6.11 + This property determines how the default implementation of + keyboardSearch() matches the given string against the model's data. + + The default value is \c{Qt::MatchStartsWith|Qt::MatchWrap}. + + \sa keyboardSearch() + \sa QAbstractItemModel::match() +*/ + +Qt::MatchFlags QAbstractItemView::keyboardSearchFlags() const +{ + Q_D(const QAbstractItemView); + return d->keyboardSearchFlags; +} + +void QAbstractItemView::setKeyboardSearchFlags(Qt::MatchFlags searchFlags) +{ + Q_D(QAbstractItemView); + d->keyboardSearchFlags = searchFlags; +} + +/*! Opens a persistent editor on the item at the given \a index. If no editor exists, the delegate will create a new editor. diff --git a/src/widgets/itemviews/qabstractitemview.h b/src/widgets/itemviews/qabstractitemview.h index 63adac8d6f2..ce509dc9e98 100644 --- a/src/widgets/itemviews/qabstractitemview.h +++ b/src/widgets/itemviews/qabstractitemview.h @@ -48,6 +48,8 @@ class Q_WIDGETS_EXPORT QAbstractItemView : public QAbstractScrollArea Q_PROPERTY(ScrollMode horizontalScrollMode READ horizontalScrollMode WRITE setHorizontalScrollMode RESET resetHorizontalScrollMode) Q_PROPERTY(int updateThreshold READ updateThreshold WRITE setUpdateThreshold) + Q_PROPERTY(Qt::MatchFlags keyboardSearchFlags READ keyboardSearchFlags + WRITE setKeyboardSearchFlags) public: enum SelectionMode { @@ -182,6 +184,9 @@ public: int updateThreshold() const; void setUpdateThreshold(int threshold); + Qt::MatchFlags keyboardSearchFlags() const; + void setKeyboardSearchFlags(Qt::MatchFlags searchFlags); + void openPersistentEditor(const QModelIndex &index); void closePersistentEditor(const QModelIndex &index); bool isPersistentEditorOpen(const QModelIndex &index) const; @@ -204,7 +209,7 @@ public: virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const override; - using QAbstractScrollArea::update; + using QWidget::update; public Q_SLOTS: virtual void reset(); diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h index b24b2d21c33..60799fb8a50 100644 --- a/src/widgets/itemviews/qabstractitemview_p.h +++ b/src/widgets/itemviews/qabstractitemview_p.h @@ -383,6 +383,7 @@ public: QString keyboardInput; QElapsedTimer keyboardInputTime; + Qt::MatchFlags keyboardSearchFlags = Qt::MatchStartsWith | Qt::MatchWrap; bool autoScroll; QBasicTimer autoScrollTimer; diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp index da1fbbd60df..84ff04c9f34 100644 --- a/src/widgets/itemviews/qtreeview.cpp +++ b/src/widgets/itemviews/qtreeview.cpp @@ -1030,7 +1030,8 @@ void QTreeView::keyboardSearch(const QString &search) searchFrom = searchFrom.sibling(searchFrom.row(), start.column()); if (searchFrom.parent() == start.parent()) searchFrom = start; - QModelIndexList match = d->model->match(searchFrom, Qt::DisplayRole, searchString); + QModelIndexList match = d->model->match(searchFrom, Qt::DisplayRole, searchString, 1, + keyboardSearchFlags()); if (match.size()) { int hitIndex = d->viewIndex(match.at(0)); if (hitIndex >= 0 && hitIndex < startIndex) diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 53ce4dd8211..fa95a1d2538 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -1508,11 +1508,15 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason) return; } - if (focus && (reason == Qt::BacktabFocusReason || reason == Qt::TabFocusReason) - && qt_in_tab_key_event) - focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); - else if (focus && reason == Qt::ShortcutFocusReason) { - focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); + if (focus) { + if ((reason == Qt::BacktabFocusReason || reason == Qt::TabFocusReason) + && qt_in_tab_key_event) + focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); + else if (reason == Qt::ShortcutFocusReason) { + focus->window()->setAttribute(Qt::WA_KeyboardFocusChange); + } else { + focus->window()->setAttribute(Qt::WA_KeyboardFocusChange, false); + } } QWidget *prev = focus_widget; focus_widget = focus; diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 82d16cb1252..b2cfb27e814 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -3419,29 +3419,28 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC } QRect gr = subControlRect(cc, opt, SC_SliderGroove, w); - if (slider->subControls & SC_SliderGroove) { + if (slider->subControls & SC_SliderGroove) grooveSubRule.drawRule(p, gr); - } if (slider->subControls & SC_SliderHandle) { QRect hr = subControlRect(cc, opt, SC_SliderHandle, w); - QRenderRule subRule1 = renderRule(w, opt, PseudoElement_SliderSubPage); - if (subRule1.hasDrawable()) { - QRect r(gr.topLeft(), - slider->orientation == Qt::Horizontal - ? QPoint(hr.x()+hr.width()/2, gr.y()+gr.height() - 1) - : QPoint(gr.x()+gr.width() - 1, hr.y()+hr.height()/2)); - subRule1.drawRule(p, r); - } - - QRenderRule subRule2 = renderRule(w, opt, PseudoElement_SliderAddPage); - if (subRule2.hasDrawable()) { - QRect r(slider->orientation == Qt::Horizontal - ? QPoint(hr.x()+hr.width()/2+1, gr.y()) - : QPoint(gr.x(), hr.y()+hr.height()/2+1), - gr.bottomRight()); - subRule2.drawRule(p, r); + if (slider->subControls & SC_SliderGroove) { + const bool isHor = slider->orientation == Qt::Horizontal; + QRenderRule subRule1 = renderRule(w, opt, PseudoElement_SliderSubPage); + if (subRule1.hasDrawable()) { + QRect r(gr.topLeft(), + isHor ? QPoint(hr.x() + hr.width() / 2, gr.y() + gr.height() - 1) + : QPoint(gr.x() + gr.width() - 1, hr.y() + hr.height() / 2)); + subRule1.drawRule(p, r); + } + QRenderRule subRule2 = renderRule(w, opt, PseudoElement_SliderAddPage); + if (subRule2.hasDrawable()) { + QRect r(isHor ? QPoint(hr.x() + hr.width() / 2 + 1, gr.y()) + : QPoint(gr.x(), hr.y() + hr.height() / 2 + 1), + gr.bottomRight()); + subRule2.drawRule(p, r); + } } handleSubRule.drawRule(p, handleSubRule.boxRect(hr, Margin)); diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index 1ca6b8a47a1..7aff0da3327 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -2220,7 +2220,7 @@ QMdiSubWindow::QMdiSubWindow(QWidget *parent, Qt::WindowFlags flags) d->titleBarPalette = d->desktopPalette(); d->font = QApplication::font("QMdiSubWindowTitleBar"); // We don't want the menu icon by default on mac. -#ifndef Q_OS_MAC +#ifndef Q_OS_DARWIN if (windowIcon().isNull()) d->menuIcon = style()->standardIcon(QStyle::SP_TitleBarMenuButton, nullptr, this); else @@ -2847,8 +2847,11 @@ bool QMdiSubWindow::event(QEvent *event) break; case QEvent::WindowIconChange: d->menuIcon = windowIcon(); + // We don't want the default menu icon on mac. +#ifndef Q_OS_DARWIN if (d->menuIcon.isNull()) d->menuIcon = style()->standardIcon(QStyle::SP_TitleBarMenuButton, nullptr, this); +#endif if (d->controlContainer) d->controlContainer->updateWindowIcon(d->menuIcon); if (!maximizedSystemMenuIconWidget()) diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 7d4228709be..92ff14dd44f 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -771,7 +771,8 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason #endif hideMenu(hideActiveMenu); } else if (!currentAction || !currentAction->menu()) { - sloppyState.startTimerIfNotRunning(); + if (reason != SelectionReason::SelectedFromAPI) + sloppyState.startTimerIfNotRunning(); } } } @@ -2172,7 +2173,7 @@ void QMenu::hideTearOffMenu() void QMenu::setActiveAction(QAction *act) { Q_D(QMenu); - d->setCurrentAction(act, 0); + d->setCurrentAction(act, 0, QMenuPrivate::SelectionReason::SelectedFromAPI); if (d->scroll && act) d->scrollMenu(act, QMenuPrivate::QMenuScroller::ScrollCenter); } @@ -2971,7 +2972,7 @@ void QMenu::mouseReleaseEvent(QMouseEvent *e) #endif d->activateAction(action, QAction::Trigger); } - } else if (!action || action->isEnabled()) { + } else if (!action || (action->isEnabled() && !action->isSeparator())) { d->hideUpToMenuBar(); } } diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index dd1f058a288..d9dcd7d0362 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -362,7 +362,8 @@ public: } delayState; enum SelectionReason { SelectedFromKeyboard, - SelectedFromElsewhere + SelectedFromAPI, + SelectedFromElsewhere, }; enum class SelectionDirection { Up, |
